X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/76d22fff1897169d125809b7f78229fb8b26e096..4a9eb8522e1c718af5e77352801855a6020cd604:/scripts/test-runner.sh?ds=sidebyside diff --git a/scripts/test-runner.sh b/scripts/test-runner.sh new file mode 100755 index 00000000..e4868161 --- /dev/null +++ b/scripts/test-runner.sh @@ -0,0 +1,42 @@ +#!/data/data/com.termux/files/usr/bin/bash + +if [ $# != 1 ]; then + echo "Specify package to run tests for as only argument" + exit 1 +fi + +PACKAGE=$1 +TEST_DIR=packages/$PACKAGE/tests + +if [ ! -d $TEST_DIR ]; then + echo "ERROR: No tests folder for package $PACKAGE" + exit 1 +fi + +NUM_TESTS=0 +NUM_FAILURES=0 + +for TEST_SCRIPT in $TEST_DIR/*; do + test -t 1 && printf "\033[32m" + echo "Running test ${TEST_SCRIPT}..." + (( NUM_TESTS += 1 )) + test -t 1 && printf "\033[31m" + ( + assert_equals() { + FIRST=$1 + SECOND=$2 + if [ "$FIRST" != "$SECOND" ]; then + echo "assertion failed - expected '$FIRST', got '$SECOND'" + exit 1 + fi + } + set -e -u + . $TEST_SCRIPT + ) + if [ $? != 0 ]; then + (( NUM_FAILURES += 1 )) + fi + test -t 1 && printf "\033[0m" +done + +echo "$NUM_TESTS tests run - $NUM_FAILURES failure(s)"