Merge pull request #6774 from open-sausages/pulls/4.0/test-config

Update test configuration
This commit is contained in:
Chris Joe 2017-04-05 14:41:56 +12:00 committed by GitHub
commit 837229a156
3 changed files with 61 additions and 73 deletions

View File

@ -10,62 +10,78 @@ addons:
env: env:
global: global:
- COMPOSER_ROOT_VERSION=4.0.x-dev - COMPOSER_ROOT_VERSION=4.0.x-dev
- DISPLAY=":99"
- XVFBARGS=":99 -ac -screen 0 1024x768x16"
matrix: matrix:
fast_finish: true fast_finish: true
include: include:
- php: 5.6 - php: 5.6
env: DB=PGSQL PHPUNIT_TEST=1 env:
- DB=PGSQL
- PHPUNIT_TEST=framework
- php: 5.6 - php: 5.6
env: DB=MYSQL PHPUNIT_TEST=1 PHPCS_TEST=1 env:
- DB=MYSQL
- PHPUNIT_COVERAGE_TEST=framework
- PHPCS_TEST=1
- php: 7.0 - php: 7.0
env: DB=MYSQL PHPUNIT_TEST=1 env:
- php: 7.1 - DB=MYSQL
env: DB=MYSQL PDO=1 PHPUNIT_COVERAGE_TEST=1 - PHPUNIT_TEST=framework
- php: 7.1.2
env:
- DB=MYSQL
- PDO=1
- PHPUNIT_TEST=framework
- php: 5.6 - php: 5.6
env: DB=MYSQL BEHAT_TEST=1 env:
- DB=MYSQL
- BEHAT_TEST=framework
- php: 5.6 - php: 5.6
env: DB=MYSQL CMS_TEST=1 PHPUNIT_TEST=1 env:
- DB=MYSQL
- PHPUNIT_TEST=cms
- php: 5.6 - php: 5.6
env: DB=MYSQL CMS_TEST=1 BEHAT_TEST=1 env:
- DB=MYSQL
- BEHAT_TEST=cms
before_script: before_script:
# Init PHP
- export CORE_RELEASE=$TRAVIS_BRANCH - export CORE_RELEASE=$TRAVIS_BRANCH
- printf "\n" | pecl install imagick - printf "\n" | pecl install imagick
- "if [ \"$PHPCS_TEST\" = \"1\" ]; then pyrus install pear/PHP_CodeSniffer; fi" - if [[ $PHPCS_TEST ]]; then pyrus install pear/PHP_CodeSniffer; fi
- phpenv rehash - phpenv rehash
- phpenv config-rm xdebug.ini - phpenv config-rm xdebug.ini
- echo 'memory_limit = 2048M' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini - echo 'memory_limit = 2048M' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
- "export DISPLAY=\":99\""
- "export XVFBARGS=\":99 -ac -screen 0 1024x768x16\"" # Install composer dependencies
- composer validate
- composer install --prefer-dist - composer install --prefer-dist
- "if [ \"$DB\" = \"PGSQL\" ]; then composer require silverstripe/postgresql:2.0.x-dev --prefer-dist; fi" - if [[ $DB == PGSQL ]]; then composer require silverstripe/postgresql:2.0.x-dev --prefer-dist; fi
- "if [ \"$DB\" = \"SQLITE\" ]; then composer require silverstripe/sqlite3:2.0.x-dev --prefer-dist; fi" - if [[ $DB == SQLITE ]]; then composer require silverstripe/sqlite3:2.0.x-dev --prefer-dist; fi
- composer require silverstripe/config:1.0.x-dev silverstripe/admin:1.0.x-dev silverstripe/assets:1.0.x-dev silverstripe/versioned:1.0.x-dev --prefer-dist - composer require silverstripe/config:1.0.x-dev silverstripe/admin:1.0.x-dev silverstripe/assets:1.0.x-dev silverstripe/versioned:1.0.x-dev --prefer-dist
- "if [ \"$CMS_TEST\" = \"1\" ]; then composer require silverstripe/cms:4.0.x-dev silverstripe/campaign-admin:1.0.x-dev silverstripe/siteconfig:4.0.x-dev silverstripe/reports:4.0.x-dev --prefer-dist; fi" - if [[ $PHPUNIT_TEST == cms ]] || [[ $BEHAT_TEST == cms ]]; then composer require silverstripe/cms:4.0.x-dev silverstripe/campaign-admin:1.0.x-dev silverstripe/siteconfig:4.0.x-dev silverstripe/reports:4.0.x-dev --prefer-dist; fi
- "if [ \"$CMS_TEST\" = \"1\" ]; then php ./cms/tests/bootstrap/mysite.php; fi"
- "if [ \"$BEHAT_TEST\" = \"1\" ]; then sh -e /etc/init.d/xvfb start; sleep 3; fi" # Bootstrap dependencies
- "if [ \"$BEHAT_TEST\" = \"1\" ]; then (vendor/bin/selenium-server-standalone > selenium.log 2>&1 &); fi" - if [[ $PHPUNIT_TEST == cms ]] || [[ $BEHAT_TEST == cms ]]; then php ./cms/tests/bootstrap/mysite.php; fi
- "if [ \"$BEHAT_TEST\" = \"1\" ] && [ \"$CMS_TEST\" = \"\" ]; then (vendor/bin/serve --bootstrap-file tests/behat/serve-bootstrap.php &> serve.log &); fi"
- "if [ \"$BEHAT_TEST\" = \"1\" ] && [ \"$CMS_TEST\" = \"1\" ]; then (vendor/bin/serve --bootstrap-file cms/tests/behat/serve-bootstrap.php &> serve.log &); fi" # Start behat services
- if [[ $BEHAT_TEST ]]; then sh -e /etc/init.d/xvfb start; sleep 3; fi
- if [[ $BEHAT_TEST ]]; then (vendor/bin/selenium-server-standalone > selenium.log 2>&1 &); fi
- if [[ $BEHAT_TEST == framework ]]; then (vendor/bin/serve --bootstrap-file tests/behat/serve-bootstrap.php &> serve.log &); fi
- if [[ $BEHAT_TEST == cms ]]; then (vendor/bin/serve --bootstrap-file cms/tests/behat/serve-bootstrap.php &> serve.log &); fi
script: script:
- "if [ \"$PHPUNIT_TEST\" = \"1\" ] && [ \"$CMS_TEST\" = \"\" ]; then vendor/bin/phpunit; fi" - if [[ $PHPUNIT_TEST ]]; then vendor/bin/phpunit --testsuite $PHPUNIT_TEST; fi
- "if [ \"$PHPUNIT_COVERAGE_TEST\" = \"1\" ] && [ \"$CMS_TEST\" = \"\" ]; then phpdbg -qrr ./vendor/bin/phpunit --coverage-clover=coverage.xml; fi" - if [[ $PHPUNIT_COVERAGE_TEST ]]; then vendor/bin/phpunit --testsuite $PHPUNIT_COVERAGE_TEST --coverage-clover=coverage.xml; fi
- "if [ \"$PHPUNIT_TEST\" = \"1\" ] && [ \"$CMS_TEST\" = \"1\" ]; then vendor/bin/phpunit cms/tests; fi" - if [[ $BEHAT_TEST == framework ]]; then vendor/bin/behat --config tests/behat/config.yml .; fi
- "if [ \"$BEHAT_TEST\" = \"1\" ] && [ \"$CMS_TEST\" = \"\" ]; then vendor/bin/behat --config tests/behat/config.yml .; fi" - if [[ $BEHAT_TEST == cms ]]; then vendor/bin/behat @cms --config tests/behat/cms-config.yml; fi
- "if [ \"$BEHAT_TEST\" = \"1\" ] && [ \"$CMS_TEST\" = \"1\" ]; then vendor/bin/behat @cms --config tests/behat/cms-config.yml; fi" - if [[ $PHPCS_TEST ]]; then composer run-script lint; fi
- "if [ \"$PHPCS_TEST\" = \"1\" ]; then composer run-script lint; fi"
after_success: after_success:
- "if [ \"$PHPUNIT_COVERAGE_TEST\" = \"1\" ] && [ \"$CMS_TEST\" = \"\" ]; then bash <(curl -s https://codecov.io/bash) -f coverage.xml; fi" - if [[ $PHPUNIT_COVERAGE_TEST ]]; then bash <(curl -s https://codecov.io/bash) -f coverage.xml; fi
after_failure: after_failure:
- php ./tests/behat/travis-upload-artifacts.php --if-env BEHAT_TEST,ARTIFACTS_BUCKET,ARTIFACTS_KEY,ARTIFACTS_SECRET --target-path $TRAVIS_REPO_SLUG/$TRAVIS_BUILD_ID/$TRAVIS_JOB_ID --artifacts-base-url https://s3.amazonaws.com/$ARTIFACTS_BUCKET/ - if [[ $BEHAT_TEST ]]; then php ./tests/behat/travis-upload-artifacts.php --if-env BEHAT_TEST,ARTIFACTS_BUCKET,ARTIFACTS_KEY,ARTIFACTS_SECRET --target-path $TRAVIS_REPO_SLUG/$TRAVIS_BUILD_ID/$TRAVIS_JOB_ID --artifacts-base-url https://s3.amazonaws.com/$ARTIFACTS_BUCKET/; fi
branches:
except:
- 2.1
- 2.2
- 2.3
- translation-staging

View File

@ -74,6 +74,6 @@
"scripts": { "scripts": {
"lint": "phpcs --standard=tests/phpcs/ruleset.xml src/ tests/php" "lint": "phpcs --standard=tests/phpcs/ruleset.xml src/ tests/php"
}, },
"min-stability": "dev", "minimum-stability": "dev",
"prefer-stable": true "prefer-stable": true
} }

