Handle a revision that only creates a new tag correctly.
[gitweb.git] / t / test-lib.sh
index abcf90323eb408121115e97bb67ba1b3e45a345b..a8f239df8fc45575ca543208c2bcad771d3f4d7e 100755 (executable)
@@ -5,9 +5,10 @@
 
 # For repeatability, reset the environment to known value.
 LANG=C
+LC_ALL=C
 PAGER=cat
 TZ=UTC
-export LANG PAGER TZ
+export LANG LC_ALL PAGER TZ
 unset AUTHOR_DATE
 unset AUTHOR_EMAIL
 unset AUTHOR_NAME
@@ -36,6 +37,7 @@ unset SHA1_FILE_DIRECTORY
 
 error () {
        echo "* error: $*"
+       trap - exit
        exit 1
 }
 
@@ -74,6 +76,8 @@ fi
 test_failure=0
 test_count=0
 
+trap 'echo >&5 "FATAL: Unexpected exit with code $?"; exit 1' exit
+
 
 # You are not expected to call test_ok_ and test_failure_ directly, use
 # the text_expect_* functions instead.
@@ -89,7 +93,7 @@ test_failure_ () {
        say "FAIL $test_count: $1"
        shift
        echo "$@" | sed -e 's/^/        /'
-       test "$immediate" = "" || exit 1
+       test "$immediate" = "" || { trap - exit; exit 1; }
 }
 
 
@@ -98,10 +102,8 @@ test_debug () {
 }
 
 test_run_ () {
-       trap 'echo >&5 "FATAL: Unexpected exit with code $?"; exit 1' exit
        eval >&3 2>&4 "$1"
        eval_ret="$?"
-       trap - exit
        return 0
 }
 
@@ -132,6 +134,7 @@ test_expect_success () {
 }
 
 test_done () {
+       trap - exit
        case "$test_failure" in
        0)      
                # We could:
@@ -161,4 +164,8 @@ test=trash
 rm -fr "$test"
 mkdir "$test"
 cd "$test"
-git-init-db 2>/dev/null || error "cannot run git-init-db"
+git-init-db --template=../../templates/blt/ 2>/dev/null ||
+error "cannot run git-init-db"
+
+mv .git/hooks .git/hooks-disabled
+