diff --git a/.travis.yml b/.travis.yml index cc35f88a0..de9e5ca0a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,19 @@ language: php php: - 5.3 + - 5.4 + +env: + - TESTDB=SQLITE + - TESTDB=MYSQL + - TESTDB=PGSQL + +matrix: + exclude: + - php: 5.4 + env: TESTDB=PGSQL + - php: 5.4 + env: TESTDB=SQLITE before_script: - ./tests/travis/before_script ~/builds/ss diff --git a/tests/travis/_ss_environment.php b/tests/travis/_ss_environment.php index 9b77c4788..eb388291e 100644 --- a/tests/travis/_ss_environment.php +++ b/tests/travis/_ss_environment.php @@ -3,13 +3,33 @@ ob_start(); define('SS_ENVIRONMENT_TYPE', 'dev'); -/* Database connection */ -define('SS_DATABASE_CLASS', 'SQLitePDODatabase'); +/* Database connection */ +$db = getenv('TESTDB'); +switch($db) { +case "PGSQL"; + define('SS_DATABASE_CLASS', 'PostgreSQLDatabase'); + define('SS_DATABASE_USERNAME', 'postgres'); + define('SS_DATABASE_PASSWORD', ''); + break; + +case "MYSQL": + define('SS_DATABASE_CLASS', 'MySQLDatabase'); + define('SS_DATABASE_USERNAME', 'root'); + define('SS_DATABASE_PASSWORD', ''); + break; + +default: + define('SS_DATABASE_CLASS', 'SQLitePDODatabase'); + define('SS_DATABASE_USERNAME', 'root'); + define('SS_DATABASE_PASSWORD', ''); +} + +echo SS_DATABASE_CLASS; + define('SS_DATABASE_SERVER', 'localhost'); -define('SS_DATABASE_USERNAME', 'root'); -define('SS_DATABASE_PASSWORD', ''); define('SS_DATABASE_CHOOSE_NAME', true); + /* Configure a default username and password to access the CMS on all sites in this environment. */ define('SS_DEFAULT_ADMIN_USERNAME', 'username'); define('SS_DEFAULT_ADMIN_PASSWORD', 'password'); diff --git a/tests/travis/before_script b/tests/travis/before_script index 17ab5f066..9ebeded35 100755 --- a/tests/travis/before_script +++ b/tests/travis/before_script @@ -1,6 +1,7 @@ BUILD_DIR=$1 git clone --depth=100 --quiet git://github.com/silverstripe/silverstripe-installer.git $BUILD_DIR git clone --depth=100 --quiet git://github.com/silverstripe-labs/silverstripe-sqlite3.git $BUILD_DIR/sqlite3 +git clone --depth=100 --quiet git://github.com/silverstripe/silverstripe-postgresql.git $BUILD_DIR/postgresql cp ./tests/travis/_ss_environment.php $BUILD_DIR cp ./tests/travis/_config.php $BUILD_DIR/mysite cp -r . $BUILD_DIR/framework