t5510: run auto-gc in the foreground
authorSZEDER Gábor <szeder@ira.uka.de>
Sun, 1 May 2016 15:37:43 +0000 (17:37 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 2 May 2016 18:28:04 +0000 (11:28 -0700)
commitbb05510e55796194540ed4e50a62771489c59a04
tree018189044048e23a73d5915b1e38768e6387692d
parent816c19308b39d0f9f6d15e8320aa1d2ab148e3d2
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>
t/t5510-fetch.sh