w00t tests
This commit is contained in:
parent
fdef1f627c
commit
9aa75c1170
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.generated
|
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
|
17
test/test-run
Normal file
17
test/test-run
Normal file
@ -0,0 +1,17 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
testDefiningALightningFunctionWorks() {
|
||||
echo '
|
||||
#!/usr/bin/env bash
|
||||
|
||||
⚡️hello() { echo "Hello, World!" ; }
|
||||
' > go
|
||||
|
||||
echo "source $(dirname $BASH_SOURCE)/../⚡️" >> go
|
||||
chmod +x go
|
||||
|
||||
try ./go hello
|
||||
assertEquals "Hello, World!" "$STDOUT"
|
||||
}
|
||||
|
||||
source $(dirname $0)/runner
|
Loading…
Reference in New Issue
Block a user