qa_source() {
local shopts=$(shopt) OLDIFS="$IFS"
- source "$@" || return 1
+ local retval
+ source "$@"
+ retval=$?
[[ $shopts != $(shopt) ]] &&
eqawarn "QA Notice: Global shell options changed and were not restored while sourcing '$*'"
[[ "$IFS" != "$OLDIFS" ]] &&
eqawarn "QA Notice: Global IFS changed and was not restored while sourcing '$*'"
- return 0
+ return $retval
}
qa_call() {
local shopts=$(shopt) OLDIFS="$IFS"
- "$@" || return 1
+ local retval
+ "$@"
+ retval=$?
[[ $shopts != $(shopt) ]] &&
eqawarn "QA Notice: Global shell options changed and were not restored while calling '$*'"
[[ "$IFS" != "$OLDIFS" ]] &&
eqawarn "QA Notice: Global IFS changed and was not restored while calling '$*'"
- return 0
+ return $retval
}
# subshell die support