w00t tests

This commit is contained in:
vlad 2021-12-20 18:42:18 -08:00
parent fdef1f627c
commit 9aa75c1170
4 changed files with 76 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.generated

51
test/runner Normal file
View 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
View 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

7
⚡️ Normal file
View File

@ -0,0 +1,7 @@
#!/usr/bin/env bash
main() {
⚡️$1
}
main "$@"