Subject: [PATCH 3/2] test: factor out helper function test_must_contain

From: René Scharfe <[email-masked]>
Date: Fri, 20 Nov 2015 21:50:09 +0100

Extract a helper function for searching for a pattern in a file and
printing the whole file if the pattern is not found.  It is useful
when starting tests with --verbose for debugging purposes.

Signed-off-by: Rene Scharfe <[email-masked]>
---
 t/t0008-ignores.sh      | 10 +---------
 t/test-lib-functions.sh | 12 ++++++++++++
 2 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/t/t0008-ignores.sh b/t/t0008-ignores.sh
index 4ef5ed4..0414c01 100755
--- a/t/t0008-ignores.sh
+++ b/t/t0008-ignores.sh
@@ -46,15 +46,7 @@ broken_c_unquote_verbose () {
 }
 
 stderr_contains () {
-	regexp="$1"
-	if grep "$regexp" "$HOME/stderr"
-	then
-		return 0
-	else
-		echo "didn't find /$regexp/ in $HOME/stderr"
-		cat "$HOME/stderr"
-		return 1
-	fi
+	test_must_contain "$1" "$HOME/stderr"
 }
 
 stderr_empty_on_success () {
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
index 73e37a1..eb44cb4 100644
--- a/t/test-lib-functions.sh
+++ b/t/test-lib-functions.sh
@@ -689,6 +689,18 @@ test_must_be_empty () {
 	fi
 }
 
+# Check if a file contains an expected pattern.
+test_must_contain () {
+	if grep "$1" "$2"
+	then
+		return 0
+	else
+		echo "didn't find /$1/ in '$2', it contains:"
+		cat "$2"
+		return 1
+	fi
+}
+
 # Tests that its two parameters refer to the same revision
 test_cmp_rev () {
 	git rev-parse --verify "$1" >expect.rev &&
-- 
2.6.3