summaryrefslogtreecommitdiffstats
path: root/autotest.sh
diff options
context:
space:
mode:
Diffstat (limited to 'autotest.sh')
-rwxr-xr-xautotest.sh34
1 files changed, 30 insertions, 4 deletions
diff --git a/autotest.sh b/autotest.sh
index 3831e181245..a411780d49c 100755
--- a/autotest.sh
+++ b/autotest.sh
@@ -12,11 +12,37 @@ DATABASEUSER=oc_autotest$EXECUTOR_NUMBER
ADMINLOGIN=admin$EXECUTOR_NUMBER
BASEDIR=$PWD
+DBCONFIGS="sqlite mysql pgsql oci"
+
+function print_syntax {
+ echo -e "Syntax: ./autotest.sh [dbconfigname] [testfile]\n" >&2
+ echo -e "\t\"dbconfigname\" can be one of: $DBCONFIGS" >&2
+ echo -e "\t\"testfile\" is the name of a test file, for example lib/template.php" >&2
+ echo -e "\nExample: ./autotest.sh sqlite lib/template.php" >&2
+ echo "will run the test suite from \"tests/lib/template.php\"" >&2
+ echo -e "\nIf no arguments are specified, all tests will be run with all database configs" >&2
+}
+
if ! [ -w config -a -w config/config.php ]; then
echo "Please enable write permissions on config and config/config.php" >&2
exit 1
fi
+if [ $1 ]; then
+ FOUND=0
+ for DBCONFIG in $DBCONFIGS; do
+ if [ $1 = $DBCONFIG ]; then
+ FOUND=1
+ break
+ fi
+ done
+ if [ $FOUND = 0 ]; then
+ echo -e "Unknown database config name \"$1\"\n" >&2
+ print_syntax
+ exit 2
+ fi
+fi
+
# Back up existing (dev) config if one exists
if [ -f config/config.php ]; then
mv config/config.php config/config-autotest-backup.php
@@ -160,10 +186,10 @@ EOF
#
if [ -z "$1" ]
then
- execute_tests 'sqlite'
- execute_tests 'mysql'
- execute_tests 'pgsql'
- execute_tests 'oci'
+ # run all known database configs
+ for DBCONFIG in $DBCONFIGS; do
+ execute_tests $DBCONFIG
+ done
else
execute_tests $1 $2 $3
fi