52 lines
884 B
Plaintext
52 lines
884 B
Plaintext
|
#!/usr/bin/env bash
|
||
|
|
||
|
try() {
|
||
|
output=$(mktemp -d)
|
||
|
"$@" > "$output/stdout" 2> "$output/stderr"
|
||
|
EXIT_CODE=$?
|
||
|
STDOUT=$(<"$output/stdout")
|
||
|
STDERR=$(<"$output/stderr")
|
||
|
export EXIT_CODE STDOUT STDERR
|
||
|
rm -rf "$output"
|
||
|
}
|
||
|
|
||
|
setUp() {
|
||
|
export TMPDIR="$PWD/.generated"
|
||
|
}
|
||
|
|
||
|
tearDown() {
|
||
|
[ "${_shunit_test_:=}" = '' ] && return 0
|
||
|
if [ "${__shunit_testSuccess:?}" != 0 ]; then
|
||
|
output-outputs
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
output-outputs() {
|
||
|
(
|
||
|
bold '*******Test failed********'
|
||
|
echo "$(bold EXIT_CODE =) $EXIT_CODE"
|
||
|
bold STDOUT :
|
||
|
echo "$STDOUT"
|
||
|
bold STDERR :
|
||
|
echo "$STDERR"
|
||
|
) >&2
|
||
|
}
|
||
|
|
||
|
bold() {
|
||
|
echo -ne "\033[1m"
|
||
|
echo -ne "$@"
|
||
|
echo -e "\033[0m"
|
||
|
}
|
||
|
|
||
|
SHUNIT_PATH=./.generated/shunit2-2.1.8/shunit2
|
||
|
if [ ! -f $SHUNIT_PATH ]; then (
|
||
|
mkdir -p .generated
|
||
|
cd .generated
|
||
|
curl -LO https://github.com/kward/shunit2/archive/v2.1.8.zip
|
||
|
unzip v2.1.8.zip
|
||
|
)
|
||
|
fi
|
||
|
|
||
|
|
||
|
source $SHUNIT_PATH
|