]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t7527: FSMonitor tests for directory moves
authorJeff Hostetler <jeffhost@microsoft.com>
Thu, 26 May 2022 21:47:15 +0000 (21:47 +0000)
committerJunio C Hamano <gitster@pobox.com>
Thu, 26 May 2022 22:59:27 +0000 (15:59 -0700)
Create unit tests to move a directory.  Verify that `git status`
gives the same result with and without FSMonitor enabled.

Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t7527-builtin-fsmonitor.sh

index 12655958e719281685bf854ffebfd4ab31bafbb7..3bc335b891dcd4403b11fc39b9755bce6f2db333 100755 (executable)
@@ -274,6 +274,16 @@ test_expect_success 'setup' '
        trace*
        EOF
 
+       mkdir -p T1/T2/T3/T4 &&
+       echo 1 >T1/F1 &&
+       echo 1 >T1/T2/F1 &&
+       echo 1 >T1/T2/T3/F1 &&
+       echo 1 >T1/T2/T3/T4/F1 &&
+       echo 2 >T1/F2 &&
+       echo 2 >T1/T2/F2 &&
+       echo 2 >T1/T2/T3/F2 &&
+       echo 2 >T1/T2/T3/T4/F2 &&
+
        git -c core.fsmonitor=false add . &&
        test_tick &&
        git -c core.fsmonitor=false commit -m initial &&
@@ -356,6 +366,19 @@ directory_to_file () {
        echo 1 >dir1
 }
 
+move_directory_contents_deeper() {
+       mkdir T1/_new_ &&
+       mv T1/[A-Z]* T1/_new_
+}
+
+move_directory_up() {
+       mv T1/T2/T3 T1
+}
+
+move_directory() {
+       mv T1/T2/T3 T1/T2/NewT3
+}
+
 # The next few test cases confirm that our fsmonitor daemon sees each type
 # of OS filesystem notification that we care about.  At this layer we just
 # ensure we are getting the OS notifications and do not try to confirm what
@@ -660,6 +683,10 @@ do
                matrix_try $uc_val $fsm_val file_to_directory
                matrix_try $uc_val $fsm_val directory_to_file
 
+               matrix_try $uc_val $fsm_val move_directory_contents_deeper
+               matrix_try $uc_val $fsm_val move_directory_up
+               matrix_try $uc_val $fsm_val move_directory
+
                if test $fsm_val = true
                then
                        test_expect_success "Matrix[uc:$uc_val][fsm:$fsm_val] disable fsmonitor at end" '