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