|
|
|
@ -86,13 +86,14 @@ function dump_stacktrace { |
|
|
|
|
|
|
|
function on_exit { |
|
|
|
code="${1:-0}" |
|
|
|
failure_type="${failure_type:-UNDEFINED}" |
|
|
|
|
|
|
|
2>&3 >&3 dump_stderr |
|
|
|
if [[ -v failure_type ]]; then |
|
|
|
2>&3 >&3 dump_failure |
|
|
|
2>&3 >&3 dump_stacktrace |
|
|
|
fi |
|
|
|
|
|
|
|
miaou_debug "on_exit $code $failure_type" |
|
|
|
miaou_debug "on_exit $code" |
|
|
|
} |
|
|
|
|
|
|
|
function on_pipe { |
|
|
|
@ -131,12 +132,16 @@ set -euo pipefail |
|
|
|
set -E # HALT on subshell error |
|
|
|
# set -T # DEBUG RETURN |
|
|
|
|
|
|
|
[[ $# -lt 1 ]] && >&2 echo 'ERROR: script expected!' && builtin exit 1 |
|
|
|
BASH_ARGV0="$1" && shift # to pretend script runs by itself |
|
|
|
|
|
|
|
trap 'on_error $?' ERR |
|
|
|
trap 'on_exit $?' EXIT |
|
|
|
trap 'on_pipe' PIPE |
|
|
|
|
|
|
|
echo "--SOURCE scenario ${BASHPID}" |
|
|
|
miaou_debug "--source from ${BASHPID}" |
|
|
|
exec 3>/dev/stderr |
|
|
|
2>"$MIAOU_BASH_ERROR" source ./test/stub/scenario.bash subshell_term |
|
|
|
# shellcheck source=/dev/null |
|
|
|
2>"$MIAOU_BASH_ERROR" source "$BASH_ARGV0" |
|
|
|
exec 3>- |
|
|
|
echo "--SUCCESS scenario" |
|
|
|
miaou_debug '--source success' |