Blame view
sources/apps/contacts/tests/setup_owncloud.sh
3.48 KB
|
d1bafeea1
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
#!/bin/bash
#
# ownCloud
#
# @author Thomas Müller
# @copyright 2012, 2013 Thomas Müller thomas.mueller@tmit.eu
#
if [ "$DB" == "mysql" ] ; then
DATABASENAME=contacts_test
DATABASEUSER=contacts_test
ADMINLOGIN=travis
BASEDIR=$PWD
mysql -e 'CREATE DATABASE IF NOT EXISTS contacts_test'
# mysql -e "GRANT ALL PRIVILEGES ON *.* to admin@'%' identified by 'admin';"
# mysql -e "GRANT ALL PRIVILEGES ON *.* to admin@localhost identified by 'admin';"
mysql -e "UPDATE mysql.user SET Password=PASSWORD('travis') WHERE User='travis' AND Host='localhost';"
mysql -e "FLUSH PRIVILEGES;"
fi
if [ "$DB" == "sqlite" ] ; then
DATABASENAME=contacts_test
DATABASEUSER=contacts_test
ADMINLOGIN=oc_autotest
BASEDIR=$PWD
fi
DATADIR=$BASEDIR/data-autotest
echo "Using database $DATABASENAME with $DB"
# create autoconfig for sqlite, mysql and postgresql
cat > $BASEDIR/tests/autoconfig-sqlite.php <<DELIM
<?php
\$AUTOCONFIG = array (
'installed' => false,
'dbtype' => 'sqlite',
'dbtableprefix' => 'oc_',
'adminlogin' => '$ADMINLOGIN',
'adminpass' => 'admin',
'directory' => '$DATADIR',
);
DELIM
cat > $BASEDIR/tests/autoconfig-mysql.php <<DELIM
<?php
\$AUTOCONFIG = array (
'installed' => false,
'dbtype' => 'mysql',
'dbtableprefix' => 'oc_',
'adminlogin' => '$ADMINLOGIN',
'adminpass' => 'travis',
'directory' => '$DATADIR',
'dbuser' => 'travis',
'dbname' => '$DATABASENAME',
'dbhost' => 'localhost',
'dbpass' => 'travis',
);
DELIM
cat > $BASEDIR/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' => 'owncloud',
);
DELIM
function setup_db {
echo "Setup environment for $DB testing ..."
# back to root folder
cd $BASEDIR
# reset data directory
rm -rf $DATADIR
mkdir $DATADIR
#rm -rf config/config.php
cp $BASEDIR/tests/preseed-config.php $BASEDIR/../core/config/config.php
# copy autoconfig
cat $BASEDIR/tests/autoconfig-$DB.php
cp $BASEDIR/tests/autoconfig-$DB.php $BASEDIR/../core/config/autoconfig.php
ls -l $BASEDIR/../core/config/
# trigger installation
cd $BASEDIR/../core/
php -f index.php
cd -
#test execution
echo "Testing with $DB ..."
cd tests
}
#
# start test execution
#
setup_db '$DB'
ls $BASEDIR/tests/
ls $BASEDIR/../core/config/
cat $BASEDIR/../core/config/config.php
ls $BASEDIR/../core/data/
cat $BASEDIR/../core/data/owncloud.log
#
# NOTES on mysql:
# - CREATE DATABASE oc_autotest;
# - CREATE USER 'oc_autotest'@'localhost' IDENTIFIED BY 'owncloud';
# - grant all on oc_autotest.* to 'oc_autotest'@'localhost';
#
# - for parallel executor support with EXECUTOR_NUMBER=0:
# - CREATE DATABASE oc_autotest0;
# - CREATE USER 'oc_autotest0'@'localhost' IDENTIFIED BY 'owncloud';
# - grant all on oc_autotest0.* to 'oc_autotest0'@'localhost';
#
# NOTES on pgsql:
# - su - postgres
# - createuser -P oc_autotest (enter password and enable superuser)
# - to enable dropdb I decided to add following line to pg_hba.conf (this is not the safest way but I don't care for the testing machine):
# local all all trust
#
# - for parallel executor support with EXECUTOR_NUMBER=0:
# - createuser -P oc_autotest0 (enter password and enable superuser)
#
# NOTES on oci:
# - it's a pure nightmare to install Oracle on a Linux-System
# - DON'T TRY THIS AT HOME!
# - if you really need it: we feel sorry for you
#
|