Merge pull request #16367 from owncloud/fix-facade-autotest

Fix facade autotest
This commit is contained in:
Thomas Müller 2015-05-15 15:40:34 +02:00
commit c3e066c5eb
1 changed files with 21 additions and 14 deletions

View File

@ -53,11 +53,18 @@ if ! [ -x "$PHPUNIT" ]; then
exit 3 exit 3
fi fi
PHPUNIT_VERSION=$("$PHP" "$PHPUNIT" --version | cut -d" " -f2) # PHPUnit might also be installed via a facade binary script
PHPUNIT_MAJOR_VERSION=$(echo $PHPUNIT_VERSION | cut -d"." -f1) if [[ "$PHPUNIT" =~ \.phar$ ]]; then
PHPUNIT_MINOR_VERSION=$(echo $PHPUNIT_VERSION | cut -d"." -f2) PHPUNIT=( "$PHP" "$PHPUNIT" )
else
PHPUNIT=( "$PHPUNIT" )
fi
if ! [ $PHPUNIT_MAJOR_VERSION -gt 3 -o \( $PHPUNIT_MAJOR_VERSION -eq 3 -a $PHPUNIT_MINOR_VERSION -ge 7 \) ]; then 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 echo "phpunit version >= 3.7 required. Version found: $PHPUNIT_VERSION" >&2
exit 4 exit 4
fi fi
@ -70,7 +77,7 @@ fi
if [ "$1" ]; then if [ "$1" ]; then
FOUND=0 FOUND=0
for DBCONFIG in $DBCONFIGS; do for DBCONFIG in $DBCONFIGS; do
if [ "$1" = $DBCONFIG ]; then if [ "$1" = "$DBCONFIG" ]; then
FOUND=1 FOUND=1
break break
fi fi
@ -90,7 +97,7 @@ fi
function cleanup_config { function cleanup_config {
if [ ! -z "$DOCKER_CONTAINER_ID" ]; then if [ ! -z "$DOCKER_CONTAINER_ID" ]; then
echo "Kill the docker $DOCKER_CONTAINER_ID" echo "Kill the docker $DOCKER_CONTAINER_ID"
docker rm -f $DOCKER_CONTAINER_ID docker rm -f "$DOCKER_CONTAINER_ID"
fi fi
cd "$BASEDIR" cd "$BASEDIR"
@ -132,15 +139,15 @@ function execute_tests {
# drop database # drop database
if [ "$1" == "mysql" ] ; then if [ "$1" == "mysql" ] ; then
mysql -u $DATABASEUSER -powncloud -e "DROP DATABASE IF EXISTS $DATABASENAME" -h $DATABASEHOST || true mysql -u "$DATABASEUSER" -powncloud -e "DROP DATABASE IF EXISTS $DATABASENAME" -h $DATABASEHOST || true
fi fi
if [ "$1" == "pgsql" ] ; then if [ "$1" == "pgsql" ] ; then
dropdb -U $DATABASEUSER $DATABASENAME || true dropdb -U "$DATABASEUSER" "$DATABASENAME" || true
fi fi
if [ "$1" == "oci" ] ; then if [ "$1" == "oci" ] ; then
echo "Fire up the oracle docker" echo "Fire up the oracle docker"
DOCKER_CONTAINER_ID=`docker run -d deepdiver/docker-oracle-xe-11g` DOCKER_CONTAINER_ID=$(docker run -d deepdiver/docker-oracle-xe-11g)
DATABASEHOST=`docker inspect $DOCKER_CONTAINER_ID | grep IPAddress | cut -d '"' -f 4` DATABASEHOST=$(docker inspect "$DOCKER_CONTAINER_ID" | grep IPAddress | cut -d '"' -f 4)
echo "Waiting 60 seconds for Oracle initialization ... " echo "Waiting 60 seconds for Oracle initialization ... "
sleep 60 sleep 60
@ -151,7 +158,7 @@ function execute_tests {
# trigger installation # trigger installation
echo "Installing ...." echo "Installing ...."
"$PHP" ./occ maintenance:install --database=$1 --database-name=$DATABASENAME --database-host=$DATABASEHOST --database-user=$DATABASEUSER --database-pass=owncloud --database-table-prefix=oc_ --admin-user=$ADMINLOGIN --admin-pass=admin --data-dir=$DATADIR "$PHP" ./occ maintenance:install --database="$1" --database-name="$DATABASENAME" --database-host="$DATABASEHOST" --database-user="$DATABASEUSER" --database-pass=owncloud --database-table-prefix=oc_ --admin-user="$ADMINLOGIN" --admin-pass=admin --data-dir="$DATADIR"
#test execution #test execution
echo "Testing with $1 ..." echo "Testing with $1 ..."
@ -160,11 +167,11 @@ function execute_tests {
mkdir "coverage-html-$1" mkdir "coverage-html-$1"
"$PHP" -f enable_all.php | grep -i -C9999 error && echo "Error during setup" && exit 101 "$PHP" -f enable_all.php | grep -i -C9999 error && echo "Error during setup" && exit 101
if [ -z "$NOCOVERAGE" ]; then if [ -z "$NOCOVERAGE" ]; then
"$PHP" "$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"
RESULT=$? RESULT=$?
else else
echo "No coverage" echo "No coverage"
"$PHP" "$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"
RESULT=$? RESULT=$?
fi fi
} }
@ -176,7 +183,7 @@ if [ -z "$1" ]
then then
# run all known database configs # run all known database configs
for DBCONFIG in $DBCONFIGS; do for DBCONFIG in $DBCONFIGS; do
execute_tests $DBCONFIG execute_tests "$DBCONFIG"
done done
else else
FILENAME="$2" FILENAME="$2"