#!/bin/bash # # ownCloud # # @author Thomas Müller # @copyright 2014 Thomas Müller thomas.mueller@tmit.eu # set -e DATABASENAME=oc_autotest DATABASEUSER=oc_autotest ADMINLOGIN=admin BASEDIR=$PWD DBCONFIGS="sqlite mysql pgsql oracle" PHPUNIT=$(which phpunit) # set oracle home if it is not set TRAVIS_ORACLE_HOME="/usr/lib/oracle/xe/app/oracle/product/10.2.0/server" [ -z "$ORACLE_HOME" ] && ORACLE_HOME=$TRAVIS_ORACLE_HOME 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 # use tmpfs for datadir - should speedup unit test execution DATADIR=$BASEDIR/data-autotest echo "Using database $DATABASENAME" # create autoconfig for sqlite, mysql and postgresql cat > ./tests/autoconfig-sqlite.php < false, 'dbtype' => 'sqlite', 'dbtableprefix' => 'oc_', 'adminlogin' => '$ADMINLOGIN', 'adminpass' => 'admin', 'directory' => '$DATADIR', ); DELIM cat > ./tests/autoconfig-mysql.php < false, 'dbtype' => 'mysql', 'dbtableprefix' => 'oc_', 'adminlogin' => '$ADMINLOGIN', 'adminpass' => 'admin', 'directory' => '$DATADIR', 'dbuser' => '$DATABASEUSER', 'dbname' => '$DATABASENAME', 'dbhost' => 'localhost', 'dbpass' => 'owncloud', ); DELIM cat > ./tests/autoconfig-pgsql.php < false, 'dbtype' => 'pgsql', 'dbtableprefix' => 'oc_', 'adminlogin' => '$ADMINLOGIN', 'adminpass' => 'admin', 'directory' => '$DATADIR', 'dbuser' => '$DATABASEUSER', 'dbname' => '$DATABASENAME', 'dbhost' => 'localhost', 'dbpass' => '', ); DELIM cat > ./tests/autoconfig-oracle.php < false, 'dbtype' => 'oci', 'dbtableprefix' => 'oc_', 'adminlogin' => '$ADMINLOGIN', 'adminpass' => 'admin', 'directory' => '$DATADIR', 'dbuser' => '$DATABASENAME', 'dbname' => 'XE', 'dbhost' => 'localhost', 'dbpass' => 'owncloud', 'loglevel' => 0, ); DELIM function execute_tests { echo "Setup environment for $1 testing ..." # back to root folder cd $BASEDIR # revert changes to tests/data git checkout tests/data/* # reset data directory rm -rf $DATADIR mkdir $DATADIR cp tests/preseed-config.php config/config.php if [ "$1" == "oracle" ] ; then echo "Load Oracle environment variables so that we can run 'sqlplus'." . $ORACLE_HOME/bin/oracle_env.sh echo "create the database" sqlplus -s -l / as sysdba <