w00t tests
This commit is contained in:
51
test/runner
Normal file
51
test/runner
Normal file
@@ -0,0 +1,51 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user