From: Junio C Hamano Date: Sat, 14 May 2005 07:24:27 +0000 (-0700) Subject: [PATCH 1/2] Test suite fixup. X-Git-Tag: v0.99~576 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=886856aba21b5e6ee41e9e91c9e6fcebc7a5ad1c;p=git.git [PATCH 1/2] Test suite fixup. 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 Signed-off-by: Petr Baudis --- diff --git a/t/t1000-checkout-cache.sh b/t/t1000-checkout-cache.sh index c10b6be0f..a2c42602d 100755 --- a/t/t1000-checkout-cache.sh +++ b/t/t1000-checkout-cache.sh @@ -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 diff --git a/t/t1001-checkout-cache.sh b/t/t1001-checkout-cache.sh index 73d92b219..f0e3d1d8c 100755 --- a/t/t1001-checkout-cache.sh +++ b/t/t1001-checkout-cache.sh @@ -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 diff --git a/t/test-lib.sh b/t/test-lib.sh index 9b88cc4f8..d3f71d193 100755 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -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 }