Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 39 additions & 22 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,43 +1,60 @@
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
env: MINK_PHP_BIN=~/.phpenv/versions/5.4/bin/php

# Start a webserver for web fixtures.
- vendor/bin/mink-test-server > /dev/null 2>&1 &
install:
- composer install --no-interaction

script: phpunit -v --coverage-clover=coverage.clover
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 &
- 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

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
23 changes: 23 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
./vendor/bin/mink-test-server
```
3. Start PhpUnit
```bash
composer require --dev phpunit/phpunit
./vendor/bin/phpunit -v --coverage-clover=coverage.clover
```

Copyright
---------

Expand Down
7 changes: 0 additions & 7 deletions bin/run-selenium-remote.sh

This file was deleted.

11 changes: 0 additions & 11 deletions bin/run-selenium.sh

This file was deleted.