summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSZEDER Gábor <szeder.dev@gmail.com>2017-04-20 18:52:30 +0200
committerJunio C Hamano <gitster@pobox.com>2017-04-23 16:55:46 -0700
commitdf4c0d1a7927e17e7944ec24fa94468eee979f6e (patch)
tree022d8a7efabbe21b055d0294764429b0fe93ceff
parentef09036cf34c2e5704c753a4ffb3c947a89402af (diff)
downloadgit-df4c0d1a7927e17e7944ec24fa94468eee979f6e.tar.gz
test-lib: abort when can't remove trash directory
We had two similar bugs in the tests sporadically triggering error messages during the removal of the trash directory, see commits bb05510e5 (t5510: run auto-gc in the foreground, 2016-05-01) and ef09036cf (t6500: wait for detached auto gc at the end of the test script, 2017-04-13). The test script succeeded nonetheless, because these errors are ignored during housekeeping in 'test_done'. However, such an error is a sign that something is fishy in the test script. Print an error message and abort the test script when the trash directory can't be removed successfully or is already removed, because that's unexpected and we would prefer somebody notice and figure out why. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--t/test-lib.sh7
1 files changed, 5 insertions, 2 deletions
diff --git a/t/test-lib.sh b/t/test-lib.sh
index cde7fc7fcf..cb0766b9ee 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -760,9 +760,12 @@ test_done () {
say "1..$test_count$skip_all"
fi
- test -d "$remove_trash" &&
+ test -d "$remove_trash" ||
+ error "Tests passed but trash directory already removed before test cleanup; aborting"
+
cd "$(dirname "$remove_trash")" &&
- rm -rf "$(basename "$remove_trash")"
+ rm -rf "$(basename "$remove_trash")" ||
+ error "Tests passed but test cleanup failed; aborting"
test_at_end_hook_