Created
March 14, 2012 19:02
-
-
Save ceeram/2038684 to your computer and use it in GitHub Desktop.
Travis configuration file for CakePHP, add to the root of the repo.
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
language: php | |
php: | |
- 5.3 | |
- 5.4 | |
env: | |
- DB=mysql | |
- DB=pgsql | |
- DB=sqlite | |
before_script: | |
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'CREATE DATABASE cakephp_test;'; fi" | |
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'CREATE DATABASE cakephp_test2;'; fi" | |
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'CREATE DATABASE cakephp_test3;'; fi" | |
- sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'CREATE DATABASE cakephp_test;' -U postgres; fi" | |
- sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'CREATE SCHEMA test2;' -U postgres -d cakephp_test; fi" | |
- sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'CREATE SCHEMA test3;' -U postgres -d cakephp_test; fi" | |
- chmod -R 777 ./app/tmp | |
- echo "var net = require('net'); | |
var server = net.createServer(); | |
server.listen(80, 'localhost'); | |
console.log('TCP server listening on port 80 at localhost.');" > app/tmp/socket.js | |
- sudo node ./app/tmp/socket.js & | |
- set +H | |
- echo "<?php | |
class DATABASE_CONFIG { | |
private \$identities = array( | |
'mysql' => array( | |
'datasource' => 'Database/Mysql', | |
'host' => '0.0.0.0', | |
'login' => 'travis' | |
), | |
'pgsql' => array( | |
'datasource' => 'Database/Postgres', | |
'host' => '127.0.0.1', | |
'login' => 'postgres', | |
'database' => 'cakephp_test', | |
'schema' => array( | |
'default' => 'public', | |
'test' => 'public', | |
'test2' => 'test2', | |
'test_database_three' => 'test3' | |
) | |
), | |
'sqlite' => array( | |
'datasource' => 'Database/Sqlite', | |
'database' => array( | |
'default' => ':memory:', | |
'test' => ':memory:', | |
'test2' => '/tmp/cakephp_test2.db', | |
'test_database_three' => '/tmp/cakephp_test3.db' | |
), | |
) | |
); | |
public \$default = array( | |
'persistent' => false, | |
'host' => '', | |
'login' => '', | |
'password' => '', | |
'database' => 'cakephp_test', | |
'prefix' => '' | |
); | |
public \$test = array( | |
'persistent' => false, | |
'host' => '', | |
'login' => '', | |
'password' => '', | |
'database' => 'cakephp_test', | |
'prefix' => '' | |
); | |
public \$test2 = array( | |
'persistent' => false, | |
'host' => '', | |
'login' => '', | |
'password' => '', | |
'database' => 'cakephp_test2', | |
'prefix' => '' | |
); | |
public \$test_database_three = array( | |
'persistent' => false, | |
'host' => '', | |
'login' => '', | |
'password' => '', | |
'database' => 'cakephp_test3', | |
'prefix' => '' | |
); | |
public function __construct() { | |
\$db = 'mysql'; | |
if (!empty(\$_SERVER['DB'])) { | |
\$db = \$_SERVER['DB']; | |
} | |
foreach (array('default', 'test', 'test2', 'test_database_three') as \$source) { | |
\$config = array_merge(\$this->{\$source}, \$this->identities[\$db]); | |
if (is_array(\$config['database'])) { | |
\$config['database'] = \$config['database'][\$source]; | |
} | |
if (!empty(\$config['schema']) && is_array(\$config['schema'])) { | |
\$config['schema'] = \$config['schema'][\$source]; | |
} | |
\$this->{\$source} = \$config; | |
} | |
} | |
}" > app/Config/database.php | |
script: | |
- ./lib/Cake/Console/cake test core AllTests --stderr | |
notifications: | |
email: false | |
branches: | |
only: | |
- 2.2-travis |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
5.2.17 would be fine as well, just to show CakePHP and the tests run on 5.2
I am looking into the segfault, running AllTests without --stderr option won't run into segfaults.