From ba7fad434c26034e33f40c03553979724f9d685f Mon Sep 17 00:00:00 2001 From: Oleg Andreyev Date: Thu, 3 Jan 2019 03:55:35 +0200 Subject: [PATCH 01/10] fixing travis build - added docker for php >= 5.4 (trusty) - added php 7.3 - updated README - added DISPLAY env and xvfb for 5.3 (precise) --- .travis.yml | 63 +++++++++++++++++++++++++------------- README.md | 23 ++++++++++++++ bin/run-selenium-remote.sh | 7 ----- bin/run-selenium.sh | 11 ------- 4 files changed, 64 insertions(+), 40 deletions(-) delete mode 100644 bin/run-selenium-remote.sh delete mode 100644 bin/run-selenium.sh diff --git a/.travis.yml b/.travis.yml index 94e46a73..ef6763ef 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,43 +1,62 @@ language: php - sudo: false +dist: trusty -cache: - directories: - - $HOME/.composer/cache/files +services: + - docker -php: [5.4, 5.5, 5.6, 7.0, 7.1, 7.2] +php: + - 5.4 + - 5.5 + - 5.6 + - 7.0 + - 7.1 + - 7.2 + - 7.3 env: global: - - WEBDRIVER=selenium + - DISPLAY=:99.0 + +cache: + directories: + - $HOME/.composer/cache/files matrix: fast_finish: true include: - - php: 7.0 - env: WEBDRIVER=selenium-remote - sudo: required - services: - - docker - php: 5.3 dist: precise - # Force using PHP 5.6 for the test server as PHP 5.3 does not have the builtin webserver - env: MINK_PHP_BIN=~/.phpenv/versions/5.6/bin/php - -before_script: - - sh bin/run-"$WEBDRIVER".sh - - - composer install - # Start a webserver for web fixtures. - - vendor/bin/mink-test-server > /dev/null 2>&1 & +install: + - travis_retry composer install --no-interaction -script: phpunit -v --coverage-clover=coverage.clover +before_script: + - mkdir ./logs + - | + if [[ ${TRAVIS_PHP_VERSION:0:3} == "5.3" ]]; then + wget http://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-2.53.1.jar + sh -e /etc/init.d/xvfb start + java -jar selenium-server-standalone-2.53.1.jar &> ./logs/selenium.log & + else + docker run -p 4444:4444 --network=host -v /dev/shm:/dev/shm --shm-size 2g selenium/standalone-firefox:2.53.1 &> ./logs/selenium.log & + fi; + - until $(echo | nc localhost 4444); do sleep 1; echo Waiting for Selenium server on port 4444...; done; echo "Selenium server started" + # https://bugs.php.net/bug.php?id=71443 + - | + if [[ ${TRAVIS_PHP_VERSION:0:3} == "5.3" ]]; then + export MINK_PHP_BIN=~/.phpenv/versions/5.4/bin/php + fi; + USE_ZEND_ALLOC=0 travis_retry ${MINK_PHP_BIN-php} -d memory_limit=8G -S localhost:8002 -t ./vendor/mink/driver-testsuite/web-fixtures &> ./logs/mink-test-server.log & + - until $(echo | nc localhost 8002); do sleep 1; echo waiting for PHP server on port 8002...; done; echo "PHP server started" + +script: + - phpunit -v --coverage-clover=coverage.clover after_script: - wget https://scrutinizer-ci.com/ocular.phar - php ocular.phar code-coverage:upload --format=php-clover coverage.clover after_failure: - - cat /tmp/webdriver_output.txt + - cat ./logs/selenium.log + - cat ./logs/mink-test-server.log \ No newline at end of file diff --git a/README.md b/README.md index 01a9e3ce..61315cdd 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,29 @@ $> curl -sS http://getcomposer.org/installer | php $> php composer.phar install ``` +Testing +------------ + +1. Start WebDriver + 1. If you have Docker installed, run + ```bash + docker run -p 4444:4444 selenium/standalone-firefox:2.53.1 + ``` + 2. If you do not have Docker, but you have Java + ```bash + curl -L http://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-2.53.1.jar > selenium-server-standalone-2.53.1.jar + java -jar selenium-server-standalone-2.53.1.jar + ``` +2. Start WebServer by running + ``` bash + php -S localhost:8002 -t ./vendor/mink/driver-testsuite/web-fixtures + ``` +3. Start PhpUnit + ```bash + composer require --dev phpunit/phpunit + ./vendor/bin/phpunit -v --coverage-clover=coverage.clover + ``` + Copyright --------- diff --git a/bin/run-selenium-remote.sh b/bin/run-selenium-remote.sh deleted file mode 100644 index 9d2205d1..00000000 --- a/bin/run-selenium-remote.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env sh -set -e - -echo ' Downloading selenium' -docker pull selenium/standalone-firefox:2.53.1 -echo ' Running selenium' -docker run -d -p 4444:4444 --network=host selenium/standalone-firefox:2.53.1 diff --git a/bin/run-selenium.sh b/bin/run-selenium.sh deleted file mode 100644 index e846d3ae..00000000 --- a/bin/run-selenium.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env sh -set -e - -echo ' Starting XVFB' -sh -e /etc/init.d/xvfb start -export DISPLAY=:99.0 - -echo ' Downloading selenium' -curl -L http://selenium-release.storage.googleapis.com/2.52/selenium-server-standalone-2.52.0.jar > selenium.jar -echo ' Running selenium' -java -jar selenium.jar -log /tmp/webdriver.log > /tmp/webdriver_output.txt 2>&1 & From 62fe5d487df799dfee856203b5c4cf0ae0e22312 Mon Sep 17 00:00:00 2001 From: Oleg Andreyev Date: Fri, 25 Jan 2019 22:14:17 +0200 Subject: [PATCH 02/10] updated README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 61315cdd..de46cb8e 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ Testing ``` 2. Start WebServer by running ``` bash - php -S localhost:8002 -t ./vendor/mink/driver-testsuite/web-fixtures + ./vendor/bin/mink-test-server ``` 3. Start PhpUnit ```bash From e6bcfe1aca6f7d2049a409f79db46c4bcc063b49 Mon Sep 17 00:00:00 2001 From: Oleg Andreyev Date: Fri, 25 Jan 2019 22:14:31 +0200 Subject: [PATCH 03/10] updated .travis.yml --- .travis.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index ef6763ef..fa9a258d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,9 +27,10 @@ matrix: include: - php: 5.3 dist: precise + env: MINK_PHP_BIN=~/.phpenv/versions/5.4/bin/php install: - - travis_retry composer install --no-interaction + - composer install --no-interaction before_script: - mkdir ./logs @@ -41,13 +42,9 @@ before_script: else docker run -p 4444:4444 --network=host -v /dev/shm:/dev/shm --shm-size 2g selenium/standalone-firefox:2.53.1 &> ./logs/selenium.log & fi; + # https://bugs.php.net/bug.php?id=71443 + USE_ZEND_ALLOC=0 ./vendor/bin/mink-test-server &> ./logs/mink-test-server.log & - until $(echo | nc localhost 4444); do sleep 1; echo Waiting for Selenium server on port 4444...; done; echo "Selenium server started" - # https://bugs.php.net/bug.php?id=71443 - - | - if [[ ${TRAVIS_PHP_VERSION:0:3} == "5.3" ]]; then - export MINK_PHP_BIN=~/.phpenv/versions/5.4/bin/php - fi; - USE_ZEND_ALLOC=0 travis_retry ${MINK_PHP_BIN-php} -d memory_limit=8G -S localhost:8002 -t ./vendor/mink/driver-testsuite/web-fixtures &> ./logs/mink-test-server.log & - until $(echo | nc localhost 8002); do sleep 1; echo waiting for PHP server on port 8002...; done; echo "PHP server started" script: From 4d9c72480fcbe44453628faf67f7a53d8f7a36ab Mon Sep 17 00:00:00 2001 From: Oleg Andreyev Date: Fri, 25 Jan 2019 22:37:52 +0200 Subject: [PATCH 04/10] added comment to travis --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index fa9a258d..7c93a39d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -35,6 +35,7 @@ install: before_script: - mkdir ./logs - | + # PHP5.3 is only available on Ubuntu Precise, but docker service is not available, so using if [[ ${TRAVIS_PHP_VERSION:0:3} == "5.3" ]]; then wget http://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-2.53.1.jar sh -e /etc/init.d/xvfb start From 516cf6d9bfa8fb4aafb84366adbf8af17f8a7f32 Mon Sep 17 00:00:00 2001 From: Oleg Andreyev Date: Sat, 22 Jun 2019 22:23:40 +0300 Subject: [PATCH 05/10] removed 5.3 support, reusing dev-drop-php-53-force-phpunit-less-8, added WEB_FIXTURES_HOST for MacOS --- .travis.yml | 24 ++++-------------------- composer.json | 13 +++++++++---- phpunit.xml.dist | 5 ++++- 3 files changed, 17 insertions(+), 25 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7c93a39d..72b684ca 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,34 +22,18 @@ cache: directories: - $HOME/.composer/cache/files -matrix: - fast_finish: true - include: - - php: 5.3 - dist: precise - env: MINK_PHP_BIN=~/.phpenv/versions/5.4/bin/php - install: - composer install --no-interaction before_script: - mkdir ./logs - - | - # PHP5.3 is only available on Ubuntu Precise, but docker service is not available, so using - if [[ ${TRAVIS_PHP_VERSION:0:3} == "5.3" ]]; then - wget http://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-2.53.1.jar - sh -e /etc/init.d/xvfb start - java -jar selenium-server-standalone-2.53.1.jar &> ./logs/selenium.log & - else - docker run -p 4444:4444 --network=host -v /dev/shm:/dev/shm --shm-size 2g selenium/standalone-firefox:2.53.1 &> ./logs/selenium.log & - fi; - # https://bugs.php.net/bug.php?id=71443 - USE_ZEND_ALLOC=0 ./vendor/bin/mink-test-server &> ./logs/mink-test-server.log & + - docker run -p 4444:4444 --network=host -v /dev/shm:/dev/shm --shm-size 2g selenium/standalone-firefox:2.53.1 &> ./logs/selenium.log & + - ./vendor/bin/mink-test-server &> ./logs/mink-test-server.log & - until $(echo | nc localhost 4444); do sleep 1; echo Waiting for Selenium server on port 4444...; done; echo "Selenium server started" - until $(echo | nc localhost 8002); do sleep 1; echo waiting for PHP server on port 8002...; done; echo "PHP server started" script: - - phpunit -v --coverage-clover=coverage.clover + - ./vendor/bin/simple-phpunit -v --coverage-clover=coverage.clover after_script: - wget https://scrutinizer-ci.com/ocular.phar @@ -57,4 +41,4 @@ after_script: after_failure: - cat ./logs/selenium.log - - cat ./logs/mink-test-server.log \ No newline at end of file + - cat ./logs/mink-test-server.log diff --git a/composer.json b/composer.json index bda59eae..644c7ec6 100644 --- a/composer.json +++ b/composer.json @@ -18,15 +18,20 @@ "homepage": "http://everzet.com" } ], - + "repositories": [ + { + "type": "vcs", + "url": "https://github.com/oleg-andreyev/driver-testsuite.git", + "no-api": true + } + ], "require": { - "php": ">=5.3.1", + "php": ">=5.4", "behat/mink": "~1.7@dev", "instaclick/php-webdriver": "~1.1" }, - "require-dev": { - "mink/driver-testsuite": "dev-master" + "mink/driver-testsuite": "dev-drop-php-53-force-phpunit-less-8" }, "autoload": { diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 58a01533..66f0cddd 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -12,7 +12,10 @@ - + + + + From 1995cee65345c8fc9a4bbc28aec19bc2c56928f7 Mon Sep 17 00:00:00 2001 From: Oleg Andreyev Date: Sun, 23 Jun 2019 00:13:22 +0300 Subject: [PATCH 06/10] forcing 7.3.6 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 72b684ca..61cc8ce5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ php: - 7.0 - 7.1 - 7.2 - - 7.3 + - 7.3.6 env: global: From 44afaa08e70a9f61a402e833ea49d638974a2e68 Mon Sep 17 00:00:00 2001 From: Oleg Andreyev Date: Sun, 23 Jun 2019 00:44:23 +0300 Subject: [PATCH 07/10] changed dist to xenial, added matrix for 5.x and trusty --- .travis.yml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 61cc8ce5..b2118b19 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,19 +1,26 @@ language: php sudo: false -dist: trusty +dist: xenial services: - docker php: - - 5.4 - - 5.5 - - 5.6 - 7.0 - 7.1 - 7.2 - 7.3.6 +matrix: + fast_finish: true + include: + - php: 5.4 + dist: trusty + - php: 5.5 + dist: trusty + - php: 5.6 + dist: trusty + env: global: - DISPLAY=:99.0 From ae16cc4a4ff646f2cf92b462455363d62f153baf Mon Sep 17 00:00:00 2001 From: Oleg Andreyev Date: Sun, 23 Jun 2019 00:52:50 +0300 Subject: [PATCH 08/10] added 7.4snapshot --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index b2118b19..e5cdaa00 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,6 +13,8 @@ php: matrix: fast_finish: true + allow_failures: + - php: 7.4snapshot include: - php: 5.4 dist: trusty From bfb6ce573489fd261e26ebb18a729140be1fdeb8 Mon Sep 17 00:00:00 2001 From: Oleg Andreyev Date: Sun, 23 Jun 2019 01:00:27 +0300 Subject: [PATCH 09/10] added 7.4snapshot --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index e5cdaa00..93ff6133 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,6 +10,7 @@ php: - 7.1 - 7.2 - 7.3.6 + - 7.4snapshot matrix: fast_finish: true From 1a00312f29f239e554e23a600504965493526f55 Mon Sep 17 00:00:00 2001 From: Oleg Andreyev Date: Wed, 28 Aug 2019 15:54:18 +0300 Subject: [PATCH 10/10] removed repository override --- composer.json | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/composer.json b/composer.json index 644c7ec6..0ee2ffd7 100644 --- a/composer.json +++ b/composer.json @@ -18,20 +18,13 @@ "homepage": "http://everzet.com" } ], - "repositories": [ - { - "type": "vcs", - "url": "https://github.com/oleg-andreyev/driver-testsuite.git", - "no-api": true - } - ], "require": { "php": ">=5.4", "behat/mink": "~1.7@dev", "instaclick/php-webdriver": "~1.1" }, "require-dev": { - "mink/driver-testsuite": "dev-drop-php-53-force-phpunit-less-8" + "mink/driver-testsuite": "dev-master" }, "autoload": {