summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSimon McVittie <smcv@collabora.com>2021-04-18 12:45:24 +0100
committerSimon McVittie <smcv@collabora.com>2021-06-18 09:49:53 +0100
commitd7cdde5d3445e004c783f86a985d58725f3e6646 (patch)
treea125727c38f564c372532f197b4d010be95e10f8 /tests
parentc934fc8f9904d66c443d784ec3f93209b7b9f1b0 (diff)
downloadostree-d7cdde5d3445e004c783f86a985d58725f3e6646.tar.gz
libtest-core: On failure, make it clearer what has happened
If we fail as a result of `set -x`, It's often not completely obvious which command failed or how. Use a trap on ERR to show the command that failed, and its exit status. Signed-off-by: Simon McVittie <smcv@collabora.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/kolainst/libtest-core.sh8
1 files changed, 8 insertions, 0 deletions
diff --git a/tests/kolainst/libtest-core.sh b/tests/kolainst/libtest-core.sh
index 471a63f0..7179a408 100644
--- a/tests/kolainst/libtest-core.sh
+++ b/tests/kolainst/libtest-core.sh
@@ -179,3 +179,11 @@ skip() {
echo "1..0 # SKIP" "$@"
exit 0
}
+
+report_err () {
+ local exit_status="$?"
+ { { local BASH_XTRACEFD=3; } 2> /dev/null
+ echo "Unexpected nonzero exit status $exit_status while running: $BASH_COMMAND" >&2
+ } 3> /dev/null
+}
+trap report_err ERR