aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Bennée <alex.bennee@linaro.org>2019-07-05 12:56:35 +0100
committerAlex Bennée <alex.bennee@linaro.org>2019-07-10 10:31:22 +0100
commitef860047b61ea4a5ad407496ab8cda6370a2d7d8 (patch)
tree5508512b33e87c3f62696db39bbacff40c1aabad
parentbd2c0f67e1f9e4b90d3020d004bd8d8d6655e88c (diff)
downloadqemu-ef860047b61ea4a5ad407496ab8cda6370a2d7d8.zip
qemu-ef860047b61ea4a5ad407496ab8cda6370a2d7d8.tar.gz
qemu-ef860047b61ea4a5ad407496ab8cda6370a2d7d8.tar.bz2
tests/tcg: fix diff-out pass to properly report failure
A side effect of piping the output to head is squash the exit status of the diff command. Fix this by only doing the pipe if the diff failed and then ensuring the status is non-zero. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
-rw-r--r--tests/tcg/Makefile6
1 files changed, 5 insertions, 1 deletions
diff --git a/tests/tcg/Makefile b/tests/tcg/Makefile
index 6fa63cc..9f56768 100644
--- a/tests/tcg/Makefile
+++ b/tests/tcg/Makefile
@@ -45,7 +45,11 @@ run-test = $(call quiet-command, timeout $(TIMEOUT) $2,"TEST",$3)
endif
# $1 = test name, $2 = reference
-diff-out = $(call quiet-command, diff -u $1.out $2 | head -n 10,"DIFF","$1.out with $2")
+# to work around the pipe squashing the status we only pipe the result if
+# we know it failed and then force failure at the end.
+diff-out = $(call quiet-command, diff -q $1.out $2 || \
+ (diff -u $1.out $2 | head -n 10 && false), \
+ "DIFF","$1.out with $2")
# $1 = test name, $2 = reason
skip-test = @printf " SKIPPED %s on $(TARGET_NAME) because %s\n" $1 $2