Hello, Running t7527 on macOS with encrypted APFS filesystem. I observes intermittent failure, however, when I manually check the test cases, they're all passed. I suspected fileystem caching issue. I added those sync-s into test steps and the test pass. I'm not sure if this is the intending "fix" for the tests since we're testing the fsmonitor with t7527. Please advise! P/S: When debugging, I also found out that: "test-tool fsmonitor-client query" doesn't write the final newline character, thus making the output harder to read. The diff also have the final newline added. ----- 8< ------- diff --git a/t/helper/test-fsmonitor-client.c b/t/helper/test-fsmonitor-client.c index 54a4856c48..98d6cf1440 100644 --- a/t/helper/test-fsmonitor-client.c +++ b/t/helper/test-fsmonitor-client.c @@ -55,6 +55,7 @@ static int do_send_query(const char *token) write_in_full(1, answer.buf, answer.len); strbuf_release(&answer); + write_in_full(1, "\n", 1); return 0; } @@ -77,6 +78,7 @@ static int do_send_flush(void) write_in_full(1, answer.buf, answer.len); strbuf_release(&answer); + write_in_full(1, "\n", 1); return 0; } diff --git a/t/t7527-builtin-fsmonitor.sh b/t/t7527-builtin-fsmonitor.sh index 56c0dfffea..3f2cef251d 100755 --- a/t/t7527-builtin-fsmonitor.sh +++ b/t/t7527-builtin-fsmonitor.sh @@ -430,6 +430,7 @@ test_expect_success 'edit some files' ' edit_files && test-tool fsmonitor-client query --token 0 && + sync && grep "^event: dir1/modified$" .git/trace && grep "^event: dir2/modified$" .git/trace && @@ -445,6 +446,7 @@ test_expect_success 'create some files' ' create_files && test-tool fsmonitor-client query --token 0 && + sync && grep "^event: dir1/new$" .git/trace && grep "^event: dir2/new$" .git/trace && @@ -459,6 +461,7 @@ test_expect_success 'delete some files' ' delete_files && test-tool fsmonitor-client query --token 0 && + sync && grep "^event: dir1/delete$" .git/trace && grep "^event: dir2/delete$" .git/trace && @@ -473,6 +476,7 @@ test_expect_success 'rename some files' ' rename_files && test-tool fsmonitor-client query --token 0 && + sync && grep "^event: dir1/rename$" .git/trace && grep "^event: dir2/rename$" .git/trace && @@ -490,6 +494,7 @@ test_expect_success 'rename directory' ' mv dirtorename dirrenamed && test-tool fsmonitor-client query --token 0 && + sync && grep "^event: dirtorename/*$" .git/trace && grep "^event: dirrenamed/*$" .git/trace @@ -503,6 +508,7 @@ test_expect_success 'file changes to directory' ' file_to_directory && test-tool fsmonitor-client query --token 0 && + sync && grep "^event: delete$" .git/trace && grep "^event: delete/new$" .git/trace @@ -516,6 +522,7 @@ test_expect_success 'directory changes to a file' ' directory_to_file && test-tool fsmonitor-client query --token 0 && + sync && grep "^event: dir1$" .git/trace ' ---- >8 -------------- -- Danh