The process spawned in the hook uses the test's trash directory as CWD.
As long as it is alive, the directory cannot be removed on Windows.
Although the test succeeds, the 'test_done' that follows produces an
error message and leaves the trash directory around. Insert a delay to
give the hook time to go away.

Signed-off-by: Johannes Sixt <j...@kdbg.org>
---
 t/t6026-merge-attr.sh | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/t/t6026-merge-attr.sh b/t/t6026-merge-attr.sh
index dd8f88d..2c5b138 100755
--- a/t/t6026-merge-attr.sh
+++ b/t/t6026-merge-attr.sh
@@ -191,7 +191,10 @@ test_expect_success 'custom merge does not lock index' '
                "* merge=ours" "text merge=sleep-one-second" &&
        test_config merge.ours.driver true &&
        test_config merge.sleep-one-second.driver ./sleep-one-second.sh &&
-       git merge master
+       git merge master &&
+       # the trash directory cannot be removed on Windows until the hook
+       # does not occupy it for its CWD anymore; wait for it to quit:
+       sleep 1
 '
 
 test_done
-- 
2.10.0.85.gea34e30

Reply via email to