diff --git a/.travis.yml b/.travis.yml index d69e0b99b8b937f2ab02827f131fd7dfc564528e..fc7dc03ee91f45c982799c8e99847e84a7207575 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,46 +32,8 @@ matrix: env: TEST_SUITE=static_annotation - php: 7.0 env: TEST_SUITE=static_phpcs - - php: 7.0 + - php: env: TEST_SUITE=static_annotation -before_install: - - sh -c 'if [ "$CASHER_DIR" ]; then - if [ -x $HOME/.cache/bin/composer ]; then - $HOME/.cache/bin/composer self-update; echo ''; - else - mkdir -p $HOME/.cache/bin; - curl --connect-timeout 30 -sS https://getcomposer.org/installer - | php -- --install-dir $HOME/.cache/bin/ --filename composer; - fi - fi' - - export PATH="$HOME/.cache/bin:$PATH" -before_script: - # Mock mail - - sudo service postfix stop - - smtp-sink -d "%d.%H.%M.%S" localhost:2500 1000 & - - echo 'sendmail_path = "/usr/sbin/sendmail -t -i "' > $(php --ini|grep -m 1 "ini files in:"|cut -d ":" -f 2)/sendmail.ini - # Disable xDebug - - echo '' > ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini - # Create DB for integration tests - - > - sh -c "if [ '$TEST_SUITE' = 'integration_part_1' ] || [ '$TEST_SUITE' = 'integration_part_2' ] || [ '$TEST_SUITE' = 'integration_integrity' ]; then - mysql -uroot -e 'SET @@global.sql_mode = NO_ENGINE_SUBSTITUTION; CREATE DATABASE magento_integration_tests;'; - mv dev/tests/integration/etc/install-config-mysql.travis.php.dist dev/tests/integration/etc/install-config-mysql.php; - fi" - # Change memory_limit for travis - - echo 'memory_limit = -1' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini - - phpenv rehash; - - composer install --no-interaction --prefer-dist -script: - # Unit tests - - sh -c "if [ '$TEST_SUITE' = 'unit' ]; then ./vendor/bin/phpunit -c dev/tests/unit/phpunit.xml.dist; fi" - # Integration tests - - sh -c "if [ '$TEST_SUITE' = 'integration_part_1' ] || [ '$TEST_SUITE' = 'integration_part_2' ]; then cd dev/tests/integration/; bash IntegationTestsForTravis.sh 2; fi" - - sh -c "if [ '$TEST_SUITE' = 'integration_part_1' ]; then cd dev/tests/integration/; ./../../../vendor/bin/phpunit -c phpunit.xml.travis1; fi" - - sh -c "if [ '$TEST_SUITE' = 'integration_part_2' ]; then cd dev/tests/integration/; ./../../../vendor/bin/phpunit -c phpunit.xml.travis2; fi" - # Integration integrity tests - - sh -c "if [ '$TEST_SUITE' = 'integration_integrity' ]; then cd dev/tests/integration/; ./../../../vendor/bin/phpunit -c phpunit.xml.dist testsuite/Magento/Test/Integrity; fi" - # Static tests [Code Style] - - sh -c "if [ '$TEST_SUITE' = 'static_phpcs' ]; then cd dev/tests/static; ./../../../vendor/bin/phpunit -c phpunit.xml.dist --filter 'Magento\\\\Test\\\\Php\\\\LiveCodeTest::testCodeStyle'; fi" - # Static tests [Code Style] - - sh -c "if [ '$TEST_SUITE' = 'static_annotation' ]; then cd dev/tests/static; ./../../../vendor/bin/phpunit -c phpunit.xml.dist --filter 'Magento\\\\Test\\\\Php\\\\LiveCodeTest::testAnnotationStandard'; fi" +before_install: ./dev/travis/before_install.sh +before_script: ./dev/travis/before_script.sh +script: ./dev/travis/script.sh diff --git a/dev/travis/before_install.sh b/dev/travis/before_install.sh new file mode 100755 index 0000000000000000000000000000000000000000..3eb77fa94d132002725ad9662963f13f3ced56c3 --- /dev/null +++ b/dev/travis/before_install.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +# Copyright © 2015 Magento. All rights reserved. +# See COPYING.txt for license details. + +# install or update composer in casher dir +if [ "$CASHER_DIR" ]; then + if [ -x $HOME/.cache/bin/composer ]; then + $HOME/.cache/bin/composer self-update + else + mkdir -p $HOME/.cache/bin + curl --connect-timeout 30 -sS https://getcomposer.org/installer \ + | php -- --install-dir $HOME/.cache/bin/ --filename composer + fi +fi diff --git a/dev/travis/before_script.sh b/dev/travis/before_script.sh new file mode 100755 index 0000000000000000000000000000000000000000..8f3b0c6fd173249b40c4292175ba998e910737c8 --- /dev/null +++ b/dev/travis/before_script.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +# Copyright © 2015 Magento. All rights reserved. +# See COPYING.txt for license details. + +# prefer our cached binaries +export PATH="$HOME/.cache/bin:$PATH" + +# mock mail +sudo service postfix stop +smtp-sink -d "%d.%H.%M.%S" localhost:2500 1000 & +echo 'sendmail_path = "/usr/sbin/sendmail -t -i "' > ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/sendmail.ini + +# disable xDebug +echo > ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini + +# create database for integration tests +case $TEST_SUITE in + integration_part_1|integration_part_2) + ./dev/tests/integration/IntegationTestsForTravis.sh 2 + ;& # intentional fallthrough + integration_integrity) + mysql -uroot -e 'SET @@global.sql_mode = NO_ENGINE_SUBSTITUTION; CREATE DATABASE magento_integration_tests;' + mv dev/tests/integration/etc/install-config-mysql.travis.php.dist \ + dev/tests/integration/etc/install-config-mysql.php + ;; +esac + +# change memory_limit for travis +echo 'memory_limit = -1' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini +phpenv rehash; + +# install deps +composer install --no-interaction --prefer-dist diff --git a/dev/travis/script.sh b/dev/travis/script.sh new file mode 100755 index 0000000000000000000000000000000000000000..fad2f5cc2e8613c6baef41eb064fc1856e4b0683 --- /dev/null +++ b/dev/travis/script.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +# Copyright © 2015 Magento. All rights reserved. +# See COPYING.txt for license details. + +PATH="./../../../vendor/bin:$PATH" + +case $TEST_SUITE in + unit) + cd dev/tests/unit + phpunit -c phpunit.xml.dist + ;; + integration_part_1) + cd dev/tests/integration + phpunit -c phpunit.xml.travis1 + ;; + integration_part_2) + cd dev/tests/integration + phpunit -c phpunit.xml.travis2 + ;; + integration_integrity) + cd dev/tests/integration + phpunit -c phpunit.xml.dist testsuite/Magento/Test/Integrity + ;; + static_phpcs) + cd dev/tests/static + phpunit -c phpunit.xml.dist --filter 'Magento\\Test\\Php\\LiveCodeTest::testCodeStyle' + ;; + static_annotation) + cd dev/tests/static + phpunit -c phpunit.xml.dist --filter 'Magento\\Test\\Php\\LiveCodeTest::testAnnotationStandard' + ;; +esac