View File

@ -1,44 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- <!--
PHPUnit configuration for SilverStripe Standard module phpunit configuration.
Requires PHPUnit ^5.7
Requires PHPUnit 3.5+
Usage:
- "phpunit": Runs all tests in all folders
- "phpunit framework/tests/": Run all tests of the framework module
- "phpunit framework/tests/filesystem": Run all filesystem tests within the framework module
- "phpunit framework/tests/filesystem/FolderTest.php": Run a single test
- "phpunit <dash><dash>coverage-html assets/": Generate coverage report (replace <dash> with "-", requires xdebug)
More information:
- http://www.phpunit.de/manual/current/en/textui.html
- http://doc.silverstripe.org/framework/en/topics/testing/#configuration
It is safe to remove this file for normal website operation.
--> -->
<phpunit bootstrap="tests/bootstrap.php" colors="true"> <phpunit bootstrap="tests/bootstrap.php" colors="true">
<testsuite name="Default"> <testsuite name="Default">
<directory>tests/php</directory> <directory>tests/php</directory>
<directory>silverstripe-admin/tests/php</directory> </testsuite>
<directory>silverstripe-assets/tests/php</directory> <testsuite name="framework">
<directory>versioned/tests/php</directory> <directory>tests/php</directory>
</testsuite> </testsuite>
<testsuite name="cms">
<groups> <directory>cms/tests</directory>
<exclude> </testsuite>
<group>sanitychecks</group>
</exclude>
</groups>
<filter>
<whitelist addUncoveredFilesFromWhitelist="true">
<directory suffix=".php">.</directory>
<exclude>
<directory suffix=".php">thirdparty/</directory>
<directory suffix=".php">tests/php/</directory>
</exclude>
</whitelist>
</filter>
</phpunit> </phpunit>