Code

[PATCH 1/2] Test suite fixup.
authorJunio C Hamano <junkio@cox.net>
Sat, 14 May 2005 07:24:27 +0000 (00:24 -0700)
committerPetr Baudis <xpasky@machine.sinus.cz>
Sat, 14 May 2005 16:06:21 +0000 (18:06 +0200)
Exposing test_expect_success and test_expect_failure turns out
to be enough for the test scripts and there is no need for
exposing test_ok or test_failure.  This patch cleans it up and
fixes the users of test_ok and test_failure.

Also test scripts have acquired a new command line flag
'--immediate' to cause them to exit upon the first failure.
This is useful especially during the development of a new test.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Petr Baudis <pasky@ucw.cz>
t/t1000-checkout-cache.sh
t/t1001-checkout-cache.sh
t/test-lib.sh

index c10b6be0f9da4a706fbe05a31e9a494173699e60..a2c42602da15333e0e5d2f235d3a5a134ba269c3 100755 (executable)
@@ -44,12 +44,9 @@ test_expect_success \
     'git-checkout-cache with -f should succeed.' \
     'git-checkout-cache -f -a'
 
-if test -f path0 && test -d path1 && test -f path1/file1
-then
-       test_ok "checkout successful"
-else
-       test_failure "checkout failed"
-fi
+test_expect_success \
+    'git-checkout-cache conflicting paths.' \
+    'test -f path0 && test -d path1 && test -f path1/file1'
 
 test_done
 
index 73d92b219be200f31e9a829e7b32ef11535637dd..f0e3d1d8c34be7673210f38d7bd8a63d66fff44e 100755 (executable)
@@ -76,15 +76,12 @@ test_expect_success \
     'git-read-tree $tree2 && git-checkout-cache -f -a'
 test_debug show_files $tree2
 
-if test ! -h path0 && test -d path0 &&
-   test ! -h path1 && test -d path1 &&
-   test ! -h path0/file0 && test -f path0/file0 &&
-   test ! -h path1/file1 && test -f path1/file1
-then
-    test_ok "checked out correctly."
-else
-    test_failure "did not check out correctly."
-fi
+test_expect_success \
+    'checking out conflicting path with -f' \
+    'test ! -h path0 && test -d path0 &&
+     test ! -h path1 && test -d path1 &&
+     test ! -h path0/file0 && test -f path0/file0 &&
+     test ! -h path1/file1 && test -f path1/file1'
 
 test_done
 
index 9b88cc4f8678427f1bf22640138adc66d1090967..d3f71d1932310197219155b426687d155bf63c5b 100755 (executable)
@@ -50,6 +50,8 @@ do
        case "$1" in
        -d|--d|--de|--deb|--debu|--debug)
                debug=t; shift ;;
+       -i|--i|--im|--imm|--imme|--immed|--immedi|--immedia|--immediat|--immediate)
+               immediate=t; shift ;;
        -h|--h|--he|--hel|--help)
                echo "$test_description"
                exit 0 ;;
@@ -70,19 +72,25 @@ fi
 test_failure=0
 test_count=0
 
-test_debug () {
-       test "$debug" == "" || eval "$1"
-}
 
-test_ok () {
+# You are not expected to call test_ok_ and test_failure_ directly, use
+# the text_expect_* functions instead.
+
+test_ok_ () {
        test_count=$(expr "$test_count" + 1)
        say "  ok $test_count: $@"
 }
 
-test_failure () {
+test_failure_ () {
        test_count=$(expr "$test_count" + 1)
        test_failure=$(expr "$test_failure" + 1);
        say "FAIL $test_count: $@"
+       test "$immediate" == "" || exit 1
+}
+
+
+test_debug () {
+       test "$debug" == "" || eval "$1"
 }
 
 test_expect_failure () {
@@ -91,9 +99,9 @@ test_expect_failure () {
        say >&3 "expecting failure: $2"
        if eval >&3 2>&4 "$2"
        then
-               test_failure "$@"
+               test_failure_ "$@"
        else
-               test_ok "$1"
+               test_ok_ "$1"
        fi
 }
 
@@ -103,9 +111,9 @@ test_expect_success () {
        say >&3 "expecting success: $2"
        if eval >&3 2>&4 "$2"
        then
-               test_ok "$1"
+               test_ok_ "$1"
        else
-               test_failure "$@"
+               test_failure_ "$@"
        fi
 }