2 # - run testsuite for every PHP version
3 # - run lint for every PHP version
4 # - run Selenium for single PHP version
30 - TESTSUITE_URL=http://127.0.0.1:8000
33 - if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then source ~/virtualenv/python3.6/bin/activate ; fi
34 - ./test/ci-install-$CI_MODE
35 - if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then case "$TRAVIS_PHP_VERSION" in hhvm*) ;; *) phpenv config-add test/php-noprofile.ini ;; esac ; fi
38 - export TESTSUITE_PASSWORD=`openssl rand -base64 30`
39 - export TESTSUITE_BROWSERSTACK_KEY=`echo cHlDcHJTNmZwZjVlaUR2RmV6VkU= | base64 --decode`
40 - export PATH=~/.composer/vendor/bin/:$PATH
41 - mysql -uroot -e "CREATE DATABASE IF NOT EXISTS test"
42 - mysql -uroot < sql/create_tables.sql
43 - mysql -uroot -e "SET PASSWORD = PASSWORD('$TESTSUITE_PASSWORD')"
44 - ./test/start-local-server
47 - ./scripts/generate-mo --quiet
48 - if [ $CI_MODE = test ] ; then ./test/ci-lint ; fi
52 - if [ -f vendor/bin/codacycoverage ] ; then php vendor/bin/codacycoverage clover || true ; fi
53 - if [ -f php.log ] ; then cat php.log ; fi
54 - if [ -f nginx-error.log ] ; then cat nginx-error.log ; fi
55 - if [ -f build/logs/phpunit.json ] ; then ./scripts/phpunit-top-tests build/logs/phpunit.json ; fi
56 - if [ -f config.inc.php ] ; then rm -rf config.inc.php; fi
59 - bash <(curl -s https://codecov.io/bash)
66 before_install: phpenv config-rm xdebug.ini
74 before_install: phpenv config-rm xdebug.ini
81 - brew link --force gettext
82 - echo "memory_limit=-1" > /usr/local/etc/php/7.4/conf.d/50-travis.ini
83 - echo "pcre.jit=0" >> /usr/local/etc/php/7.4/conf.d/50-travis.ini
86 # Enable password access
87 - mysql -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('');"
89 - composer require --no-interaction php>=7.1
90 - composer remove phpunit/phpunit-selenium --dev --no-interaction
91 - composer remove phpunit/phpunit --dev --no-interaction
92 - composer require --dev --no-interaction phpunit/phpunit ^8
93 - rm -rf test/selenium
94 - "find test/ -type f -iname '*.php' -print0 | xargs -0 sed -i.bak~ 's/function setUpBeforeClass()/function setUpBeforeClass(): void/g'"
95 - "find test/ -type f -iname '*.php' -print0 | xargs -0 sed -i.bak~ 's/function setUp()/function setUp(): void/g'"
96 - "find test/ -type f -iname '*.php' -print0 | xargs -0 sed -i.bak~ 's/function tearDown()/function tearDown(): void/g'"
108 - ./scripts/generate-mo --quiet
109 - ./vendor/bin/phpunit --configuration phpunit.xml.dist --exclude-group selenium,git-revision,network
112 name: "Run tests using phpunit 8"
114 - composer require --no-interaction php>=7.1
115 - composer remove phpunit/phpunit-selenium --dev --no-interaction
116 - composer remove phpunit/phpunit --dev --no-interaction
117 - composer require --dev --no-interaction phpunit/phpunit ^8
118 - rm -rf test/selenium
119 - "find test/ -type f -iname '*.php' -print0 | xargs -0 sed -i 's/function setUpBeforeClass()/function setUpBeforeClass(): void/g'"
120 - "find test/ -type f -iname '*.php' -print0 | xargs -0 sed -i 's/function setUp()/function setUp(): void/g'"
121 - "find test/ -type f -iname '*.php' -print0 | xargs -0 sed -i 's/function tearDown()/function tearDown(): void/g'"
126 - composer require --no-interaction php>=7.1
127 - composer remove phpunit/phpunit-selenium --dev --no-interaction
128 - composer remove phpunit/phpunit --dev --no-interaction
129 - composer require --dev --no-interaction phpunit/phpunit ^8
130 - rm -rf test/selenium
131 - "find test/ -type f -iname '*.php' -print0 | xargs -0 sed -i 's/function setUpBeforeClass()/function setUpBeforeClass(): void/g'"
132 - "find test/ -type f -iname '*.php' -print0 | xargs -0 sed -i 's/function setUp()/function setUp(): void/g'"
133 - "find test/ -type f -iname '*.php' -print0 | xargs -0 sed -i 's/function tearDown()/function tearDown(): void/g'"
134 - phpenv config-rm xdebug.ini
136 env: CI_MODE=test DBASE=true
138 - pecl channel-update pecl.php.net
140 - test/ci-install-test
142 env: CI_MODE=test DBASE=true
144 - pecl channel-update pecl.php.net
145 - pecl install dbase-5.1.1
146 - test/ci-install-test
150 - composer install --no-interaction --ignore-platform-reqs
157 - vendor/bin/phpcs --standard=phpcs.xml.dist
162 - env: CI_MODE=test DBASE=true
168 - $HOME/.composer/cache/
171 # Install APT packages
172 # - git > 2.5.1 needed for worktrees
173 # - mysql server does not seem to be always present on Travis Trusty environment