language: php

php:
  - 5.2
  - 5.3.3
  - 5.4
  - 5.5
  - 5.6
  - hhvm
  
env:
  - DB=mysql
  - DB=mysqli
  - DB=pgsql
  - DB=sqlite
  - DB=pdo/mysql
  - DB=pdo/pgsql
  - DB=pdo/sqlite

sudo: false

before_script:
  - sh -c "if [ '$TRAVIS_PHP_VERSION' = '5.2' ]; then pear channel-discover pear.bovigo.org && pear install bovigo/vfsStream-beta; else composer install --dev --no-progress; fi"
  - sh -c "if [ '$DB' = 'pgsql' ] || [ '$DB' = 'pdo/pgsql' ]; then psql -c 'DROP DATABASE IF EXISTS ci_test;' -U postgres; fi"
  - sh -c "if [ '$DB' = 'pgsql' ] || [ '$DB' = 'pdo/pgsql' ]; then psql -c 'create database ci_test;' -U postgres; fi"
  - sh -c "if [ '$DB' = 'mysql' ] || [ '$DB' = 'mysqli' ] || [ '$DB' = 'pdo/mysql' ]; then mysql -e 'create database IF NOT EXISTS ci_test;'; fi"

script: phpunit -d zend.enable_gc=0 -d date.timezone=UTC --coverage-text --configuration tests/travis/$DB.phpunit.xml

matrix:
  allow_failures:
    - php: hhvm
  exclude:
    - php: hhvm
      env: DB=pgsql
    - php: hhvm
      env: DB=pdo/pgsql
    - php: 5.2
      env: DB=sqlite
    - php: 5.2
      env: DB=pdo/sqlite

branches:
  only:
    - develop
    - /^feature\/.+$/