Add start of regression testing of packages
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.
This commit is contained in:
parent
76d22fff18
commit
4a9eb8522e
1
packages/ruby/tests/default_encoding_isutf8.sh
Normal file
1
packages/ruby/tests/default_encoding_isutf8.sh
Normal file
@ -0,0 +1 @@
|
||||
assert_equals '#<Encoding:UTF-8>' `ruby -e 'p Encoding.default_external'`
|
2
packages/ruby/tests/extension_modules_installed.sh
Normal file
2
packages/ruby/tests/extension_modules_installed.sh
Normal file
@ -0,0 +1,2 @@
|
||||
ruby -e "require 'readline'"
|
||||
ruby -e "require 'openssl'"
|
42
scripts/test-runner.sh
Executable file
42
scripts/test-runner.sh
Executable file
@ -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
Block a user