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>
This commit is contained in:
Simon McVittie 2021-04-18 12:45:24 +01:00
parent c934fc8f99
commit d7cdde5d34
1 changed files with 8 additions and 0 deletions

View File

@ -179,3 +179,11 @@ skip() {
echo "1..0 # SKIP" "$@" echo "1..0 # SKIP" "$@"
exit 0 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