+#!/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)"