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

[PATCH 1/3] test-lib: tests can have multiple prerequisites

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Apr 21, 2010, 13:38 UTC
Message-ID
<20100421133806.GA5595@progeny.tock>
In-Reply-To
<20100421131255.GA2750@progeny.tock>

Treat the prereq argument to test_expect_success and test_expect_failure as a space-separated list of prerequisites.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
Alas, I didn’t notice the thread with the almost identical patch [1]
before writing this one.

Since I am painting it, I prefer this way. I find it intuitive and can’t really see where the fuss about using some other coding style came from. So I would be very happy if someone who does understand the fuss could come up with a comment to add to the commit message about this. :)

 t/test-lib.sh |   17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/t/test-lib.sh b/t/test-lib.sh
index c582964..a53b6cf 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -315,12 +315,15 @@ test_set_prereq () {
 satisfied=" "
 
 test_have_prereq () {
-	case $satisfied in
-	*" $1 "*)
-		: yes, have it ;;
-	*)
-		! : nope ;;
-	esac
+	for prereq_to_test
+	do
+		case $satisfied in
+		*" $prereq_to_test "*)
+			: yes, have it ;;
+		*)
+			return 1 ;;
+		esac
+	done
 }
 
 # You are not expected to call test_ok_ and test_failure_ directly, use
@@ -370,7 +373,7 @@ test_skip () {
 		esac
 	done
 	if test -z "$to_skip" && test -n "$prereq" &&
-	   ! test_have_prereq "$prereq"
+	   ! test_have_prereq $prereq
 	then
 		to_skip=t
 	fi
-- 
1.7.1.rc1
Previous: Jonathan NiederNext: Jonathan Nieder
Message 2 of 8 in “running tests as fakeroot”
  1. 0/3 running tests as fakerootJonathan Nieder, Apr 21, 2010
  2. 1/3 test-lib: tests can have multiple prerequisitesJonathan Nieder, Apr 21, 2010
  3. Jonathan NiederApr 21, 2010
  4. Jeff KingApr 26, 2010
  5. Junio C HamanoApr 27, 2010
  6. Jeff KingApr 27, 2010
  7. 2/3 t1004 (read-tree): the unremovable symlink test requires POSIXPERMJonathan Nieder, Apr 21, 2010
  8. 3/3 Permit tests to be run as a (fake) root userJonathan Nieder, Apr 21, 2010

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.