aboutsummaryrefslogtreecommitdiff
path: root/t/helper
diff options
context:
space:
mode:
authorKevin Willford <kewillf@microsoft.com>2017-08-21 15:24:30 -0600
committerJunio C Hamano <gitster@pobox.com>2017-08-21 15:56:53 -0700
commit3921a0b3c3441d189f838656b30fbafa25e9eec4 (patch)
tree3da975e6d32e0345515a2e5d5f3e5e79056c3e4c /t/helper
parentb3622a4ee94e4916cd05e6d96e41eeb36b941182 (diff)
downloadgit-3921a0b3c3441d189f838656b30fbafa25e9eec4.tar.gz
git-3921a0b3c3441d189f838656b30fbafa25e9eec4.tar.xz
perf: add test for writing the index
A performance test for writing the index to be able to determine if changes to allocating ondisk structure help. Signed-off-by: Kevin Willford <kewillf@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/helper')
-rw-r--r--t/helper/test-write-cache.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/t/helper/test-write-cache.c b/t/helper/test-write-cache.c
new file mode 100644
index 000000000..b7ee03966
--- /dev/null
+++ b/t/helper/test-write-cache.c
@@ -0,0 +1,23 @@
+#include "cache.h"
+#include "lockfile.h"
+
+static struct lock_file index_lock;
+
+int cmd_main(int argc, const char **argv)
+{
+ int i, cnt = 1, lockfd;
+ if (argc == 2)
+ cnt = strtol(argv[1], NULL, 0);
+ setup_git_directory();
+ read_cache();
+ for (i = 0; i < cnt; i++) {
+ lockfd = hold_locked_index(&index_lock, LOCK_DIE_ON_ERROR);
+ if (0 <= lockfd) {
+ write_locked_index(&the_index, &index_lock, COMMIT_LOCK);
+ } else {
+ rollback_lock_file(&index_lock);
+ }
+ }
+
+ return 0;
+}