test: suppress diff for broken test without V=1

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.
This commit is contained in:
Jani Nikula 2017-02-26 19:36:50 +02:00 committed by David Bremner
parent 740f3296b8
commit 14c0862bac
2 changed files with 9 additions and 3 deletions

View file

@ -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.

View file

@ -866,7 +866,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
}
@ -880,7 +882,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
}