Skip to content
Snippets Groups Projects
Commit b753e763 authored by Thomas Müller's avatar Thomas Müller
Browse files

Enable DAV app testing on travis

parent 4d87276f
No related branches found
No related tags found
No related merge requests found
sudo: false
language: php
php:
- 5.4
env:
global:
- APP=dav
- TC=litmus-v2
matrix:
- DB=sqlite
branches:
only:
- master
# - /^stable\d+(\.\d+)?$/
addons:
apt:
packages:
- realpath
before_install:
- bash tests/travis/before_install.sh $DB
install:
- bash tests/travis/install.sh $DB
script:
- bash apps/$APP/tests/travis/$TC.sh
matrix:
include:
- php: 5.4
env: DB=pgsql;TC=litmus-v1;APP=dav
# - php: 5.4
# env: DB=mysql;TC=caldavtester;APP=dav
fast_finish: true
#!/usr/bin/env bash
SCRIPT=`realpath $0`
SCRIPTPATH=`dirname $SCRIPT`
# start the server
php -S 127.0.0.1:8888 -t "$SCRIPTPATH/../../../.." &
# compile litmus
if [ ! -f /tmp/litmus/litmus-0.13.tar.gz ]; then
mkdir -p /tmp/litmus
wget -O /tmp/litmus/litmus-0.13.tar.gz http://www.webdav.org/neon/litmus/litmus-0.13.tar.gz
cd /tmp/litmus
tar -xzf litmus-0.13.tar.gz
cd /tmp/litmus/litmus-0.13
./configure
make
fi
# run the tests
cd /tmp/litmus/litmus-0.13
make URL=http://127.0.0.1:8888/remote.php/webdav CREDS="admin admin" TESTS="basic copymove props locks" check
#!/usr/bin/env bash
SCRIPT=`realpath $0`
SCRIPTPATH=`dirname $SCRIPT`
# start the server
php -S 127.0.0.1:8888 -t "$SCRIPTPATH/../../../.." &
# compile litmus
if [ ! -f /tmp/litmus/litmus-0.13.tar.gz ]; then
mkdir -p /tmp/litmus
wget -O /tmp/litmus/litmus-0.13.tar.gz http://www.webdav.org/neon/litmus/litmus-0.13.tar.gz
cd /tmp/litmus
tar -xzf litmus-0.13.tar.gz
cd /tmp/litmus/litmus-0.13
./configure
make
fi
# run the tests
cd /tmp/litmus/litmus-0.13
make URL=http://127.0.0.1:8888/remote.php/dav/files/admin CREDS="admin admin" TESTS="basic copymove props locks" check
#!/bin/bash
#
# ownCloud
#
# @author Thomas Müller
# @copyright 2014 Thomas Müller thomas.mueller@tmit.eu
#
set -e
WORKDIR=$PWD
DB=$1
echo "Work directory: $WORKDIR"
echo "Database: $DB"
if [ "$DB" == "mysql" ] ; then
echo "Setting up mysql ..."
mysql -e 'create database oc_autotest;'
mysql -u root -e "CREATE USER 'oc_autotest'@'localhost' IDENTIFIED BY 'owncloud'";
mysql -u root -e "grant all on oc_autotest.* to 'oc_autotest'@'localhost'";
mysql -e "SELECT User FROM mysql.user;"
fi
if [ "$DB" == "pgsql" ] ; then
createuser -U travis -s oc_autotest
fi
#if [ "$DB" == "oracle" ] ; then
# if [ ! -f before_install_oracle.sh ]; then
# wget https://raw.githubusercontent.com/owncloud/administration/master/travis-ci/before_install_oracle.sh
# fi
# bash ./before_install_oracle.sh
#fi
#
# copy custom php.ini settings
#
if [ $(phpenv version-name) != 'hhvm' ]; then
phpenv config-add tests/travis/custom.ini
fi
always_populate_raw_post_data = -1
mbstring.func_overload = 0
default_charset = 'UTF-8'
output_buffering = off
#!/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 <<DELIM
<?php
\$AUTOCONFIG = array (
'installed' => false,
'dbtype' => 'sqlite',
'dbtableprefix' => 'oc_',
'adminlogin' => '$ADMINLOGIN',
'adminpass' => 'admin',
'directory' => '$DATADIR',
);
DELIM
cat > ./tests/autoconfig-mysql.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
cat > ./tests/autoconfig-pgsql.php <<DELIM
<?php
\$AUTOCONFIG = array (
'installed' => false,
'dbtype' => 'pgsql',
'dbtableprefix' => 'oc_',
'adminlogin' => '$ADMINLOGIN',
'adminpass' => 'admin',
'directory' => '$DATADIR',
'dbuser' => '$DATABASEUSER',
'dbname' => '$DATABASENAME',
'dbhost' => 'localhost',
'dbpass' => '',
);
DELIM
cat > ./tests/autoconfig-oracle.php <<DELIM
<?php
\$AUTOCONFIG = array (
'installed' => 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 <<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
fi
# copy autoconfig
cp $BASEDIR/tests/autoconfig-$1.php $BASEDIR/config/autoconfig.php
# trigger installation
echo "INDEX"
php -f index.php
echo "END INDEX"
#test execution
cd tests
#php -f enable_all.php
}
#
# start test execution
#
if [ -z "$1" ]
then
# run all known database configs
for DBCONFIG in $DBCONFIGS; do
execute_tests $DBCONFIG
done
else
execute_tests $1 $2 $3
fi
# show environment
echo "owncloud configuration:"
cat $BASEDIR/config/config.php
echo "data directory:"
ls -ll $DATADIR
echo "owncloud.log:"
[ -f "$DATADIR/owncloud.log" ] && cat $DATADIR/owncloud.log
[ -f "$BASEDIR/data/owncloud.log" ] && cat $BASEDIR/data/owncloud.log
cd $BASEDIR
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment