]> git.ipfire.org Git - thirdparty/git.git/blobdiff - t/test-lib.sh
test-lib.sh: do not barf under --debug at the end of the test
[thirdparty/git.git] / t / test-lib.sh
index b859db61ac0d034b8f2c14cea4a960a1a3d9f576..d2f9ad5ae5c9781206c7fab697f066f10d7a797d 100644 (file)
@@ -760,10 +760,16 @@ test_done () {
                        say "1..$test_count$skip_all"
                fi
 
-               test -d "$remove_trash" &&
-               cd "$(dirname "$remove_trash")" &&
-               rm -rf "$(basename "$remove_trash")"
+               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"
 
+               fi
                test_at_end_hook_
 
                exit 0 ;;
@@ -809,7 +815,14 @@ then
                return;
 
                base=$(basename "$1")
-               symlink_target=$GIT_BUILD_DIR/$base
+               case "$base" in
+               test-*)
+                       symlink_target="$GIT_BUILD_DIR/t/helper/$base"
+                       ;;
+               *)
+                       symlink_target="$GIT_BUILD_DIR/$base"
+                       ;;
+               esac
                # do not override scripts
                if test -x "$symlink_target" &&
                    test ! -d "$symlink_target" &&