summaryrefslogtreecommitdiff
path: root/cogl
diff options
context:
space:
mode:
authorSimon McVittie <smcv@debian.org>2019-08-24 15:37:29 +0100
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2020-09-28 13:58:19 +0000
commit8ae641aa248fa36c626459fc6292e0615ad3b7ca (patch)
tree4971e61da7cc6082df4bebecc837ea781e3a2992 /cogl
parent9b9b912765f49553849e8c8aca7d2a75692ca9cc (diff)
downloadmutter-8ae641aa248fa36c626459fc6292e0615ad3b7ca.tar.gz
cogl tests: Show the actual output from tests if VERBOSE is set
Writing tests' output to a log file makes them difficult to debug when the test might be running on an autobuilder or CI system where only stdout/stderr are recorded. This is particularly troublesome if a failure is only reproducible on a particular autobuilder. Recent Automake versions have the convention that detailed output from failing tests is written to stdout/stderr, not just to log files, when the VERBOSE environment variable is set; borrow that convention as a trigger for producing detailed test output. This was originally cogl!14, but applies equally to mutter's fork of cogl. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1273 Signed-off-by: Simon McVittie <smcv@debian.org>
Diffstat (limited to 'cogl')
-rwxr-xr-xcogl/tests/run-tests.sh9
1 files changed, 8 insertions, 1 deletions
diff --git a/cogl/tests/run-tests.sh b/cogl/tests/run-tests.sh
index 825dd1251..ce7580fbe 100755
--- a/cogl/tests/run-tests.sh
+++ b/cogl/tests/run-tests.sh
@@ -1,5 +1,7 @@
#!/usr/bin/env bash
+set -o pipefail
+
if test -z "$G_DEBUG"; then
G_DEBUG=fatal-warnings
else
@@ -69,7 +71,12 @@ get_status()
run_test()
{
- $("$TEST_BINARY" "$1" &> "$LOG")
+ if [ -n "${VERBOSE-}" ]; then
+ echo "running $TEST_BINARY $1:"
+ $TEST_BINARY $1 2>&1 | tee "$LOG"
+ else
+ $($TEST_BINARY $1 &> "$LOG")
+ fi
TMP=$?
var_name=$2_result
eval "$var_name=$TMP"