t5510: run auto-gc in the foreground

The last test added to 't5510-fetch' in 0898c9628104 (fetch: release pack files before garbage-collecting, 2016-01-13) may sporadically trigger following error message from the test harness: rm: cannot remove 'trash directory.t5510-fetch/auto-gc/.git': Directory not empty The test in question forces an auto-gc, which, if the system supports it, runs in the background by default, and occasionally takes long enough for the test to finish and for 'test_done' to start housekeeping. This can lead to the test's 'git gc --auto' in the background and 'test_done's 'rm -rf $trash' in the foreground racing each other to create and delete files and directories. It might just happen that 'git gc' re-creates a directory that 'rm -rf' already visited and removed, which ultimately triggers the above error. Disable detaching the auto-gc process to ensure that it finishes before the test can continue, thus avoiding this racy situation. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Reviewed-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>

SZEDER Gábor committed May 1, 2016 at 17:37 UTC bb05510e55796194540ed4e50a62771489c59a04
1 file changed +1
t/t5510-fetch.sh
+1
@@ -718,6 +718,7 @@ test_expect_success 'fetching with auto-gc does not lock up' '
718 (
719 cd auto-gc &&
720 git config gc.autoPackLimit 1 &&
721 + git config gc.autoDetach false &&
722 GIT_ASK_YESNO="$D/askyesno" git fetch >fetch.out 2>&1 &&
723 ! grep "Should I try again" fetch.out
724 )