git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/2] Test suite fixup.

From
Junio C Hamano <junkio@cox.net>
Date
May 14, 2005, 07:24 UTC
Message-ID
<7vzmuy46dw.fsf@assigned-by-dhcp.cox.net>

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>
---
This is on top of the two "test suite take 2" patches.

t/t1000-checkout-cache.sh | 9 +++------ t/t1001-checkout-cache.sh | 15 ++++++--------- t/test-lib.sh | 15 +++++++++------ 3 files changed, 18 insertions(+), 21 deletions(-)

--- a/t/t1000-checkout-cache.sh
+++ b/t/t1000-checkout-cache.sh
@@ -44,12 +44,9 @@
     '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
 
--- a/t/t1001-checkout-cache.sh
+++ b/t/t1001-checkout-cache.sh
@@ -76,15 +76,12 @@
     '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
 
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -50,6 +50,8 @@
 	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 ;;
@@ -74,15 +76,16 @@
 	test "$debug" == "" || eval "$1"
 }
 
-test_ok () {
+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 "NO #$test_count: $@"
+	test "$immediate" == "" || exit 1
 }
 
 test_expect_failure () {
@@ -91,9 +94,9 @@
 	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 +106,9 @@
 	say >&3 "expecting success: $2"
 	if eval >&3 2>&4 "$2"
 	then
-		test_ok "$1"
+		test_ok_ "$1"
 	else
-		test_failure "$@"
+		test_failure_ "$@"
 	fi
 }
 
Message 1 of 1 in “Test suite fixup.”
  1. 1/2 Test suite fixup.Junio C Hamano, May 14, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.