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:
@@ -162,3 +162,11 @@ skip() {
|
|||||||
extract_child_pid() {
|
extract_child_pid() {
|
||||||
grep child-pid "$1" | sed "s/^.*: \([0-9]*\).*/\1/"
|
grep child-pid "$1" | sed "s/^.*: \([0-9]*\).*/\1/"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
Reference in New Issue
Block a user