aboutsummaryrefslogtreecommitdiffstats
path: root/autotest.sh
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2013-12-19 16:47:17 +0100
committerVincent Petry <pvince81@owncloud.com>2013-12-19 16:47:17 +0100
commit51e1bd5d040b37056c0baf028497a20fa74d84b2 (patch)
treedff21bc2614070d469d7488e28fae62df34e7345 /autotest.sh
parent079f1a6f4146ee181995084e7c4c43a6bbe0082c (diff)
downloadnextcloud-server-51e1bd5d040b37056c0baf028497a20fa74d84b2.tar.gz
nextcloud-server-51e1bd5d040b37056c0baf028497a20fa74d84b2.zip
Enforce required phpunit version
This will prevent frustration and confusion when unit tests fail because the wrong phpunit version was used
Diffstat (limited to 'autotest.sh')
-rwxr-xr-xautotest.sh19
1 files changed, 17 insertions, 2 deletions
diff --git a/autotest.sh b/autotest.sh
index 3562b0feb04..94fc692a94d 100755
--- a/autotest.sh
+++ b/autotest.sh
@@ -13,6 +13,7 @@ ADMINLOGIN=admin$EXECUTOR_NUMBER
BASEDIR=$PWD
DBCONFIGS="sqlite mysql pgsql oci"
+PHPUNIT=$(which phpunit)
function print_syntax {
echo -e "Syntax: ./autotest.sh [dbconfigname] [testfile]\n" >&2
@@ -23,6 +24,20 @@ function print_syntax {
echo -e "\nIf no arguments are specified, all tests will be run with all database configs" >&2
}
+if ! [ -x $PHPUNIT ]; then
+ echo "phpunit executable not found, please install phpunit version >= 3.7" >&2
+ exit 3
+fi
+
+PHPUNIT_VERSION=$($PHPUNIT --version | cut -d" " -f2)
+PHPUNIT_MAJOR_VERSION=$(echo $PHPUNIT_VERSION | cut -d"." -f1)
+PHPUNIT_MINOR_VERSION=$(echo $PHPUNIT_VERSION | cut -d"." -f2)
+
+if ! [ $PHPUNIT_MAJOR_VERSION -gt 3 -o \( $PHPUNIT_MAJOR_VERSION -eq 3 -a $PHPUNIT_MINOR_VERSION -ge 7 \) ]; then
+ echo "phpunit version >= 3.7 required. Version found: $PHPUNIT_VERSION" >&2
+ exit 4
+fi
+
if ! [ -w config -a -w config/config.php ]; then
echo "Please enable write permissions on config and config/config.php" >&2
exit 1
@@ -179,10 +194,10 @@ EOF
mkdir coverage-html-$1
php -f enable_all.php
if [ -z "$NOCOVERAGE" ]; then
- phpunit --configuration phpunit-autotest.xml --log-junit autotest-results-$1.xml --coverage-clover autotest-clover-$1.xml --coverage-html coverage-html-$1 $2 $3
+ $PHPUNIT --configuration phpunit-autotest.xml --log-junit autotest-results-$1.xml --coverage-clover autotest-clover-$1.xml --coverage-html coverage-html-$1 $2 $3
else
echo "No coverage"
- phpunit --configuration phpunit-autotest.xml --log-junit autotest-results-$1.xml $2 $3
+ $PHPUNIT --configuration phpunit-autotest.xml --log-junit autotest-results-$1.xml $2 $3
fi
}