language: php

php:
  - 5.3
  - 5.4
  - 5.5
  - hhvm

env:
  - DB=mysql
  - DB=pgsql POSTGRESQL_VERSION=9.1
  - DB=pgsql POSTGRESQL_VERSION=9.2
  - DB=pgsql POSTGRESQL_VERSION=9.3
  - DB=sqlite
  - DB=mysqli

before_script:
  - sh -c "if [ '$TRAVIS_PHP_VERSION' = 'hhvm' ]; then sudo apt-get remove --auto-remove hhvm; sudo apt-get update; sudo apt-get install -y --force-yes hhvm-nightly; fi"
  - sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'DROP DATABASE IF EXISTS doctrine_tests;' -U postgres; fi"
  - sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'DROP DATABASE IF EXISTS doctrine_tests_tmp;' -U postgres; fi"
  - sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'create database doctrine_tests;' -U postgres; fi"
  - sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'create database doctrine_tests_tmp;' -U postgres; fi"
  - sh -c "if [ '$DB' = 'pgsql' ]; then sudo service postgresql stop; sudo service postgresql start $POSTGRESQL_VERSION; fi"
  - sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'create database IF NOT EXISTS doctrine_tests_tmp;create database IF NOT EXISTS doctrine_tests;'; fi"
  - sh -c "if [ '$DB' = 'mysqli' ]; then mysql -e 'create database IF NOT EXISTS doctrine_tests_tmp;create database IF NOT EXISTS doctrine_tests;'; fi"
  - composer self-update
  - composer update --prefer-source

script: phpunit --configuration tests/travis/$DB.travis.xml

matrix:
  allow_failures:
    - php: hhvm
  exclude:
      - php: hhvm
        env: DB=pgsql POSTGRESQL_VERSION=9.1 # driver currently unsupported by HHVM
      - php: hhvm
        env: DB=pgsql POSTGRESQL_VERSION=9.2 # driver currently unsupported by HHVM
      - php: hhvm
        env: DB=pgsql POSTGRESQL_VERSION=9.3 # driver currently unsupported by HHVM