aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Peart <benpeart@microsoft.com>2017-09-22 12:35:44 -0400
committerJunio C Hamano <gitster@pobox.com>2017-10-01 17:23:05 +0900
commitdd3551f4918967f7153150fd615054d7878490e4 (patch)
treefe0162f122526187fde33f5ea62344b8e71970d9
parent9d406cba45c871e1a777e43b37eade36ef091528 (diff)
downloadgit-dd3551f4918967f7153150fd615054d7878490e4.tar.gz
git-dd3551f4918967f7153150fd615054d7878490e4.tar.xz
fsmonitor: add a test tool to dump the index extension
Add a test utility (test-dump-fsmonitor) that will dump the fsmonitor index extension. Signed-off-by: Ben Peart <benpeart@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--Makefile1
-rw-r--r--t/helper/.gitignore1
-rw-r--r--t/helper/test-dump-fsmonitor.c21
3 files changed, 23 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 9d6ec9c1e..d970cd00e 100644
--- a/Makefile
+++ b/Makefile
@@ -639,6 +639,7 @@ TEST_PROGRAMS_NEED_X += test-config
TEST_PROGRAMS_NEED_X += test-date
TEST_PROGRAMS_NEED_X += test-delta
TEST_PROGRAMS_NEED_X += test-dump-cache-tree
+TEST_PROGRAMS_NEED_X += test-dump-fsmonitor
TEST_PROGRAMS_NEED_X += test-dump-split-index
TEST_PROGRAMS_NEED_X += test-dump-untracked-cache
TEST_PROGRAMS_NEED_X += test-fake-ssh
diff --git a/t/helper/.gitignore b/t/helper/.gitignore
index 721650256..f97400b8c 100644
--- a/t/helper/.gitignore
+++ b/t/helper/.gitignore
@@ -4,6 +4,7 @@
/test-date
/test-delta
/test-dump-cache-tree
+/test-dump-fsmonitor
/test-dump-split-index
/test-dump-untracked-cache
/test-fake-ssh
diff --git a/t/helper/test-dump-fsmonitor.c b/t/helper/test-dump-fsmonitor.c
new file mode 100644
index 000000000..ad452707e
--- /dev/null
+++ b/t/helper/test-dump-fsmonitor.c
@@ -0,0 +1,21 @@
+#include "cache.h"
+
+int cmd_main(int ac, const char **av)
+{
+ struct index_state *istate = &the_index;
+ int i;
+
+ setup_git_directory();
+ if (do_read_index(istate, get_index_file(), 0) < 0)
+ die("unable to read index file");
+ if (!istate->fsmonitor_last_update) {
+ printf("no fsmonitor\n");
+ return 0;
+ }
+ printf("fsmonitor last update %"PRIuMAX"\n", (uintmax_t)istate->fsmonitor_last_update);
+
+ for (i = 0; i < istate->cache_nr; i++)
+ printf((istate->cache[i]->ce_flags & CE_FSMONITOR_VALID) ? "+" : "-");
+
+ return 0;
+}