Simplify die_if_error
* Replace die_if_error() with the simpler die()
* Attempt to clean up unnecessary trace output
* Formatting cleanups on all exercise scripts
Change-Id: I72a542b3a59ee9bf12bee6bcc605edd7579205e0
diff --git a/functions b/functions
index c4d56a2..7fd37c0 100644
--- a/functions
+++ b/functions
@@ -1,5 +1,9 @@
# functions - Common functions used by DevStack components
+# Save trace setting
+XTRACE=$(set +o | grep xtrace)
+set +o xtrace
+
# apt-get wrapper to set arguments correctly
# apt_get package [package ...]
@@ -22,15 +26,13 @@
}
-# Checks the exit code of the last command and prints "message"
-# if it is non-zero and exits
-# die_if_error "message"
-function die_if_error() {
+# Prints "message" and exits
+# die "message"
+function die() {
local exitcode=$?
- if [ $exitcode != 0 ]; then
- echo $@
- exit $exitcode
- fi
+ set +o xtrace
+ echo $@
+ exit $exitcode
}
@@ -39,12 +41,16 @@
# NOTE: env-var is the variable name without a '$'
# die_if_not_set env-var "message"
function die_if_not_set() {
- local exitcode=$?
- local evar=$1; shift
- if ! is_set $evar || [ $exitcode != 0 ]; then
- echo $@
- exit 99
- fi
+ (
+ local exitcode=$?
+ set +o xtrace
+ local evar=$1; shift
+ if ! is_set $evar || [ $exitcode != 0 ]; then
+ set +o xtrace
+ echo $@
+ exit -1
+ fi
+ )
}
@@ -143,3 +149,6 @@
[[ "1 yes true True TRUE" =~ "$testval" ]] && { echo "True"; return; }
echo "$default"
}
+
+# Restore xtrace
+$XTRACE
\ No newline at end of file