On test failures, print a bash stack trace
This makes it easier to identify what command failed. It looks like: follow-paths.sh: test failed at: main in follow-paths.sh:54
This commit is contained in:
parent
819615c7f4
commit
2532fee157
1 changed files with 15 additions and 4 deletions
|
@ -119,11 +119,11 @@ killDaemon() {
|
||||||
}
|
}
|
||||||
|
|
||||||
restartDaemon() {
|
restartDaemon() {
|
||||||
[[ -z "${pidDaemon:-}" ]] && return 0
|
[[ -z "${pidDaemon:-}" ]] && return 0
|
||||||
|
|
||||||
killDaemon
|
killDaemon
|
||||||
unset NIX_REMOTE
|
unset NIX_REMOTE
|
||||||
startDaemon
|
startDaemon
|
||||||
}
|
}
|
||||||
|
|
||||||
if [[ $(uname) == Linux ]] && [[ -L /proc/self/ns/user ]] && unshare --user true; then
|
if [[ $(uname) == Linux ]] && [[ -L /proc/self/ns/user ]] && unshare --user true; then
|
||||||
|
@ -190,4 +190,15 @@ if [[ -n "${NIX_DAEMON_PACKAGE:-}" ]]; then
|
||||||
startDaemon
|
startDaemon
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
onError() {
|
||||||
|
set +x
|
||||||
|
echo "$0: test failed at:" >&2
|
||||||
|
for ((i = 1; i < 16; i++)); do
|
||||||
|
if [[ -z ${BASH_SOURCE[i]} ]]; then break; fi
|
||||||
|
echo " ${FUNCNAME[i]} in ${BASH_SOURCE[i]}:${BASH_LINENO[i-1]}" >&2
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
trap onError ERR
|
||||||
|
|
||||||
fi # COMMON_SH_SOURCED
|
fi # COMMON_SH_SOURCED
|
||||||
|
|
Loading…
Reference in a new issue