-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* use PHPUnit 4.x * force php memory limit on travis to 1024MB * create script for travis * whitelist branches master, stable5 and stable6 on travis (and PRs) * sqlplus64 * conditional JS tests and ocular temporal removal * enable scrutinizer code coverage * move oracle to top to decrease overall test duration
- Loading branch information
1 parent
892d824
commit 472d896
Showing
5 changed files
with
267 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -27,3 +27,5 @@ imports: | |
- javascript | ||
- php | ||
|
||
tools: | ||
external_code_coverage: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
language: php | ||
php: | ||
- 5.3 | ||
- 5.4 | ||
- 5.5 | ||
- 5.6 | ||
- hhvm | ||
|
||
matrix: | ||
include: | ||
- php: 5.4 | ||
env: DB=oracle | ||
- php: 5.4 | ||
env: DB=pgsql | ||
- php: 5.4 | ||
env: DB=mysql | ||
allow_failures: | ||
- php: hhvm | ||
fast_finish: true | ||
|
||
env: | ||
matrix: | ||
- DB=sqlite | ||
|
||
before_script: | ||
# setup databases | ||
- wget https://raw.githubusercontent.com/owncloud/administration/master/travis-ci/setup_databases.sh | ||
- bash ./setup_databases.sh $DB | ||
|
||
# Additional PHP config | ||
- if [[ $HHVM == false ]] ; then phpenv config-add build/travis.php.ini ; fi | ||
|
||
# fetch Ocular (for test coverage upload) | ||
- wget https://scrutinizer-ci.com/ocular.phar | ||
|
||
# call setup for tests | ||
- build/prepareTests.sh $DB | ||
|
||
script: | ||
- phpunit --version | ||
# Run PHP lint for each PHP version | ||
- if [[ $DB == 'sqlite' ]] ; then ant -f build/build.xml -Dbasedir=. prepare lint ; fi | ||
|
||
# Run tests | ||
- phpunit --configuration tests/phpunit-autotest.xml --coverage-clover tests/autotest-clover-$DB.xml --verbose --debug | ||
|
||
# Run JS tests just once (see test matrix - mysql is just run once) | ||
- if [[ $DB == 'mysql' ]] ; then ./autotest-js.sh ; fi | ||
|
||
# Upload coverage report | ||
- php ocular.phar code-coverage:upload --format=php-clover tests/autotest-clover-$DB.xml | ||
|
||
branches: | ||
only: | ||
- master | ||
- stable5 | ||
- stable6 | ||
- stable7 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,141 @@ | ||
#!/bin/bash | ||
# | ||
# ownCloud | ||
# | ||
# @author Thomas Müller | ||
# @author Morris Jobke | ||
# @copyright 2012, 2013 Thomas Müller thomas.mueller@tmit.eu | ||
# @copyright 2014 Morris Jobke hey@morrisjobke.de | ||
# | ||
|
||
DATABASENAME=oc_autotest | ||
DATABASEUSER=oc_autotest | ||
ADMINLOGIN=admin | ||
BASEDIR=$PWD | ||
|
||
# check for database parameter | ||
if [ $1 ]; then | ||
DBCONFIGS="sqlite mysql pgsql oracle" | ||
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 | ||
exit 2 | ||
fi | ||
else | ||
echo "Please pass in a database to use as first parameter" >&2 | ||
exit 1 | ||
fi | ||
|
||
# check if config dir and file is writable | ||
if ! [[ -w config && ( !( -e config/config.php ) || -w config/config.php ) ]]; then | ||
echo "Please enable write permissions on config and config/config.php" >&2 | ||
exit 1 | ||
fi | ||
|
||
# use tmpfs for datadir - should speedup unit test execution | ||
if [ -d /dev/shm ]; then | ||
DATADIR=/dev/shm/data-autotest | ||
else | ||
DATADIR=$BASEDIR/data-autotest | ||
fi | ||
|
||
echo "Setup environment for $1 testing ..." | ||
# 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 | ||
|
||
# # # # # # | ||
# SQLite # | ||
# # # # # # | ||
if [ "$1" == "sqlite" ] ; then | ||
cat > ./config/autoconfig.php <<DELIM | ||
<?php | ||
\$AUTOCONFIG = array ( | ||
'installed' => false, | ||
'dbtype' => 'sqlite', | ||
'dbtableprefix' => 'oc_', | ||
'adminlogin' => '$ADMINLOGIN', | ||
'adminpass' => 'admin', | ||
'directory' => '$DATADIR', | ||
); | ||
DELIM | ||
fi | ||
|
||
# # # # # | ||
# MySQL # | ||
# # # # # | ||
if [ "$1" == "mysql" ] ; then | ||
cat > ./config/autoconfig.php <<DELIM | ||
<?php | ||
\$AUTOCONFIG = array ( | ||
'installed' => false, | ||
'dbtype' => 'mysql', | ||
'dbtableprefix' => 'oc_', | ||
'adminlogin' => '$ADMINLOGIN', | ||
'adminpass' => 'admin', | ||
'directory' => '$DATADIR', | ||
'dbuser' => '$DATABASEUSER', | ||
'dbname' => '$DATABASENAME', | ||
'dbhost' => 'localhost', | ||
'dbpass' => 'owncloud', | ||
); | ||
DELIM | ||
fi | ||
|
||
# # # # # # # # | ||
# PostgreSQL # | ||
# # # # # # # # | ||
if [ "$1" == "pgsql" ] ; then | ||
cat > ./config/autoconfig.php <<DELIM | ||
<?php | ||
\$AUTOCONFIG = array ( | ||
'installed' => false, | ||
'dbtype' => 'pgsql', | ||
'dbtableprefix' => 'oc_', | ||
'adminlogin' => '$ADMINLOGIN', | ||
'adminpass' => 'admin', | ||
'directory' => '$DATADIR', | ||
'dbuser' => '$DATABASEUSER', | ||
'dbname' => '$DATABASENAME', | ||
'dbhost' => 'localhost', | ||
'dbpass' => 'owncloud', | ||
); | ||
DELIM | ||
|
||
fi | ||
|
||
# # # # # # | ||
# Oracle # | ||
# # # # # # | ||
if [ "$1" == "oracle" ] ; then | ||
build/prepareTestsOracle.sh $DATABASENAME $DATABASEUSER $ADMINLOGIN $DATADIR | ||
fi | ||
|
||
echo "Trigger ownCloud installation" | ||
php -f index.php | grep -i -C9999 error && echo "Error during setup" && exit 101 | ||
|
||
echo "Enable apps ..." | ||
cd tests | ||
php -f enable_all.php | grep -i -C9999 error && echo "Error during setup" && exit 101 | ||
cd $BASEDIR | ||
|
||
# show environment | ||
echo "ownCloud configuration:" | ||
cat $BASEDIR/config/config.php | ||
|
||
echo "ownCloud data directory:" | ||
ls -ll $DATADIR | ||
|
||
echo "owncloud.log:" | ||
cat $DATADIR/owncloud.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
#!/bin/bash | ||
# | ||
# ownCloud - prepareTestOracle.sh | ||
# | ||
# @author Morris Jobke | ||
# @copyright 2014 Morris Jobke hey@morrisjobke.de | ||
# | ||
|
||
DATABASENAME=$1 | ||
DATABASEUSER=$2 | ||
ADMINLOGIN=$3 | ||
DATADIR=$4 | ||
|
||
# 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 | ||
|
||
echo "Load Oracle environment variables so that we can run 'sqlplus'." | ||
. $ORACLE_HOME/bin/oracle_env.sh | ||
|
||
echo "drop the database" | ||
sqlplus64 -s -l / as sysdba <<EOF | ||
drop user $DATABASENAME cascade; | ||
EOF | ||
|
||
echo "create the database" | ||
sqlplus64 -s -l / as sysdba <<EOF | ||
create user $DATABASENAME identified by owncloud; | ||
alter user $DATABASENAME default tablespace users | ||
temporary tablespace temp | ||
quota unlimited on users; | ||
grant create session | ||
, create table | ||
, create procedure | ||
, create sequence | ||
, create trigger | ||
, create view | ||
, create synonym | ||
, alter session | ||
to $DATABASENAME; | ||
exit; | ||
EOF | ||
|
||
# there was a maximum cursor limit exceed | ||
# therefore increase the limit | ||
sqlplus64 -s -l / as sysdba <<EOF | ||
ALTER SYSTEM SET open_cursors = 1000 SCOPE=BOTH; | ||
EOF | ||
|
||
cat > ./config/autoconfig.php <<DELIM | ||
<?php | ||
\$AUTOCONFIG = array ( | ||
'installed' => false, | ||
'dbtype' => 'oci', | ||
'dbtableprefix' => 'oc_', | ||
'adminlogin' => '$ADMINLOGIN', | ||
'adminpass' => 'admin', | ||
'directory' => '$DATADIR', | ||
'dbuser' => '$DATABASEUSER', | ||
'dbname' => 'XE', | ||
'dbhost' => 'localhost', | ||
'dbpass' => 'owncloud', | ||
); | ||
DELIM | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
memory_limit = 1024M |