diff --git a/.travis.yml b/.travis.yml index adb99edd3f..8f87fd94b7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,6 +18,7 @@ env: - TESTSUITE_BROWSERSTACK_USER=phpMyAdmin - TESTSUITE_USER=root - TESTSUITE_PASSWORD=root + - TESTSUITE_SELENIUM_COVERAGE=http://127.0.0.1:8000/phpunit_coverage.php before_script: - mysql -uroot -e "SET PASSWORD = PASSWORD('$TESTSUITE_PASSWORD')" ; - if [[ -z "$LINT" ]] ; then @@ -42,6 +43,13 @@ before_script: if [[ ! -z "$SELENIUM" ]] ; then + find ~/.phpenv/versions ; + + ln -s ~/.phpenv/versions/$(phpenv version-name)/usr/share/php/PHPUnit/Extensions/SeleniumCommon/phpunit_coverage.php . ; + + echo auto_prepend_file = ~/.phpenv/versions/$(phpenv version-name)/usr/share/php/PHPUnit/Extensions/SeleniumCommon/prepend.php >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini ; + echo auto_append_file = ~/.phpenv/versions/$(phpenv version-name)/usr/share/php/PHPUnit/Extensions/SeleniumCommon/append.php >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini ; + php --server 127.0.0.1:8000 & wget http://www.browserstack.com/BrowserStackTunnel.jar ; java -jar BrowserStackTunnel.jar -localIdentifier "travis-$TRAVIS_JOB_NUMBER" -onlyAutomate "$TESTSUITE_BROWSERSTACK_KEY" 127.0.0.1,8000,0 & diff --git a/test/bootstrap-dist.php b/test/bootstrap-dist.php index c02fd589f6..fd1e078c59 100644 --- a/test/bootstrap-dist.php +++ b/test/bootstrap-dist.php @@ -29,6 +29,7 @@ $test_defaults = array( 'TESTSUITE_SELENIUM_HOST' => '', 'TESTSUITE_SELENIUM_PORT' => '4444', 'TESTSUITE_SELENIUM_BROWSER' => 'firefox', + 'TESTSUITE_SELENIUM_COVERAGE' => '', 'TESTSUITE_BROWSERSTACK_USER' => '', 'TESTSUITE_BROWSERSTACK_KEY' => '', 'TESTSUITE_FULL' => '', diff --git a/test/selenium/TestBase.php b/test/selenium/TestBase.php index daa7174379..bd2b11e72c 100644 --- a/test/selenium/TestBase.php +++ b/test/selenium/TestBase.php @@ -157,7 +157,12 @@ abstract class PMA_SeleniumBase extends PHPUnit_Extensions_Selenium2TestCase public function prepareSession() { $result = parent::prepareSession(); - $this->url(''); + if (! empty($GLOBALS['TESTSUITE_SELENIUM_COVERAGE'])) { + $this->coverageScriptUrl = $GLOBALS['TESTSUITE_SELENIUM_COVERAGE']; + $this->url($this->coverageScriptUrl); + } else { + $this->url(''); + } return $result; }