Skip to content
This repository
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 86 lines (81 sloc) 2.456 kb
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
language: php

php:
  - 5.2
  - 5.3
  - 5.4

env:
  - DB=mysql
  - DB=sqlite
  - DB=pgsql

before_script:
  - sh -c "cd .. ; mkdir lib ; cd lib ; git clone --depth 1 git://github.com/cakephp/cakephp ; cd cakephp ; git checkout -qf 2.1.4"
  - sh -c "cd ../lib ; ln -s cakephp/lib/Cake Cake"
  - sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'CREATE DATABASE croogo_test;'; fi"
  - sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'CREATE DATABASE croogo_test;' -U postgres; fi"
  - sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'CREATE SCHEMA croogo_test;' -U postgres -d croogo_test; fi"
  - cp Config/settings.yml.install Config/settings.yml
  - cp Config/croogo.php.install Config/croogo.php
  - 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' => 'croogo_test',
        'schema' => array(
          'default' => 'public',
          'test' => 'croogo_test',
        )
      ),
      'sqlite' => array(
        'datasource' => 'Database/Sqlite',
        'database' => array(
          'default' => ':memory:',
          'test' => ':memory:',
        ),
      )
    );
    public \$default = array(
      'persistent' => false,
      'host' => '',
      'login' => '',
      'password' => '',
      'database' => 'croogo',
      'prefix' => ''
    );
    public \$test = array(
      'persistent' => false,
      'host' => '',
      'login' => '',
      'password' => '',
      'database' => 'croogo_test',
      'prefix' => ''
    );
    public function __construct() {
      \$db = 'mysql';
      if (!empty(\$_SERVER['DB'])) {
        \$db = \$_SERVER['DB'];
      }
      foreach (array('default', 'test') 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;
      }
    }
    }" > Config/database.php

script:
  - ../lib/Cake/Console/cake test app AllTests --stderr

notifications:
  email: false
Something went wrong with that request. Please try again.