[PATCH 3/3] test: suppress diff for broken test without V=1

Subject: [PATCH 3/3] test: suppress diff for broken test without V=1

Date: Sun, 26 Feb 2017 19:36:50 +0200

To: notmuch@notmuchmail.org

Cc:

From: Jani Nikula


Known broken tests are, well, known broken. Do not print the result
diff for them unless V=1 is specified. Now that the test description
is printed also when known broken tests fail, the user can also skip
to running the individual failing tests.
---
 test/Makefile.local |  2 +-
 test/test-lib.sh    | 10 ++++++++--
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/test/Makefile.local b/test/Makefile.local
index f8cf90d07e2d..4680597292cf 100644
--- a/test/Makefile.local
+++ b/test/Makefile.local
@@ -61,7 +61,7 @@ test-binaries: $(TEST_BINARIES)
 
 test:	all test-binaries
 ifeq ($V,)
-	@echo 'Use "$(MAKE) V=1" to print test headings and PASSing results.'
+	@echo 'Use "$(MAKE) V=1" to see the details for passing and known broken tests.'
 	@env NOTMUCH_TEST_QUIET=1 ${test_src_dir}/notmuch-test $(OPTIONS)
 else
 # The user has explicitly enabled quiet execution.
diff --git a/test/test-lib.sh b/test/test-lib.sh
index 2d9efa0ba799..eadfa31f850e 100644
--- a/test/test-lib.sh
+++ b/test/test-lib.sh
@@ -873,7 +873,9 @@ test_failure_message_ () {
 	say_color error "%-6s" "$1"
 	echo " $2"
 	shift 2
-	echo "$@" | sed -e 's/^/	/'
+	if [ "$#" != "0" ]; then
+		echo "$@" | sed -e 's/^/	/'
+	fi
 	if test "$verbose" != "t"; then cat test.output; fi
 }
 
@@ -887,7 +889,11 @@ test_known_broken_ok_ () {
 test_known_broken_failure_ () {
 	test_reset_state_
 	test_broken=$(($test_broken+1))
-	test_failure_message_ "BROKEN" "$test_subtest_name" "$@"
+	if [ -z "$NOTMUCH_TEST_QUIET" ]; then
+		test_failure_message_ "BROKEN" "$test_subtest_name" "$@"
+	else
+		test_failure_message_ "BROKEN" "$test_subtest_name"
+	fi
 	return 1
 }
 
-- 
2.11.0


Thread: