diff options
author | Florian Pritz <bluewind@xinu.at> | 2015-02-05 21:49:12 +0100 |
---|---|---|
committer | Florian Pritz <bluewind@xinu.at> | 2015-02-05 21:49:12 +0100 |
commit | d3726c7c0e497def97efcf610fdcac9bbebb0f3e (patch) | |
tree | bed39120b332f763c65aa5fd63abec3941ce7bf9 /run-tests.sh | |
parent | db8a70bbcb941fde96a0ac98919702c49814d0c5 (diff) |
Add simple testsuite
Signed-off-by: Florian Pritz <bluewind@xinu.at>
Diffstat (limited to 'run-tests.sh')
-rwxr-xr-x | run-tests.sh | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/run-tests.sh b/run-tests.sh new file mode 100755 index 000000000..0b6cea761 --- /dev/null +++ b/run-tests.sh @@ -0,0 +1,59 @@ +#!/bin/bash +# +# This runs the testsuite +# +# If you have a local webserver call this script with it's URL. Otherwise the +# php dev server is used and that slows down tests a lot. +# + +startdir="$(dirname "$0")" +url="" +use_php_dev_server=0 + +if (($#>0)); then + url="$1" +fi + + +if [[ -z "$url" ]]; then + port=23115 + url="http://127.0.0.1:$port/index.php" + use_php_dev_server=1 +fi + +cd "$startdir" + +test -d system || exit 1 +test -d application || exit 1 +test -f run-tests.sh || exit 1 + +# prepare +cat <<EOF >application/config/database-testsuite.php || exit 1 +<?php +\$db['default']['dbprefix'] = "testsuite-prefix-"; +EOF + +if ((use_php_dev_server)); then + php -S 127.0.0.1:$port & + server_pid=$! + + while ! curl -s "$url" >/dev/null; do + sleep 0.2; + done +fi + +testpath="application/tests" +tests=($testpath/test_*.php) +tests=(${tests[@]#$testpath\/}) +tests=(${tests[@]%.php}) + +# run tests +php index.php tools update_database +prove -ve "php index.php tools test $url" "${tests[@]}" +php index.php tools drop_all_tables_using_prefix + +# cleanup +if ((use_php_dev_server)); then + kill $server_pid +fi +rm -f $startdir/application/config/database-testsuite.php |