diff options
author | kartofen <mladenovnasko0@gmail.com> | 2023-04-30 13:21:44 +0300 |
---|---|---|
committer | kartofen <mladenovnasko0@gmail.com> | 2023-04-30 13:21:44 +0300 |
commit | d42853496fc976ef3d067af421a1a3811660033d (patch) | |
tree | 272ece830ae755e92f715b77f632e24b1adec2d8 /src/include/test-util.sh | |
parent | a78c52265d755a2294a743e186ad5a6b5456d9f1 (diff) |
i am getting tired of the makefile
Diffstat (limited to 'src/include/test-util.sh')
-rwxr-xr-x | src/include/test-util.sh | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/include/test-util.sh b/src/include/test-util.sh new file mode 100755 index 0000000..8af522f --- /dev/null +++ b/src/include/test-util.sh @@ -0,0 +1,53 @@ +#!/bin/sh + +function description { + echo "# DESCRIPTION: $1" +} + +# $1 is the number of total tests +function plan { + TESTS=$1; FAILED=0; CUR_TEST=0 + echo "1..$TESTS" +} + +function conclude { + PERC=$(echo "scale=2;100 * (1 - ($FAILED / $TESTS))" | bc) + echo "# CONCLUSION: ($PERC%) $FAILED out of $TESTS tests failed" + + if [ $TESTS -ne $CUR_TEST ]; then + echo -e "# expected $TESTS, but got $CUR_TEST tests" + fi + + if [ $FAILED -ne 0 ]; then + exit 1 + fi +} + +# $1 is the value to be tested +# $2 description +function ok { + CUR_TEST=$((CUR_TEST + 1)) + + if [ $1 -eq 0 ]; then + echo "ok $CUR_TEST - $2" + else + echo "not ok $CUR_TEST - $2" + echo -e " returned '$1'" + FAILED=$((FAILED + 1)) + fi +} + +# $1 is the expected value +# $2 is the actual value +# $3 description +function is { + CUR_TEST=$((CUR_TEST + 1)) + + if [ "$1" = "$2" ]; then + echo "ok $CUR_TEST - $3" + else + echo "not ok $CUR_TEST - $3" + echo -e " exptected '$2', but got '$1'" + FAILED=$((FAILED + 1)) + fi +} |