language: php

php:
  - 5.3
  - 5.4
  - 5.5
  - 5.6
  - hhvm
  - hhvm-nightly

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

before_script:
  - 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' = 'mysql' ]; then mysql -e 'create database IF NOT EXISTS doctrine_tests_tmp;create database IF NOT EXISTS doctrine_tests;'; fi"
  - composer install --prefer-source --dev

script: 
  - ENABLE_SECOND_LEVEL_CACHE=0 ./vendor/bin/phpunit -v -c tests/travis/$DB.travis.xml --coverage-clover ./build/logs/clover.xml
  - ENABLE_SECOND_LEVEL_CACHE=1 ./vendor/bin/phpunit -v -c tests/travis/$DB.travis.xml --coverage-clover ./build/logs/clover-slc.xml --exclude-group performance,non-cacheable,locking_functional

after_script:
  - php vendor/bin/coveralls -v

matrix:
  exclude:
    - php: hhvm
      env: DB=pgsql  # driver currently unsupported by HHVM
    - php: hhvm
      env: DB=mysqli # driver currently unsupported by HHVM
    - php: hhvm-nightly
      env: DB=pgsql  # driver currently unsupported by HHVM
    - php: hhvm-nightly
      env: DB=mysqli # driver currently unsupported by HHVM
  allow_failures:
    - php: hhvm-nightly # hhvm-nightly currently chokes on composer installation