3 # Test if the named environment variable is set and not zero length
7 eval "[[ -n \"$var\" ]]"
10 # Prints backtrace info
11 # filename:lineno:function
16 deep=$((${#BASH_SOURCE[@]} - 1))
18 while [ $level -le $deep ]; do
19 echo "${BASH_SOURCE[$deep]}:${BASH_LINENO[$deep-1]}:${FUNCNAME[$deep-1]}"
24 # Prints line number and "message" in error format
25 # err $LINENO "message"
29 xtrace=$(set +o | grep xtrace)
31 local msg="[ERROR] ${BASH_SOURCE[2]}:$1 $2"
33 if [[ -n ${LOGDIR} ]]; then
34 echo $msg >> "${LOGDIR}/error.log"
40 # Prints line number and "message" then exits
41 # die $LINENO "message"
45 xtrace=$(set +o | grep xtrace)
48 if [ $exitcode == 0 ]; then
53 # Give buffers a second to flush
59 # Checks an environment variable is not set or has length 0 OR if the
60 # exit code is non-zero and prints "message" and exits
61 # NOTE: env-var is the variable name without a '$'
62 # die_if_not_set $LINENO env-var "message"
63 function die_if_not_set {
66 xtrace=$(set +o | grep xtrace)
70 if ! is_set $evar || [ $exitcode != 0 ]; then
76 # Wait until the condition is met.
77 # wait_until condition timeout interval
83 while eval ${condition}
86 timeout=$((${timeout} - ${interval}))
87 if [[ ${timeout} < 0 ]]; then
88 err $LINENO "timed out ($condition)..."