@@ -261,6 +261,16 @@ test_expect_success 'setup' '
261261 trace*
262262 EOF
263263
264+ mkdir -p T1/T2/T3/T4 &&
265+ echo 1 >T1/F1 &&
266+ echo 1 >T1/T2/F1 &&
267+ echo 1 >T1/T2/T3/F1 &&
268+ echo 1 >T1/T2/T3/T4/F1 &&
269+ echo 2 >T1/F2 &&
270+ echo 2 >T1/T2/F2 &&
271+ echo 2 >T1/T2/T3/F2 &&
272+ echo 2 >T1/T2/T3/T4/F2 &&
273+
264274 git -c core.fsmonitor=false add . &&
265275 test_tick &&
266276 git -c core.fsmonitor=false commit -m initial &&
@@ -354,6 +364,19 @@ verify_status () {
354364 echo HELLO AFTER
355365}
356366
367+ move_directory_contents_deeper () {
368+ mkdir T1/_new_
369+ mv T1/[A-Z]* T1/_new_
370+ }
371+
372+ move_directory_up () {
373+ mv T1/T2/T3 T1
374+ }
375+
376+ move_directory () {
377+ mv T1/T2/T3 T1/T2/NewT3
378+ }
379+
357380# The next few test cases confirm that our fsmonitor daemon sees each type
358381# of OS filesystem notification that we care about. At this layer we just
359382# ensure we are getting the OS notifications and do not try to confirm what
685708 matrix_try $uc_val $fsm_val file_to_directory
686709 matrix_try $uc_val $fsm_val directory_to_file
687710
711+ # NEEDSWORK: On Windows the untracked-cache is buggy when FSMonitor
712+ # is DISABLED. Turn off a few test that cause it problems until
713+ # we can debug it.
714+ #
715+ try_moves=" true"
716+ test_have_prereq UNTRACKED_CACHE,WINDOWS && \
717+ test $uc_val = true && \
718+ test $fsm_val = false && \
719+ try_moves=" false"
720+ if test $try_moves = true
721+ then
722+ matrix_try $uc_val $fsm_val move_directory_contents_deeper
723+ matrix_try $uc_val $fsm_val move_directory_up
724+ matrix_try $uc_val $fsm_val move_directory
725+ fi
726+
688727 if test $fsm_val = true
689728 then
690729 test_expect_success " Matrix[uc:$uc_val ][fsm:$fsm_val ] disable fsmonitor at end" '
0 commit comments