diff --git a/test/combine_coverage.php b/test/combine_coverage.php index 1fc757c..b7fb74e 100644 --- a/test/combine_coverage.php +++ b/test/combine_coverage.php @@ -1,5 +1,7 @@ process($codeCoverage); diff --git a/test/dir2castWithCoverage.php b/test/dir2castWithCoverage.php index 9996f3a..d40a692 100644 --- a/test/dir2castWithCoverage.php +++ b/test/dir2castWithCoverage.php @@ -10,8 +10,14 @@ $filter = new Filter; $filter->includeDirectory('../../dir2cast.php'); +if(isset($_SERVER['PATH_COVERAGE']) && $_SERVER['PATH_COVERAGE'] != '') { + $selector = (new Selector)->forLineAndPathCoverage($filter); +} else { + $selector = (new Selector)->forLineCoverage($filter); +} + $coverage = new CodeCoverage( - (new Selector)->forLineCoverage($filter), + $selector, $filter ); diff --git a/test/run.sh b/test/run.sh index eada275..11f01d9 100755 --- a/test/run.sh +++ b/test/run.sh @@ -1,6 +1,14 @@ #!/bin/bash set -e +# Test runner. +# +# Usage: +# +# ./test/run.sh # runs all tests +# ./test/run.sh FilenameTest.php # runs only that test +# PATH_COVERAGE=yes ./test/run.sh # adds more (but slower) coverage reporting + SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) cd "$SCRIPT_DIR" @@ -21,6 +29,20 @@ fi export XDEBUG_MODE=coverage rm -f /tmp/cov-* -vendor/bin/phpunit --bootstrap "$SCRIPT_DIR/bootstrap.php" --coverage-php /tmp/cov-main --coverage-filter ../dir2cast.php ${tests[@]} + +export PATH_COVERAGE=${PATH_COVERAGE:-} +PATH_COVERAGE_OPTION="" + +if [[ "$PATH_COVERAGE" != '' ]]; then + PATH_COVERAGE_OPTION="--path-coverage" +fi + +vendor/bin/phpunit \ + --bootstrap "$SCRIPT_DIR/bootstrap.php" \ + --coverage-php /tmp/cov-main \ + --coverage-filter ../dir2cast.php \ + $PATH_COVERAGE_OPTION \ + ${tests[@]} + php combine_coverage.php rm -rf testdir /tmp/cov-*