diff options
author | sgiehl <stefan@piwik.org> | 2014-08-17 23:41:24 +0400 |
---|---|---|
committer | sgiehl <stefan@piwik.org> | 2014-08-17 23:41:24 +0400 |
commit | e7da07ab0cacb0a5e89235a9c3d4ab807116b847 (patch) | |
tree | 94c9ad3744260be5a8a6339a55a1431e9f347c13 | |
parent | 1a40bc2c589e6f74621d1126454bd5901aa302ff (diff) |
refs #4224, #4302 - added code coverage report using coveralls.io
-rw-r--r-- | .coveralls.yml | 3 | ||||
-rw-r--r-- | .travis.yml | 22 | ||||
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | plugins/CoreConsole/templates/travis.yml.twig | 8 | ||||
-rw-r--r-- | tests/PHPUnit/phpunit.xml.dist | 13 | ||||
-rwxr-xr-x | tests/travis/travis.sh | 14 |
6 files changed, 61 insertions, 1 deletions
diff --git a/.coveralls.yml b/.coveralls.yml new file mode 100644 index 0000000000..f289677959 --- /dev/null +++ b/.coveralls.yml @@ -0,0 +1,3 @@ +service_name: travis-ci +src_dir: . +coverage_clover: build/logs/clover-*.xml
\ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 95003d4a40..5029c10cca 100644 --- a/.travis.yml +++ b/.travis.yml @@ -34,6 +34,20 @@ matrix: allow_failures: - php: hhvm - php: 5.6 + - php: 5.4 + env: MYSQL_ADAPTER=PDO_MYSQL COVERAGE=Core + - php: 5.4 + env: MYSQL_ADAPTER=PDO_MYSQL COVERAGE=Plugins + - php: 5.4 + env: MYSQL_ADAPTER=PDO_MYSQL COVERAGE=Integration + include: + # Code Coverage + - php: 5.4 + env: MYSQL_ADAPTER=PDO_MYSQL COVERAGE=Core + - php: 5.4 + env: MYSQL_ADAPTER=PDO_MYSQL COVERAGE=Plugins + - php: 5.4 + env: MYSQL_ADAPTER=PDO_MYSQL COVERAGE=Integration exclude: # Javascript tests need to run only on one PHP version - php: 5.4 @@ -91,6 +105,10 @@ install: - git checkout master -- ./tests/travis ./plugins/CoreConsole || true before_script: + - if [ -z "$TEST_SUITE" ]; + then composer require satooshi/php-coveralls dev-master; + fi + - ./tests/travis/configure_git.sh # print out mysql information @@ -139,6 +157,10 @@ after_script: # change directory back to root travis dir - cd $PIWIK_ROOT_DIR + - if [ -z "$TEST_SUITE" ]; + then php vendor/bin/coveralls -v; + fi + # output contents of files w/ debugging info to screen - cat /var/log/nginx/error.log - cat $PIWIK_ROOT_DIR/tmp/php-fpm.log @@ -101,3 +101,5 @@ The Piwik project uses an ever-expanding comprehensive set of thousands of unit Build status (master branch) [![Build Status](https://travis-ci.org/piwik/piwik.png?branch=master)](https://travis-ci.org/piwik/piwik) - Screenshot tests Build [![Build Status](https://travis-ci.org/piwik/piwik-ui-tests.png?branch=master)](https://travis-ci.org/piwik/piwik-ui-tests) +Code Coverage: [![Coverage Status](https://coveralls.io/repos/piwik/piwik/badge.png?branch=master)](https://coveralls.io/r/piwik/piwik?branch=master) + diff --git a/plugins/CoreConsole/templates/travis.yml.twig b/plugins/CoreConsole/templates/travis.yml.twig index 6b52f22558..553f5ae7b4 100644 --- a/plugins/CoreConsole/templates/travis.yml.twig +++ b/plugins/CoreConsole/templates/travis.yml.twig @@ -96,6 +96,10 @@ install: {% endif %} before_script: + - if [ -z "$TEST_SUITE" ]; + then composer require satooshi/php-coveralls dev-master; + fi + - ./tests/travis/configure_git.sh # print out mysql information @@ -147,6 +151,10 @@ after_script: # change directory back to root travis dir - cd $PIWIK_ROOT_DIR + - if [ -z "$TEST_SUITE" ]; + then php vendor/bin/coveralls -v; + fi + # output contents of files w/ debugging info to screen - cat /var/log/nginx/error.log - cat $PIWIK_ROOT_DIR/tmp/php-fpm.log diff --git a/tests/PHPUnit/phpunit.xml.dist b/tests/PHPUnit/phpunit.xml.dist index d344206dd2..26fbd60a59 100644 --- a/tests/PHPUnit/phpunit.xml.dist +++ b/tests/PHPUnit/phpunit.xml.dist @@ -47,4 +47,17 @@ </testsuite> </testsuites> +<filter> + <whitelist addUncoveredFilesFromWhitelist="true"> + <directory suffix=".php">../../core</directory> + <directory suffix=".php">../../plugins</directory> + <exclude> + <directory suffix=".php">../../core/Updates</directory> + <directory suffix=".php">../../plugins/*/Updates</directory> + <directory suffix=".php">../../plugins/*/libs</directory> + <directory suffix=".php">../../plugins/*/tests</directory> + </exclude> + </whitelist> +</filter> + </phpunit> diff --git a/tests/travis/travis.sh b/tests/travis/travis.sh index b3d0a7f375..2d1d9ebac1 100755 --- a/tests/travis/travis.sh +++ b/tests/travis/travis.sh @@ -64,5 +64,17 @@ then fi fi else - travis_wait phpunit --configuration phpunit.xml --coverage-text --colors + if [ "$COVERAGE" = "Integration" ] + then + echo "Executing non Integration tests in test suite IntegrationTests..." + phpunit --configuration phpunit.xml --testsuite IntegrationTests --exclude-group Integration --colors --coverage-clover $TRAVIS_BUILD_DIR/build/logs/clover-integration.xml || true + elif [ "$COVERAGE" = "Core" ] + then + echo "Executing tests in test suite CoreTests..." + phpunit --configuration phpunit.xml --testsuite CoreTests --colors --coverage-clover $TRAVIS_BUILD_DIR/build/logs/clover-core.xml || true + elif [ "$COVERAGE" = "Plugins" ] + then + echo "Executing tests in test suite PluginTests..." + phpunit --configuration phpunit.xml --testsuite PluginTests --colors --coverage-clover $TRAVIS_BUILD_DIR/build/logs/clover-plugins.xml || true + fi; fi
\ No newline at end of file |