summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <junkio@cox.net>2005-05-14 00:24:27 -0700
committerLibravatar Petr Baudis <xpasky@machine.sinus.cz>2005-05-14 18:06:21 +0200
commit886856aba21b5e6ee41e9e91c9e6fcebc7a5ad1c (patch)
tree7568d3c23e69cf196ba5ba8bba935fc68dbeeeaf
parentTry to make test output look better (diff)
downloadtgif-886856aba21b5e6ee41e9e91c9e6fcebc7a5ad1c.tar.xz
[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 <junkio@cox.net> Signed-off-by: Petr Baudis <pasky@ucw.cz>
-rwxr-xr-xt/t1000-checkout-cache.sh9
-rwxr-xr-xt/t1001-checkout-cache.sh15
-rwxr-xr-xt/test-lib.sh26
3 files changed, 26 insertions, 24 deletions
diff --git a/t/t1000-checkout-cache.sh b/t/t1000-checkout-cache.sh
index c10b6be0f9..a2c42602da 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 73d92b219b..f0e3d1d8c3 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 9b88cc4f86..d3f71d1932 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
}