OSDN Git Service

test-lib.sh: do not barf under --debug at the end of the test
authorJunio C Hamano <gitster@pobox.com>
Tue, 25 Apr 2017 06:39:47 +0000 (23:39 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 25 Apr 2017 06:39:47 +0000 (23:39 -0700)
The original did "does $remove_trash exist?  Then go one level above
and remove it".  There was no problem under "--debug", where
the variable is left empty, as the first "test -d $remove_trash" would
have said "No, it doesn't".

With the check implemented in the previous step, we'd always get an
error under "--debug".

Noticed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/test-lib.sh

index cb0766b..d2f9ad5 100644 (file)
@@ -760,13 +760,16 @@ test_done () {
                        say "1..$test_count$skip_all"
                fi
 
-               test -d "$remove_trash" ||
-               error "Tests passed but trash directory already removed before test cleanup; aborting"
+               if test -n "$remove_trash"
+               then
+                       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")" ||
-               error "Tests passed but test cleanup failed; aborting"
+                       cd "$(dirname "$remove_trash")" &&
+                       rm -rf "$(basename "$remove_trash")" ||
+                       error "Tests passed but test cleanup failed; aborting"
 
+               fi
                test_at_end_hook_
 
                exit 0 ;;