#!/usr/bin/env bash # functions function assert { ./test/stub/scenario.bash "$1" >/dev/null || (echo "error in: $1" && exit 1) } function fail_type { stderr=$(./test/stub/scenario.bash "$1" 2>&1 >/dev/null) code="$?" regex="TYPE: $2" [[ "$code" != 0 ]] && [[ "$stderr" =~ $regex ]] || (echo "error in: $1" && exit 1) } # main assert success fail_type subshell_term 'SUBSHELL TERM' fail_type unbound_variable 'UNBOUND VARIABLE' fail_type false 'FALSE'