Browse Source
Current plan is to have a tests/ folder in packages, where each file in this folder is a shell script which indicates a test failure by a non-zero exit value.android-5
Fredrik Fornwall
9 years ago
3 changed files with 45 additions and 0 deletions
@ -0,0 +1 @@ |
|||
assert_equals '#<Encoding:UTF-8>' `ruby -e 'p Encoding.default_external'` |
@ -0,0 +1,2 @@ |
|||
ruby -e "require 'readline'" |
|||
ruby -e "require 'openssl'" |
@ -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)" |
Loading…
Reference in new issue