diff --git a/.gitattributes b/.gitattributes
index c56b6ed..a7dcd17 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,6 +1,10 @@
/.gitattributes export-ignore
/.gitignore export-ignore
/.travis.yml export-ignore
+/composer-require-checker.json export-ignore
/box.json.dist export-ignore
+/phpcs.xml.dist export-ignore
+/phpstan.neon.dist export-ignore
/phpunit.xml.dist export-ignore
+/.github/ export-ignore
/test/ export-ignore
diff --git a/.github/lint-xml-configuration/Dockerfile b/.github/lint-xml-configuration/Dockerfile
new file mode 100644
index 0000000..117737d
--- /dev/null
+++ b/.github/lint-xml-configuration/Dockerfile
@@ -0,0 +1,5 @@
+FROM alpine:latest
+
+RUN apk add --no-cache \
+ bash \
+ libxml2-utils
diff --git a/.github/lint-xml-configuration/lint-xml-configuration.sh b/.github/lint-xml-configuration/lint-xml-configuration.sh
new file mode 100644
index 0000000..6756bd6
--- /dev/null
+++ b/.github/lint-xml-configuration/lint-xml-configuration.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+set -ex
+
+phpunitXsd="vendor/phpunit/phpunit/phpunit.xsd"
+
+xmllint --noout --schema "$phpunitXsd" phpunit.xml.dist
+xmllint --noout --schema vendor/squizlabs/php_codesniffer/phpcs.xsd phpcs.xml.dist
+xmllint --noout --schema vendor/vimeo/psalm/config.xsd psalm.xml.dist
+find test/ -name "phpunit*.xml*" -not -name "phpunit-files-dirs-mix-nested.xml" -print0 | xargs -0 xmllint --noout --schema "$phpunitXsd"
\ No newline at end of file
diff --git a/.github/workflows/integrate.yaml b/.github/workflows/integrate.yaml
new file mode 100644
index 0000000..b8cdf64
--- /dev/null
+++ b/.github/workflows/integrate.yaml
@@ -0,0 +1,321 @@
+name: "Integrate"
+
+on:
+ pull_request:
+ push:
+ branches:
+ - "master"
+
+jobs:
+ composer-json-lint:
+ name: "Lint composer.json"
+
+ runs-on: "ubuntu-latest"
+
+ strategy:
+ matrix:
+ php-version:
+ - "7.4"
+
+ steps:
+ - name: "Checkout"
+ uses: "actions/checkout@v2"
+
+ - name: "Install PHP"
+ uses: "shivammathur/setup-php@v2"
+ with:
+ coverage: "none"
+ php-version: "${{ matrix.php-version }}"
+ tools: composer:v1, composer-normalize, composer-require-checker, composer-unused
+
+ - name: "Get composer cache directory"
+ id: composercache
+ run: echo "::set-output name=dir::$(composer config cache-files-dir)"
+
+ - name: "Cache dependencies"
+ uses: actions/cache@v2
+ with:
+ path: ${{ steps.composercache.outputs.dir }}
+ key: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-${{ hashFiles('**/composer.json') }}
+ restore-keys: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-
+
+ - name: "Install dependencies"
+ run: "composer update --no-interaction --no-progress"
+
+ - name: "Validate composer.json"
+ run: "composer validate --strict"
+
+ - name: "Normalize composer.json"
+ run: "composer-normalize --dry-run"
+
+ - name: "Check composer.json explicit dependencies"
+ run: "composer-require-checker check --config-file=$(realpath composer-require-checker.json)"
+
+ - name: "Check composer.json unused dependencies"
+ run: "composer-unused"
+
+ xml-lint:
+ name: "Lint XMLs"
+
+ runs-on: ubuntu-latest
+
+ strategy:
+ matrix:
+ php-version:
+ - "7.4"
+
+ steps:
+ - name: "Checkout"
+ uses: "actions/checkout@v2"
+
+ - name: "Install PHP"
+ uses: "shivammathur/setup-php@v2"
+ with:
+ coverage: "none"
+ php-version: "${{ matrix.php-version }}"
+ tools: composer:v1
+
+ - name: "Get composer cache directory"
+ id: composercache
+ run: echo "::set-output name=dir::$(composer config cache-files-dir)"
+
+ - name: "Cache dependencies"
+ uses: actions/cache@v2
+ with:
+ path: ${{ steps.composercache.outputs.dir }}
+ key: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-${{ hashFiles('**/composer.json') }}
+ restore-keys: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-
+
+ - name: "Install dependencies"
+ run: "composer update --no-interaction --no-progress"
+
+ - name: "Lint XMLs"
+ uses: ./.github/lint-xml-configuration
+ with:
+ args: bash .github/lint-xml-configuration/lint-xml-configuration.sh
+
+ tests:
+ name: "Tests"
+
+ runs-on: ${{ matrix.os }}
+
+ strategy:
+ matrix:
+ os:
+ - "ubuntu-latest"
+ - "windows-latest"
+ php-version:
+ - "7.3"
+ - "7.4"
+ dependencies:
+ - "lowest"
+ - "highest"
+
+ steps:
+ - name: "Checkout"
+ uses: "actions/checkout@v2"
+
+ - name: "Install PHP"
+ uses: "shivammathur/setup-php@v2"
+ with:
+ coverage: "pcov"
+ php-version: "${{ matrix.php-version }}"
+ ini-values: zend.assertions=1
+ tools: composer:v1
+ extensions: sqlite
+
+ - name: "Get composer cache directory"
+ id: composercache
+ run: echo "::set-output name=dir::$(composer config cache-files-dir)"
+
+ - name: "Cache dependencies"
+ uses: actions/cache@v2
+ with:
+ path: ${{ steps.composercache.outputs.dir }}
+ key: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-${{ hashFiles('**/composer.json') }}
+ restore-keys: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-
+
+ - name: "Install lowest dependencies"
+ if: ${{ matrix.dependencies == 'lowest' }}
+ run: "composer update --no-interaction --no-progress --prefer-lowest"
+
+ - name: "Install highest dependencies"
+ if: ${{ matrix.dependencies == 'highest' }}
+ run: "composer update --no-interaction --no-progress"
+
+ - name: "Run tests"
+ timeout-minutes: 10
+ run: "vendor/bin/phpunit"
+
+ code-coverage:
+ name: "Code Coverage"
+
+ runs-on: "ubuntu-latest"
+
+ strategy:
+ matrix:
+ php-version:
+ - "7.4"
+
+ steps:
+ - name: "Checkout"
+ uses: "actions/checkout@v2"
+
+ - name: "Install PHP"
+ uses: "shivammathur/setup-php@v2"
+ with:
+ coverage: "pcov"
+ php-version: "${{ matrix.php-version }}"
+ tools: composer:v1
+ extensions: sqlite
+
+ - name: "Get composer cache directory"
+ id: composercache
+ run: echo "::set-output name=dir::$(composer config cache-files-dir)"
+
+ - name: "Cache dependencies"
+ uses: actions/cache@v2
+ with:
+ path: ${{ steps.composercache.outputs.dir }}
+ key: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-${{ hashFiles('**/composer.json') }}
+ restore-keys: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-
+
+ - name: "Install dependencies"
+ run: "composer update --no-interaction --no-progress"
+
+ - name: "Run tests"
+ timeout-minutes: 10
+ run: "vendor/bin/phpunit --coverage-clover=coverage.xml"
+
+ - name: "Send code coverage report to Codecov.io"
+ uses: codecov/codecov-action@v1
+ with:
+ token: ${{ secrets.CODECOV_TOKEN }}
+
+ coding-standards:
+ name: "Coding Standards"
+
+ runs-on: "ubuntu-latest"
+
+ strategy:
+ matrix:
+ php-version:
+ - "7.3"
+
+ steps:
+ - name: "Checkout"
+ uses: "actions/checkout@v2"
+
+ - name: "Install PHP"
+ uses: "shivammathur/setup-php@v2"
+ with:
+ coverage: "none"
+ php-version: "${{ matrix.php-version }}"
+ tools: composer:v1, cs2pr
+
+ - name: "Get composer cache directory"
+ id: composercache
+ run: echo "::set-output name=dir::$(composer config cache-files-dir)"
+
+ - name: "Cache dependencies"
+ uses: actions/cache@v2
+ with:
+ path: ${{ steps.composercache.outputs.dir }}
+ key: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-${{ hashFiles('**/composer.json') }}
+ restore-keys: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-
+
+ - name: "Install dependencies"
+ run: "composer update --no-interaction --no-progress"
+
+ - name: "Check coding standards"
+ run: "vendor/bin/phpcs -q --report=checkstyle | cs2pr"
+
+ static-analysis:
+ name: "Static Analysis"
+
+ runs-on: "ubuntu-latest"
+
+ strategy:
+ matrix:
+ php-version:
+ - "7.4"
+
+ steps:
+ - name: "Checkout"
+ uses: "actions/checkout@v2"
+
+ - name: "Install PHP"
+ uses: "shivammathur/setup-php@v2"
+ with:
+ coverage: "none"
+ php-version: "${{ matrix.php-version }}"
+ tools: composer:v1, cs2pr
+
+ - name: "Get composer cache directory"
+ id: composercache
+ run: echo "::set-output name=dir::$(composer config cache-files-dir)"
+
+ - name: "Cache dependencies"
+ uses: actions/cache@v2
+ with:
+ path: ${{ steps.composercache.outputs.dir }}
+ key: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-${{ hashFiles('**/composer.json') }}
+ restore-keys: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-
+
+ - name: "Install dependencies"
+ run: "composer update --no-interaction --no-progress"
+
+ - name: "Run static analysis"
+ run: "vendor/bin/phpstan analyse --no-progress --error-format=checkstyle | cs2pr"
+
+ - name: "Run PSalm for type-coverage"
+ run: |
+ vendor/bin/psalm --no-progress --show-info=false > /dev/null || true
+ vendor/bin/psalm --no-progress --shepherd --show-info=false --stats
+
+ compile-phar:
+ name: "Compile Phar"
+
+ runs-on: "ubuntu-latest"
+
+ strategy:
+ matrix:
+ php-version:
+ - "7.3"
+
+ steps:
+ - name: "Checkout"
+ uses: "actions/checkout@v2"
+
+ - name: "Install PHP"
+ uses: "shivammathur/setup-php@v2"
+ with:
+ coverage: "none"
+ php-version: "${{ matrix.php-version }}"
+ tools: composer:v1
+
+ - name: "Get composer cache directory"
+ id: composercache
+ run: echo "::set-output name=dir::$(composer config cache-files-dir)"
+
+ - name: "Cache dependencies"
+ uses: actions/cache@v2
+ with:
+ path: ${{ steps.composercache.outputs.dir }}
+ key: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-${{ hashFiles('**/composer.json') }}
+ restore-keys: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-
+
+ - name: "Install dependencies"
+ run: "composer update --no-interaction --no-progress"
+
+ - name: "Download BOX.phar"
+ run: "wget https://github.com/humbug/box/releases/latest/download/box.phar"
+
+ - name: "Validate configuration for humbug/box"
+ run: "php box.phar validate"
+
+ - name: "Compile paratest.phar with humbug/box"
+ run: "php box.phar compile"
+
+ - name: "Show info about paratest.phar with humbug/box"
+ run: "php box.phar info bin/paratest.phar"
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
new file mode 100644
index 0000000..96c8225
--- /dev/null
+++ b/.github/workflows/release.yaml
@@ -0,0 +1,81 @@
+name: "Release"
+
+on:
+ push:
+ tags:
+ - "**"
+
+jobs:
+ release:
+ name: "Release"
+
+ runs-on: "ubuntu-latest"
+
+ strategy:
+ matrix:
+ php-version:
+ - "7.3"
+
+ steps:
+ - name: "Checkout"
+ uses: "actions/checkout@v2"
+
+ - name: "Install PHP"
+ uses: "shivammathur/setup-php@v2"
+ with:
+ coverage: "none"
+ php-version: "${{ matrix.php-version }}"
+ ini-values: memory_limit=-1
+ tools: composer:v1, cs2pr
+
+ - name: "Get composer cache directory"
+ id: composercache
+ run: echo "::set-output name=dir::$(composer config cache-files-dir)"
+
+ - name: "Cache dependencies"
+ uses: actions/cache@v2
+ with:
+ path: ${{ steps.composercache.outputs.dir }}
+ key: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-${{ hashFiles('**/composer.json') }}
+ restore-keys: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ matrix.dependencies }}-composer-
+
+ - name: "Install dependencies"
+ run: "composer update --no-interaction --no-progress"
+
+ - name: "Download BOX.phar"
+ run: "wget https://github.com/humbug/box/releases/latest/download/box.phar"
+
+ - name: "Validate configuration for humbug/box"
+ run: "php box.phar validate"
+
+ - name: "Compile paratest.phar with humbug/box"
+ run: "php box.phar compile"
+
+ - name: "Show info about paratest.phar with humbug/box"
+ run: "php box.phar info bin/paratest.phar"
+
+ - name: "Determine tag"
+ id: "determine-tag"
+ run: "echo \"::set-output name=tag::${GITHUB_REF#refs/tags/}\""
+
+ - name: "Create release"
+ id: "create-release"
+ uses: "actions/create-release@v1"
+ env:
+ GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
+ with:
+ draft: false
+ prerelease: false
+ release_name: "Version ${{ steps.determine-tag.outputs.tag }}"
+ tag_name: "${{ steps.determine-tag.outputs.tag }}"
+
+ - name: "Upload paratest.phar"
+ if: "always()"
+ uses: "actions/upload-release-asset@v1"
+ env:
+ GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
+ with:
+ asset_content_type: "text/plain"
+ asset_name: "paratest.phar"
+ asset_path: "bin/paratest.phar"
+ upload_url: "${{ steps.create-release.outputs.upload_url }}"
diff --git a/.gitignore b/.gitignore
index 192afbf..54cf46e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
-vendor
-composer.lock
+/.idea
/test/fixtures/generated-tests
+/test/Unit/Runners/PHPUnit/generated-configs
+/vendor
+composer.lock
.phpunit.result.cache
.php_cs.cache
-.idea
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 407b464..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,96 +0,0 @@
-language: php
-
-sudo: false
-
-cache:
- directories:
- - $HOME/.composer/
-
-matrix:
- fast_finish: true
- include:
- - name: "PHPCS"
- php: 7.4
- env:
- - CS_CHECK=true
- - name: "Build Phar"
- php: 7.1
- env:
- - BUILD_PHAR=true
- - name: "Tests PHP 7.1 Lowest Dependencies"
- php: 7.1
- env:
- - DEPS=lowest
- - name: "Tests PHP 7.1 PHPUnit Dev Version"
- php: 7.1
- env:
- - PHPUNIT_DEV=true
- - name: "Tests PHP 7.1"
- php: 7.1
- - name: "Tests PHP 7.2 Lowest Dependencies"
- php: 7.2
- env:
- - DEPS=lowest
- - name: "Tests PHP 7.2 PHPUnit Dev Version"
- php: 7.2
- env:
- - PHPUNIT_DEV=true
- - name: "Tests PHP 7.2"
- php: 7.2
- - php: 7.3
- name: "Tests PHP 7.3 Lowest Dependencies"
- env:
- - DEPS=lowest
- - name: "Tests PHP 7.3 PHPUnit Dev Version"
- php: 7.3
- env:
- - PHPUNIT_DEV=true
- - name: "Tests PHP 7.3"
- php: 7.3
- - php: 7.4
- name: "Tests PHP 7.4 Lowest Dependencies"
- env:
- - DEPS=lowest
- - name: "Tests PHP 7.4 PHPUnit Dev Version"
- php: 7.4
- env:
- - PHPUNIT_DEV=true
- - name: "Tests PHP 7.4"
- php: 7.4
- - name: "Tests PHP 7.4 with symfony 5"
- php: 7.4
- env:
- - SYMFONY_VERSION='5.0.x-dev'
- - name: "Tests PHP Nightly"
- php: nightly
- allow_failures:
- - php: nightly
-
-install:
- - if [[ $CS_CHECK == 'true' ]]; then phpenv config-rm xdebug.ini || return 0; fi;
- - if [[ $SYMFONY_VERSION != "" ]]; then composer require --no-update "symfony/symfony:${SYMFONY_VERSION}"; fi;
- - if [[ $PHPUNIT_DEV == 'true' ]]; then composer require --no-update phpunit/phpunit=*@dev; fi;
- - if [[ $DEPS == 'lowest' ]]; then COMPOSER_ARGS='--prefer-lowest --prefer-stable'; fi; composer update --no-interaction --prefer-dist $COMPOSER_ARGS;
- - if [[ $BUILD_PHAR == 'true' ]]; then wget https://github.com/humbug/box/releases/download/3.7.0/box.phar; fi;
- - composer install
-
-script:
- - if [[ $CS_CHECK == 'true' ]]; then vendor/bin/phpcs --ignore=*/test/fixtures/*,bootstrap.php --standard=PSR12 ./src/ ./test/; fi;
- - if [[ $CS_CHECK != 'true' ]]; then vendor/bin/phpunit $COVERAGE_ARGS; fi;
-
-before_deploy:
- - if [[ $BUILD_PHAR == 'true' ]]; then php box.phar compile; fi;
-
-deploy:
- provider: releases
- api_key:
- secure: OER6C7dNaVOIhl2wEA2i2Qe4T6BcXuM/cP0vOoz4578X0LRipYudWMXnLXYmMmjzraMBJ2W3cQx830mQK0TBVU/m0hp5bpTcfGsOBX7+sLi6MY/ncDa4kXV2x8qZOmQLRtk3smAgMyh5hUp7qlmpDRJJ9F1xCYFNqpotK8N3Rfk=
- file: bin/paratest.phar
- skip_cleanup: true
- on:
- condition: $BUILD_PHAR == 'true'
- repo: paratestphp/paratest
- tags: true
-
-notifications:
- email: false
diff --git a/README.md b/README.md
index b86d114..0e754c2 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,11 @@
ParaTest
========
-[](https://travis-ci.org/paratestphp/paratest)
-[](https://packagist.org/packages/brianium/paratest)
+[](https://packagist.org/packages/brianium/paratest)
+[](https://packagist.org/packages/brianium/paratest)
+[](https://github.com/paratestphp/paratest/actions)
+[](https://codecov.io/gh/paratestphp/paratest?branch=master)
+[](https://shepherd.dev/github/paratestphp/paratest)
The objective of ParaTest is to support parallel testing in PHPUnit. Provided you have well-written PHPUnit tests, you can drop `paratest` in your project and
start using it with no additional bootstrap or configurations!
@@ -134,6 +137,14 @@ The corresponding logfiles are placed in your `sys_get_temp_dir()`.
See [Logging docs](docs/logging.md) for further information.
### Generating code coverage
+
+Beginning from PHPUnit 9.3.4, it is strongly advised to warm the coverage cache before running any code-coverage
+analysis, see [PHPUnit Changlog @ 9.3.4](https://github.com/sebastianbergmann/phpunit/blob/master/ChangeLog-9.3.md#934---2020-08-10):
+
+```
+vendor/bin/phpunit --warm-coverage-cache
+```
+
Examples assume your tests are located under `./test/unit`.
````
vendor/bin/paratest -p 1 --coverage-text test/unit
@@ -234,6 +245,7 @@ composer run-script -l
scripts:
style Run style checks (only dry run - no fixing!)
style-fix Run style checks and fix violations
+ static-analysis Run static analysis
test Run all tests
test-unit Run only unit tests
test-functional Run only functional tests
@@ -252,8 +264,11 @@ You can run all tests at once by running phpunit from the project directory:
ParaTest can run its own test suite by running it from the `bin` directory:
`composer test` OR `bin/paratest`
+Analyse the code statically:
+`composer static-analysis`
+
Before creating a Pull Request be sure to run the style checks and commit the eventual changes:
-`composer style-fix` OR `vendor/bin/php-cs-fixer fix`
+`composer style-fix`
Use `composer style` to only show violations without fixing.
diff --git a/bin/paratest b/bin/paratest
index 6cfd550..55a4c6c 100755
--- a/bin/paratest
+++ b/bin/paratest
@@ -2,9 +2,9 @@
query('SELECT id, command FROM tests WHERE reserved_by_process_id IS NULL ORDER BY file_name LIMIT 1')->fetch()) {
- $statement = $db->prepare('UPDATE tests SET reserved_by_process_id = :procId WHERE id = :id AND reserved_by_process_id IS NULL');
- $statement->execute([
- ':procId' => getmypid(),
- ':id' => $test['id'],
- ]);
-
- if ($statement->rowCount() !== 1) {
- // Seems like this test has already been reserved. Continue to the next one.
- continue;
- }
-
- try {
- if (!preg_match_all('/\'([^\']*)\'[ ]?/', $test['command'], $arguments)) {
- throw new \Exception("Failed to parse arguments from command line: \"" . $test['command'] . "\"");
- }
- $_SERVER['argv'] = $arguments[1];
-
- PHPUnit\TextUI\Command::main(false);
- } finally {
- $db->prepare('UPDATE tests SET completed = 1 WHERE id = :id')
- ->execute([':id' => $test['id']]);
- }
-}
diff --git a/bin/phpunit-sqlite-wrapper.php b/bin/phpunit-sqlite-wrapper.php
new file mode 100644
index 0000000..c5592b8
--- /dev/null
+++ b/bin/phpunit-sqlite-wrapper.php
@@ -0,0 +1,60 @@
+query($selectQuery)->fetch()) !== false) {
+ $statement = $db->prepare($reserveTest);
+ $statement->execute([
+ ':procId' => getmypid(),
+ ':id' => $test['id'],
+ ]);
+
+ if ($statement->rowCount() !== 1) {
+ // Seems like this test has already been reserved. Continue to the next one.
+ continue;
+ }
+
+ try {
+ $_SERVER['argv'] = unserialize($test['command']);
+
+ PHPUnit\TextUI\Command::main(false);
+ } finally {
+ $db->prepare('UPDATE tests SET completed = 1 WHERE id = :id')
+ ->execute([':id' => $test['id']]);
+ }
+}
diff --git a/bin/phpunit-wrapper b/bin/phpunit-wrapper
deleted file mode 100644
index 2802cb2..0000000
--- a/bin/phpunit-wrapper
+++ /dev/null
@@ -1,70 +0,0 @@
-format(DateTime::RFC3339);
- $info[] = "Iteration: $i";
- $info[] = "Command: $command";
- $info[] = PHP_EOL;
- $infoText = implode(PHP_EOL,$info).PHP_EOL;
- $logInfo($infoText);
-
- if (!preg_match_all('/\'([^\']*)\'[ ]?/', $command, $arguments)) {
- throw new \Exception("Failed to parse arguments from command line: \"" . $command . "\"");
- }
- $_SERVER['argv'] = $arguments[1];
-
- ob_start();
- $lastExitCode = PHPUnit\TextUI\Command::main(false);
- $infoText = ob_get_clean();
- $logInfo($infoText);
-
- echo "FINISHED\n";
-}
diff --git a/bin/phpunit-wrapper.php b/bin/phpunit-wrapper.php
new file mode 100644
index 0000000..ba9db06
--- /dev/null
+++ b/bin/phpunit-wrapper.php
@@ -0,0 +1,76 @@
+format(DateTime::RFC3339);
+ $info[] = "Iteration: $i";
+ $info[] = "Command: $command";
+ $info[] = PHP_EOL;
+ $infoText = implode(PHP_EOL, $info) . PHP_EOL;
+ $logInfo($infoText);
+
+ $_SERVER['argv'] = $arguments;
+
+ ob_start();
+ $lastExitCode = PHPUnit\TextUI\Command::main(false);
+ $infoText = ob_get_clean();
+ $logInfo($infoText);
+
+ echo "FINISHED\n";
+}
diff --git a/composer-require-checker.json b/composer-require-checker.json
new file mode 100644
index 0000000..5d0e97f
--- /dev/null
+++ b/composer-require-checker.json
@@ -0,0 +1,7 @@
+{
+ "symbol-whitelist" : [
+ "null", "true", "false",
+ "static", "self", "parent",
+ "array", "string", "int", "float", "bool", "iterable", "callable", "void", "object"
+ ]
+}
diff --git a/composer.json b/composer.json
index 4271a96..ae65bba 100644
--- a/composer.json
+++ b/composer.json
@@ -1,24 +1,13 @@
{
"name": "mamitech/paratest",
- "require": {
- "php": "^7.1",
- "ext-pcre": "*",
- "ext-reflection": "*",
- "ext-simplexml": "*",
- "brianium/habitat": "1.0.0",
- "phpunit/php-timer": "^2.0|^3.0|^4.0|^5.0",
- "phpunit/phpunit": "^7.5.8|^8.0|^9.0",
- "symfony/console": "^3.4||^4.0||^5.0",
- "symfony/process": "^3.4||^4.0||^5.0",
- "phpunit/php-code-coverage": "^6.1.4|^7.0.2|^8.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^2.16",
- "squizlabs/php_codesniffer": "^3.5"
- },
"type": "library",
"description": "Parallel testing for PHP",
- "keywords": ["testing","PHPUnit", "concurrent", "parallel"],
+ "keywords": [
+ "testing",
+ "PHPUnit",
+ "concurrent",
+ "parallel"
+ ],
"homepage": "https://github.com/paratestphp/paratest",
"license": "MIT",
"authors": [
@@ -29,10 +18,33 @@
"role": "Lead"
}
],
- "bin": ["bin/paratest"],
+ "require": {
+ "php": "^7.3",
+ "ext-dom": "*",
+ "ext-json": "*",
+ "ext-pcre": "*",
+ "ext-pdo": "*",
+ "ext-reflection": "*",
+ "ext-simplexml": "*",
+ "brianium/habitat": "^1.0",
+ "phpunit/php-code-coverage": "^9.1.2",
+ "phpunit/php-timer": "^5.0",
+ "phpunit/phpunit": "^9.3.5",
+ "symfony/console": "^4.4 || ^5.1",
+ "symfony/process": "^4.4 || ^5.1"
+ },
+ "require-dev": {
+ "doctrine/coding-standard": "^8.1.0",
+ "phpstan/phpstan": "^0.12.37",
+ "phpstan/phpstan-phpunit": "^0.12.16",
+ "squizlabs/php_codesniffer": "^3.5.6",
+ "vimeo/psalm": "^3.12.2"
+ },
"autoload": {
"psr-4": {
- "ParaTest\\": ["src/"]
+ "ParaTest\\": [
+ "src/"
+ ]
}
},
"autoload-dev": {
@@ -40,32 +52,39 @@
"ParaTest\\Tests\\": "test/"
}
},
+ "bin": [
+ "bin/paratest"
+ ],
"scripts": {
+ "static-analysis": [
+ "vendor/bin/phpstan analyse"
+ ],
"style": [
- "php-cs-fixer fix --dry-run --verbose"
+ "vendor/bin/phpcs"
],
"style-fix": [
- "php-cs-fixer fix"
+ "vendor/bin/phpcbf"
],
"test": [
"phpunit"
],
- "test-unit": [
- "phpunit test/Unit/"
- ],
"test-functional": [
"phpunit test/Functional/"
],
"test-paratest": [
"bin/paratest"
+ ],
+ "test-unit": [
+ "phpunit test/Unit/"
]
},
"scripts-descriptions": {
+ "static-analysis": "Run static analysis",
"style": "Run style checks (only dry run - no fixing!)",
"style-fix": "Run style checks and fix violations",
"test": "Run all tests",
- "test-unit": "Run only unit tests",
"test-functional": "Run only functional tests",
- "test-paratest": "Run all tests with paratest itself"
+ "test-paratest": "Run all tests with paratest itself",
+ "test-unit": "Run only unit tests"
}
}
diff --git a/docs/code-coverage.md b/docs/code-coverage.md
index 51ede00..b5f288c 100644
--- a/docs/code-coverage.md
+++ b/docs/code-coverage.md
@@ -467,7 +467,7 @@ Running phpunit in 1 process with /codebase/paratest/vendor/phpunit/phpunit/phpu
Configuration read from /codebase/paratest/phpunit.xml.dist
-Starting WrapperWorker via: PARATEST=1 XDEBUG_CONFIG="true" TEST_TOKEN=1 UNIQUE_TEST_TOKEN=5c4af2d88c0d9 /usr/bin/php7.2 "/codebase/paratest/bin/phpunit-wrapper"
+Starting WrapperWorker via: PARATEST=1 XDEBUG_CONFIG="true" TEST_TOKEN=1 UNIQUE_TEST_TOKEN=5c4af2d88c0d9 /usr/bin/php7.2 "/codebase/paratest/bin/phpunit-wrapper.php"
Executing test via: '/codebase/paratest/vendor/phpunit/phpunit/phpunit' '--configuration' '/codebase/paratest/phpunit.xml.dist' '--log-junit' '/tmp/PT_tIUjT5' 'ParaTest\Util\StrTest' 'test/unit/Util/StrTest.php'
.....
diff --git a/docs/logging.md b/docs/logging.md
index 7ebf2a7..d2ef772 100644
--- a/docs/logging.md
+++ b/docs/logging.md
@@ -1,5 +1,5 @@
# Logging WrapperRunner output
-The `--runner WrapperRunner` option will start the script in `bin/phpunit-wrapper` as a long running process
+The `--runner WrapperRunner` option will start the script in `bin/phpunit-wrapper.php` as a long running process
and send individual tests in via stdin/pipes. In order to make the execution of the process easier to understand,
you can set the environment variable `PT_LOGGING_ENABLE` to true.
@@ -24,7 +24,7 @@ $testToken = getenv("TEST_TOKEN") ?: "no_test_token";
$filename = "paratest_t-{$testToken}_ut-{$uniqueTestToken}_r-{$rand}.log";
$path = sys_get_temp_dir()."/".$filename;
````
-If in doubt just check the contents of `bin/phpunit-wrapper`.
+If in doubt just check the contents of `bin/phpunit-wrapper.php`.
The resulting file names look like this:
````
diff --git a/phpcs.xml.dist b/phpcs.xml.dist
new file mode 100644
index 0000000..069ea0d
--- /dev/null
+++ b/phpcs.xml.dist
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+ src
+ test
+ */test/fixtures/*
+
+
+
+
+
+
+ 0
+
+
+
+ 0
+
+
+ 0
+
+
+
+ 0
+
+
+
+ 0
+
+
+ 0
+
+
diff --git a/phpstan.neon.dist b/phpstan.neon.dist
new file mode 100644
index 0000000..773e1ff
--- /dev/null
+++ b/phpstan.neon.dist
@@ -0,0 +1,70 @@
+includes:
+ - phar://phpstan.phar/conf/config.level6.neon
+ - vendor/phpstan/phpstan-phpunit/extension.neon
+
+parameters:
+ tipsOfTheDay: false
+ bootstrapFiles:
+ - test/constants.php
+ paths:
+ - bin/
+ - bin/paratest
+ - src/
+ - test/
+ excludes_analyse:
+ - test/fixtures/*
+ ignoreErrors:
+ # Known fixtures
+ -
+ message: "#^Property ParaTest\\\\Runners\\\\PHPUnit\\\\ExecutableTest\\:\\:\\$process type has no value type specified in iterable type Symfony\\\\Component\\\\Process\\\\Process\\.$#"
+ count: 1
+ path: src/Runners/PHPUnit/ExecutableTest.php
+ -
+ message: "#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertTrue\\(\\) with false will always evaluate to false\\.$#"
+ count: 1
+ path: test/fixtures/excluded-tests/excluded/ExcludedFailingTest.php
+
+ -
+ message: "#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertFalse\\(\\) with true will always evaluate to false\\.$#"
+ count: 1
+ path: test/fixtures/failing-tests/FailingTest.php
+
+ -
+ message: "#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertTrue\\(\\) with false will always evaluate to false\\.$#"
+ count: 1
+ path: test/fixtures/failing-tests/FailingTest.php
+
+ -
+ message: "#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertFalse\\(\\) with true will always evaluate to false\\.$#"
+ count: 1
+ path: test/fixtures/failing-tests/StopOnFailureTest.php
+
+ -
+ message: "#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertTrue\\(\\) with false will always evaluate to false\\.$#"
+ count: 1
+ path: test/fixtures/failing-tests/StopOnFailureTest.php
+
+ -
+ message: "#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertFalse\\(\\) with true will always evaluate to false\\.$#"
+ count: 1
+ path: test/fixtures/failing-tests/UnitTestWithClassAnnotationTest.php
+
+ -
+ message: "#^Unreachable statement \\- code above always terminates\\.$#"
+ count: 1
+ path: test/fixtures/failing-tests/UnitTestWithErrorTest.php
+
+ -
+ message: "#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertFalse\\(\\) with true will always evaluate to false\\.$#"
+ count: 1
+ path: test/fixtures/failing-tests/UnitTestWithMethodAnnotationsTest.php
+
+ -
+ message: "#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertFalse\\(\\) with true will always evaluate to false\\.$#"
+ count: 1
+ path: test/fixtures/slow-tests/LongRunningTest.php
+
+ -
+ message: "#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertTrue\\(\\) with false will always evaluate to false\\.$#"
+ count: 1
+ path: test/fixtures/wrapper-runner-exit-code-tests/FailureTest.php
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index 907340c..de89de3 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -1,33 +1,34 @@
-
-
-
- ./test/Unit/
-
-
- ./test/Functional/
-
-
-
-
-
- src
-
-
-
-
-
-
-
-
-
+
+
+ ./test/Unit/
+
+
+ ./test/Functional/
+
+
+
+
+ src
+
+
+
+
+
+
+
+
diff --git a/psalm.xml.dist b/psalm.xml.dist
new file mode 100644
index 0000000..89cb7ff
--- /dev/null
+++ b/psalm.xml.dist
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Console/Commands/ParaTestCommand.php b/src/Console/Commands/ParaTestCommand.php
index e6306bb..0714bce 100644
--- a/src/Console/Commands/ParaTestCommand.php
+++ b/src/Console/Commands/ParaTestCommand.php
@@ -12,9 +12,7 @@
class ParaTestCommand extends Command
{
- /**
- * @var \ParaTest\Console\Testers\Tester
- */
+ /** @var Tester */
protected $tester;
public function __construct(Tester $tester)
@@ -27,7 +25,7 @@ public function __construct(Tester $tester)
/**
* Ubiquitous configuration options for ParaTest.
*/
- protected function configure()
+ protected function configure(): void
{
$this
->addOption('processes', 'p', InputOption::VALUE_REQUIRED, 'The number of test processes to run.', 'auto')
@@ -111,13 +109,8 @@ protected function configure()
/**
* Executes the specified tester.
- *
- * @param InputInterface $input
- * @param OutputInterface $output
- *
- * @return int|mixed|null
*/
- public function execute(InputInterface $input, OutputInterface $output)
+ public function execute(InputInterface $input, OutputInterface $output): int
{
return $this->tester->execute($input, $output);
}
diff --git a/src/Console/ParaTestApplication.php b/src/Console/ParaTestApplication.php
index 88f5aed..0dac24a 100644
--- a/src/Console/ParaTestApplication.php
+++ b/src/Console/ParaTestApplication.php
@@ -20,7 +20,7 @@ class ParaTestApplication extends Application
public function __construct()
{
- parent::__construct(static::NAME, VersionProvider::getVersion(static::VERSION));
+ parent::__construct(self::NAME, VersionProvider::getVersion(self::VERSION));
}
/**
@@ -28,7 +28,7 @@ public function __construct()
*
* @todo for now paratest will only run the phpunit command
*/
- public function doRun(InputInterface $input, OutputInterface $output)
+ public function doRun(InputInterface $input, OutputInterface $output): int
{
$this->add(new ParaTestCommand(new PHPUnit()));
@@ -38,8 +38,6 @@ public function doRun(InputInterface $input, OutputInterface $output)
/**
* The default InputDefinition for the application. Leave it to specific
* Tester objects for specifying further definitions.
- *
- * @return InputDefinition
*/
public function getDefinition(): InputDefinition
{
@@ -48,11 +46,6 @@ public function getDefinition(): InputDefinition
]);
}
- /**
- * @param InputInterface $input
- *
- * @return string
- */
public function getCommandName(InputInterface $input): string
{
return 'paratest';
diff --git a/src/Console/Testers/PHPUnit.php b/src/Console/Testers/PHPUnit.php
index 188ca07..3b47def 100644
--- a/src/Console/Testers/PHPUnit.php
+++ b/src/Console/Testers/PHPUnit.php
@@ -9,15 +9,27 @@
use ParaTest\Runners\PHPUnit\Configuration;
use ParaTest\Runners\PHPUnit\Runner;
use ParaTest\Util\Str;
+use RuntimeException;
use Symfony\Component\Console\Command\Command;
+use Symfony\Component\Console\Input\ArrayInput;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
+use function array_key_exists;
+use function array_merge;
+use function chdir;
+use function class_exists;
+use function file_exists;
+use function getcwd;
+use function sprintf;
+use function sys_get_temp_dir;
+use function tempnam;
+
+use const DIRECTORY_SEPARATOR;
+
/**
- * Class PHPUnit.
- *
* Creates the interface for PHPUnit testing
*/
class PHPUnit extends Tester
@@ -28,18 +40,14 @@ class PHPUnit extends Tester
*/
private const TEST_SUITE_FILTER_SEPARATOR = ',';
- /**
- * @var \ParaTest\Console\Commands\ParaTestCommand
- */
+ /** @var Command */
protected $command;
/**
* Configures the ParaTestCommand with PHPUnit specific
* definitions.
- *
- * @param Command $command
*/
- public function configure(Command $command)
+ public function configure(Command $command): void
{
$command
->addOption(
@@ -82,23 +90,17 @@ public function configure(Command $command)
InputArgument::OPTIONAL,
'The path to a directory or file containing tests. (default: current directory)'
)
- ->addOption('path', null, InputOption::VALUE_REQUIRED, 'An alias for the path argument.')
- ;
+ ->addOption('path', null, InputOption::VALUE_REQUIRED, 'An alias for the path argument.');
$this->command = $command;
}
/**
* Executes the PHPUnit Runner. Will Display help if no config and no path
* supplied.
- *
- * @param InputInterface $input
- * @param OutputInterface $output
- *
- * @return int|mixed
*/
- public function execute(InputInterface $input, OutputInterface $output)
+ public function execute(InputInterface $input, OutputInterface $output): int
{
- if (!$this->hasConfig($input) && !$this->hasPath($input)) {
+ if (! $this->hasConfig($input) && ! $this->hasPath($input)) {
$this->displayHelp($input, $output);
}
@@ -112,45 +114,35 @@ public function execute(InputInterface $input, OutputInterface $output)
/**
* Returns whether or not a test path has been supplied
* via option or regular input.
- *
- * @param InputInterface $input
- *
- * @return bool
*/
- protected function hasPath(InputInterface $input)
+ protected function hasPath(InputInterface $input): bool
{
$argument = $input->getArgument('path');
- $option = $input->getOption('path');
+ $option = $input->getOption('path');
return $argument || $option;
}
/**
* Is there a PHPUnit xml configuration present.
- *
- * @param InputInterface $input
- *
- * @return bool
*/
protected function hasConfig(InputInterface $input): bool
{
- return false !== $this->getConfig($input);
+ return $this->getConfig($input) !== false;
}
/**
- * @param \Symfony\Component\Console\Input\InputInterface $input
- *
- * @return \ParaTest\Runners\PHPUnit\Configuration|bool
+ * @return Configuration|bool
*/
protected function getConfig(InputInterface $input)
{
- $cwd = \getcwd() . \DIRECTORY_SEPARATOR;
+ $cwd = getcwd() . DIRECTORY_SEPARATOR;
if ($input->getOption('configuration')) {
$configFilename = $input->getOption('configuration');
- } elseif (\file_exists($cwd . 'phpunit.xml.dist')) {
+ } elseif (file_exists($cwd . 'phpunit.xml.dist')) {
$configFilename = $cwd . 'phpunit.xml.dist';
- } elseif (\file_exists($cwd . 'phpunit.xml')) {
+ } elseif (file_exists($cwd . 'phpunit.xml')) {
$configFilename = $cwd . 'phpunit.xml';
} else {
return false;
@@ -160,28 +152,37 @@ protected function getConfig(InputInterface $input)
}
/**
- * @param \Symfony\Component\Console\Input\InputInterface $input
- *
- * @throws \RuntimeException
+ * Displays help for the ParaTestCommand.
+ */
+ protected function displayHelp(InputInterface $input, OutputInterface $output): void
+ {
+ $help = $this->command->getApplication()->find('help');
+ $input = new ArrayInput(['command_name' => 'paratest']);
+ $help->run($input, $output);
+ exit(0);
+ }
+
+ /**
+ * @return array
*
- * @return array
+ * @throws RuntimeException
*/
public function getRunnerOptions(InputInterface $input): array
{
- $path = $input->getArgument('path');
- $options = $this->getOptions($input);
+ $path = $input->getArgument('path');
+ $options = $this->getOptions($input);
$bootstrap = $this->getBootstrapFile($input, $options);
$this->requireBootstrap($bootstrap);
if ($this->hasCoverage($options)) {
- $options['coverage-php'] = \tempnam(\sys_get_temp_dir(), 'paratest_');
+ $options['coverage-php'] = tempnam(sys_get_temp_dir(), 'paratest_');
}
if ($path) {
- $options = \array_merge(['path' => $path], $options);
+ $options = array_merge(['path' => $path], $options);
}
- if (\array_key_exists('testsuite', $options)) {
+ if (array_key_exists('testsuite', $options)) {
$options['testsuite'] = Str::explodeWithCleanup(
self::TEST_SUITE_FILTER_SEPARATOR,
$options['testsuite']
@@ -195,19 +196,18 @@ public function getRunnerOptions(InputInterface $input): array
* Require the bootstrap. If the file is specified, but does not exist
* then an exception will be raised.
*
- * @param $file
- *
- * @throws \RuntimeException
+ * @throws RuntimeException
*/
- public function requireBootstrap(string $file)
+ public function requireBootstrap(string $file): void
{
- if (!$file) {
+ if (! $file) {
return;
}
- if (!\file_exists($file)) {
- $message = \sprintf('Bootstrap specified but could not be found (%s)', $file);
- throw new \RuntimeException($message);
+ if (! file_exists($file)) {
+ $message = sprintf('Bootstrap specified but could not be found (%s)', $file);
+
+ throw new RuntimeException($message);
}
$this->scopedRequire($file);
@@ -217,22 +217,18 @@ public function requireBootstrap(string $file)
* This function limits the scope of a required file
* so that variables defined in it do not break
* this object's configuration.
- *
- * @param mixed $file
*/
- protected function scopedRequire(string $file)
+ protected function scopedRequire(string $file): void
{
- $cwd = \getcwd();
+ $cwd = getcwd();
require_once $file;
- \chdir($cwd);
+ chdir($cwd);
}
/**
* Return whether or not code coverage information should be collected.
*
- * @param $options
- *
- * @return bool
+ * @param array $options
*/
protected function hasCoverage(array $options): bool
{
@@ -241,18 +237,15 @@ protected function hasCoverage(array $options): bool
|| isset($options['coverage-crap4j'])
|| isset($options['coverage-xml']);
$isTextFormat = isset($options['coverage-text']);
- $isPHP = isset($options['coverage-php']);
+ $isPHP = isset($options['coverage-php']);
- return $isTextFormat || $isFileFormat && !$isPHP;
+ return $isTextFormat || $isFileFormat && ! $isPHP;
}
/**
* Fetch the path to the bootstrap file.
*
- * @param InputInterface $input
- * @param array $options
- *
- * @return string
+ * @param array $options
*/
protected function getBootstrapFile(InputInterface $input, array $options): string
{
@@ -260,11 +253,11 @@ protected function getBootstrapFile(InputInterface $input, array $options): stri
return $options['bootstrap'];
}
- if (!$this->hasConfig($input)) {
+ if (! $this->hasConfig($input)) {
return '';
}
- $config = $this->getConfig($input);
+ $config = $this->getConfig($input);
$bootstrap = $config->getBootstrap();
return $bootstrap ? $config->getConfigDir() . $bootstrap : '';
@@ -274,13 +267,14 @@ private function initializeRunner(InputInterface $input): BaseRunner
{
if ($input->getOption('runner')) {
$runnerClass = $input->getOption('runner') ?: '';
- $runnerClass = \class_exists($runnerClass) ?
- $runnerClass : ('\\ParaTest\\Runners\\PHPUnit\\' . $runnerClass);
+ $runnerClass = class_exists($runnerClass)
+ ? $runnerClass
+ : '\\ParaTest\\Runners\\PHPUnit\\' . $runnerClass;
} else {
$runnerClass = Runner::class;
}
- if (!\class_exists($runnerClass)) {
+ if (! class_exists($runnerClass)) {
throw new InvalidArgumentException('Selected runner does not exist.');
}
diff --git a/src/Console/Testers/Tester.php b/src/Console/Testers/Tester.php
index 6b20c74..8655ba2 100644
--- a/src/Console/Testers/Tester.php
+++ b/src/Console/Testers/Tester.php
@@ -5,13 +5,10 @@
namespace ParaTest\Console\Testers;
use Symfony\Component\Console\Command\Command;
-use Symfony\Component\Console\Input\ArrayInput;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
/**
- * Class Tester.
- *
* A base for Testers. A Tester is a specialized console
* command for controlling a given tool - i.e PHPUnit
*/
@@ -21,50 +18,28 @@ abstract class Tester
* Configures the ParaTestCommand with Tester specific
* definitions.
*
- * @param Command $command
- *
* @return mixed
*/
abstract public function configure(Command $command);
- /**
- * @param InputInterface $input
- * @param OutputInterface $output
- *
- * @return mixed
- */
- abstract public function execute(InputInterface $input, OutputInterface $output);
+ abstract public function execute(InputInterface $input, OutputInterface $output): int;
/**
* Returns non-empty options.
*
- * @param InputInterface $input
- *
- * @return array
+ * @return array
*/
protected function getOptions(InputInterface $input): array
{
$options = $input->getOptions();
foreach ($options as $key => $value) {
- if (empty($options[$key])) {
- unset($options[$key]);
+ if (! empty($options[$key])) {
+ continue;
}
+
+ unset($options[$key]);
}
return $options;
}
-
- /**
- * Displays help for the ParaTestCommand.
- *
- * @param InputInterface $input
- * @param OutputInterface $output
- */
- protected function displayHelp(InputInterface $input, OutputInterface $output)
- {
- $help = $this->command->getApplication()->find('help');
- $input = new ArrayInput(['command_name' => 'paratest']);
- $help->run($input, $output);
- exit(0);
- }
}
diff --git a/src/Console/VersionProvider.php b/src/Console/VersionProvider.php
index c997abf..f019ba6 100644
--- a/src/Console/VersionProvider.php
+++ b/src/Console/VersionProvider.php
@@ -4,11 +4,13 @@
namespace ParaTest\Console;
-use Symfony\Component\Process\Process;
+use function file_exists;
+use function file_get_contents;
+use function is_array;
+use function is_readable;
+use function json_decode;
/**
- * Class VersionProvider.
- *
* Obtain version information of the ParaTest application itself based on
* it's current installment (composer; git; default passed)
*/
@@ -16,81 +18,68 @@ final class VersionProvider
{
private const PACKAGE = 'brianium/paratest';
- /**
- * @var null
- */
+ /** @var string|null */
private $default;
- public function __construct($default = null)
+ public function __construct(?string $default = null)
{
$this->default = $default;
}
- public static function getVersion($default = null)
+ public static function getVersion(?string $default = null): ?string
{
$provider = new self($default);
return $provider->getParaTestVersion();
}
- public function getParaTestVersion()
+ public function getParaTestVersion(): ?string
{
return $this->getComposerInstalledVersion(self::PACKAGE)
- ?? $this->getGitVersion()
?? $this->default;
}
- public function getGitVersion()
+ public function getComposerInstalledVersion(string $package): ?string
{
- $cmd = 'git describe --tags --always --first-parent';
- $process = \method_exists(Process::class, 'fromShellCommandline') ?
- Process::fromShellCommandline($cmd, __DIR__) :
- new Process($cmd, __DIR__);
-
- if ($process->run() !== 0) {
+ if (($path = $this->getComposerInstalledJsonPath()) === null) {
return null;
}
- return \trim($process->getOutput());
- }
-
- public function getComposerInstalledVersion($package)
- {
- if (null === $path = $this->getComposerInstalledJsonPath()) {
- return;
- }
-
- $result = \file_get_contents($path);
- if (false === $result) {
- return;
+ $result = file_get_contents($path);
+ if ($result === false) {
+ return null;
}
- $struct = \json_decode($result, true, 16);
- if (!\is_array($struct)) {
- return;
+ $struct = json_decode($result, true, 16);
+ if (! is_array($struct)) {
+ return null;
}
foreach ($struct as $entry) {
- if (!\is_array($entry)) {
+ if (! is_array($entry)) {
continue;
}
+
$name = $entry['name'] ?? null;
- if (null === $name || $name !== $package) {
+ if ($name === null || $name !== $package) {
continue;
}
+
$version = $entry['version'] ?? null;
- if (null === $version) {
+ if ($version === null) {
continue;
}
return $version;
}
+
+ return null;
}
/**
* @return string|null path to composer/installed.json
*/
- private function getComposerInstalledJsonPath()
+ private function getComposerInstalledJsonPath(): ?string
{
$paths = [
// path in the installed version
@@ -101,9 +90,11 @@ private function getComposerInstalledJsonPath()
// first hit makes it
foreach ($paths as $path) {
- if (\file_exists($path) && \is_readable($path)) {
+ if (file_exists($path) && is_readable($path)) {
return $path;
}
}
+
+ return null;
}
}
diff --git a/src/Coverage/CoverageMerger.php b/src/Coverage/CoverageMerger.php
index ae5b858..c67ae61 100644
--- a/src/Coverage/CoverageMerger.php
+++ b/src/Coverage/CoverageMerger.php
@@ -4,51 +4,61 @@
namespace ParaTest\Coverage;
+use RuntimeException;
use SebastianBergmann\CodeCoverage\CodeCoverage;
+use SebastianBergmann\CodeCoverage\ProcessedCodeCoverageData;
+use SplFileObject;
+
+use function array_map;
+use function array_slice;
+use function extension_loaded;
+use function file_exists;
+use function function_exists;
+use function ini_get;
+use function is_array;
+use function unlink;
+use function unserialize;
+
+use const PHP_SAPI;
class CoverageMerger
{
- /**
- * @var CodeCoverage
- */
+ /** @var CodeCoverage */
private $coverage = null;
-
- private $test_limit = null;
+ /** @var int */
+ private $test_limit;
public function __construct(int $test_limit = 0)
{
$this->test_limit = $test_limit;
}
- /**
- * @param CodeCoverage $coverage
- */
- private function addCoverage(CodeCoverage $coverage)
+ private function addCoverage(CodeCoverage $coverage): void
{
- if (null === $this->coverage) {
+ if ($this->coverage === null) {
$this->coverage = $coverage;
} else {
$this->coverage->merge($coverage);
}
+
$this->limitCoverageTests($this->coverage);
}
/**
* Returns coverage object from file.
*
- * @param \SplFileObject $coverageFile coverage file
- *
- * @return CodeCoverage
+ * @param SplFileObject $coverageFile coverage file
*/
- private function getCoverageObject(\SplFileObject $coverageFile): CodeCoverage
+ private function getCoverageObject(SplFileObject $coverageFile): CodeCoverage
{
- if ('fread(5)) {
+ if ($coverageFile->fread(5) === 'getRealPath();
}
$coverageFile->fseek(0);
+
// the PHPUnit 3.x and below
- return \unserialize($coverageFile->fread($coverageFile->getSize()));
+ return unserialize($coverageFile->fread($coverageFile->getSize()));
}
/**
@@ -56,41 +66,39 @@ private function getCoverageObject(\SplFileObject $coverageFile): CodeCoverage
*
* @param string $coverageFile Code coverage file
*
- * @throws \RuntimeException When coverage file is empty
+ * @throws RuntimeException When coverage file is empty.
*/
- public function addCoverageFromFile(string $coverageFile = null)
+ public function addCoverageFromFile(?string $coverageFile = null): void
{
- if ($coverageFile === null || !\file_exists($coverageFile)) {
+ if ($coverageFile === null || ! file_exists($coverageFile)) {
return;
}
- $file = new \SplFileObject($coverageFile);
+ $file = new SplFileObject($coverageFile);
- if (0 === $file->getSize()) {
+ if ($file->getSize() === 0) {
$extra = 'This means a PHPUnit process has crashed.';
- $xdebug = \function_exists('xdebug_get_code_coverage');
- $phpdbg = \PHP_SAPI === 'phpdbg';
- $pcov = \extension_loaded('pcov') && \ini_get('pcov.enabled');
+ $xdebug = function_exists('xdebug_get_code_coverage');
+ $phpdbg = PHP_SAPI === 'phpdbg';
+ $pcov = extension_loaded('pcov') && ini_get('pcov.enabled');
- if (!$xdebug && !$phpdbg && !$pcov) {
+ if (! $xdebug && ! $phpdbg && ! $pcov) {
$extra = 'No coverage driver found! Enable one of Xdebug, PHPDBG or PCOV for coverage.';
}
- throw new \RuntimeException(
+ throw new RuntimeException(
"Coverage file {$file->getRealPath()} is empty. " . $extra
);
}
$this->addCoverage($this->getCoverageObject($file));
- \unlink($file->getRealPath());
+ unlink($file->getRealPath());
}
/**
* Get coverage report generator.
- *
- * @return CoverageReporterInterface
*/
public function getReporter(): CoverageReporterInterface
{
@@ -99,8 +107,6 @@ public function getReporter(): CoverageReporterInterface
/**
* Get CodeCoverage object.
- *
- * @return CodeCoverage
*/
public function getCodeCoverageObject(): ?CodeCoverage
{
@@ -109,19 +115,26 @@ public function getCodeCoverageObject(): ?CodeCoverage
private function limitCoverageTests(CodeCoverage $coverage): void
{
- if ($this->test_limit) {
- $coverage->setData(\array_map(
- function (array $lines) {
- return \array_map(function ($value) {
- if (!\is_array($value)) {
- return $value;
- }
-
- return \array_slice($value, 0, $this->test_limit);
- }, $lines);
- },
- $coverage->getData($raw = true)
- ));
+ if (! $this->test_limit) {
+ return;
}
+
+ $data = $coverage->getData(true);
+ $newData = array_map(
+ function (array $lines) {
+ return array_map(function ($value) {
+ if (! is_array($value)) {
+ return $value;
+ }
+
+ return array_slice($value, 0, $this->test_limit);
+ }, $lines);
+ },
+ $data->lineCoverage(),
+ );
+ $processedData = new ProcessedCodeCoverageData();
+ $processedData->setLineCoverage($newData);
+
+ $coverage->setData($processedData);
}
}
diff --git a/src/Coverage/CoverageReporter.php b/src/Coverage/CoverageReporter.php
index 279e361..ff6dc0c 100644
--- a/src/Coverage/CoverageReporter.php
+++ b/src/Coverage/CoverageReporter.php
@@ -15,14 +15,9 @@
class CoverageReporter implements CoverageReporterInterface
{
- /**
- * @var CodeCoverage
- */
+ /** @var CodeCoverage */
private $coverage;
- /**
- * @param CodeCoverage $coverage
- */
public function __construct(CodeCoverage $coverage)
{
$this->coverage = $coverage;
@@ -33,7 +28,7 @@ public function __construct(CodeCoverage $coverage)
*
* @param string $target Report filename
*/
- public function clover(string $target)
+ public function clover(string $target): void
{
$clover = new Clover();
$clover->process($this->coverage, $target);
@@ -44,7 +39,7 @@ public function clover(string $target)
*
* @param string $target Report filename
*/
- public function crap4j(string $target)
+ public function crap4j(string $target): void
{
$xml = new Crap4j();
$xml->process($this->coverage, $target);
@@ -55,7 +50,7 @@ public function crap4j(string $target)
*
* @param string $target Report filename
*/
- public function html(string $target)
+ public function html(string $target): void
{
$html = new Html\Facade();
$html->process($this->coverage, $target);
@@ -66,7 +61,7 @@ public function html(string $target)
*
* @param string $target Report filename
*/
- public function php(string $target)
+ public function php(string $target): void
{
$php = new PHP();
$php->process($this->coverage, $target);
@@ -75,7 +70,7 @@ public function php(string $target)
/**
* Generate text coverage report.
*/
- public function text()
+ public function text(): void
{
$text = new Text();
echo $text->process($this->coverage);
@@ -86,7 +81,7 @@ public function text()
*
* @param string $target Report filename
*/
- public function xml(string $target)
+ public function xml(string $target): void
{
$xml = new XmlReport(Version::id());
$xml->process($this->coverage, $target);
diff --git a/src/Coverage/CoverageReporterInterface.php b/src/Coverage/CoverageReporterInterface.php
index 579f6b0..77de28c 100644
--- a/src/Coverage/CoverageReporterInterface.php
+++ b/src/Coverage/CoverageReporterInterface.php
@@ -11,38 +11,38 @@ interface CoverageReporterInterface
*
* @param string $target Report filename
*/
- public function clover(string $target);
+ public function clover(string $target): void;
/**
* Generate Crap4J XML coverage report.
*
* @param string $target Report filename
*/
- public function crap4j(string $target);
+ public function crap4j(string $target): void;
/**
* Generate html coverage report.
*
* @param string $target Report filename
*/
- public function html(string $target);
+ public function html(string $target): void;
/**
* Generate php coverage report.
*
* @param string $target Report filename
*/
- public function php(string $target);
+ public function php(string $target): void;
/**
* Generate text coverage report.
*/
- public function text();
+ public function text(): void;
/**
* Generate PHPUnit XML coverage report.
*
* @param string $target Report filename
*/
- public function xml(string $target);
+ public function xml(string $target): void;
}
diff --git a/src/Logging/JUnit/Reader.php b/src/Logging/JUnit/Reader.php
index 4772c25..fe15d19 100644
--- a/src/Logging/JUnit/Reader.php
+++ b/src/Logging/JUnit/Reader.php
@@ -4,33 +4,35 @@
namespace ParaTest\Logging\JUnit;
+use InvalidArgumentException;
use ParaTest\Logging\MetaProvider;
+use SimpleXMLElement;
+
+use function array_merge;
+use function array_reduce;
+use function call_user_func_array;
+use function count;
+use function current;
+use function file_exists;
+use function file_get_contents;
+use function filesize;
+use function unlink;
class Reader extends MetaProvider
{
- /**
- * @var \SimpleXMLElement
- */
+ /** @var SimpleXMLElement */
protected $xml;
- /**
- * @var bool
- */
+ /** @var bool */
protected $isSingle = false;
- /**
- * @var TestSuite[]
- */
+ /** @var TestSuite[] */
protected $suites = [];
- /**
- * @var string
- */
+ /** @var string */
protected $logFile;
- /**
- * @var array
- */
+ /** @var array */
protected static $defaultSuite = [
'name' => '',
'file' => '',
@@ -44,26 +46,25 @@ class Reader extends MetaProvider
public function __construct(string $logFile)
{
- if (!\file_exists($logFile)) {
- throw new \InvalidArgumentException("Log file $logFile does not exist");
+ if (! file_exists($logFile)) {
+ throw new InvalidArgumentException("Log file $logFile does not exist");
}
$this->logFile = $logFile;
- if (\filesize($logFile) === 0) {
- throw new \InvalidArgumentException(
+ if (filesize($logFile) === 0) {
+ throw new InvalidArgumentException(
"Log file $logFile is empty. This means a PHPUnit process has crashed."
);
}
- $logFileContents = \file_get_contents($this->logFile);
- $this->xml = new \SimpleXMLElement($logFileContents);
+
+ $logFileContents = file_get_contents($this->logFile);
+ $this->xml = new SimpleXMLElement($logFileContents);
$this->init();
}
/**
* Returns whether or not this reader contains only
* a single suite.
- *
- * @return bool
*/
public function isSingleSuite(): bool
{
@@ -74,7 +75,7 @@ public function isSingleSuite(): bool
* Return the Reader's collection
* of test suites.
*
- * @return array
+ * @return TestSuite[]
*/
public function getSuites(): array
{
@@ -89,12 +90,12 @@ public function getSuites(): array
* characters: .,F,E
* TODO: Update this, skipped was added in phpunit.
*
- * @return array
+ * @return string[]
*/
public function getFeedback(): array
{
$feedback = [];
- $suites = $this->isSingle ? $this->suites : $this->suites[0]->suites;
+ $suites = $this->isSingle ? $this->suites : $this->suites[0]->suites;
foreach ($suites as $suite) {
foreach ($suite->cases as $case) {
if ($case->failures) {
@@ -117,16 +118,16 @@ public function getFeedback(): array
/**
* Remove the JUnit xml file.
*/
- public function removeLog()
+ public function removeLog(): void
{
- \unlink($this->logFile);
+ unlink($this->logFile);
}
/**
* Initialize the suite collection
* from the JUnit xml document.
*/
- protected function init()
+ protected function init(): void
{
$this->initSuite();
$cases = $this->getCaseNodes();
@@ -138,17 +139,17 @@ protected function init()
/**
* Uses an array of testcase nodes to build a suite.
*
- * @param array $nodeArray an array of SimpleXMLElement nodes representing testcase elements
+ * @param SimpleXMLElement[] $nodeArray an array of SimpleXMLElement nodes representing testcase elements
*/
- protected function initSuiteFromCases(array $nodeArray)
+ protected function initSuiteFromCases(array $nodeArray): void
{
- $testCases = [];
+ $testCases = [];
$properties = $this->caseNodesToSuiteProperties($nodeArray, $testCases);
- if (!$this->isSingle) {
+ if (! $this->isSingle) {
$this->addSuite($properties, $testCases);
} else {
- $suite = $this->suites[0];
- $suite->cases = \array_merge($suite->cases, $testCases);
+ $suite = $this->suites[0];
+ $suite->cases = array_merge($suite->cases, $testCases);
}
}
@@ -156,58 +157,63 @@ protected function initSuiteFromCases(array $nodeArray)
* Creates and adds a TestSuite based on the given
* suite properties and collection of test cases.
*
- * @param $properties
- * @param $testCases
+ * @param array $properties
+ * @param TestCase[] $testCases
*/
- protected function addSuite($properties, array $testCases)
+ protected function addSuite(array $properties, array $testCases): void
{
- $suite = TestSuite::suiteFromArray($properties);
- $suite->cases = $testCases;
+ $suite = TestSuite::suiteFromArray($properties);
+ $suite->cases = $testCases;
$this->suites[0]->suites[] = $suite;
}
/**
* Fold an array of testcase nodes into a suite array.
*
- * @param array $nodeArray an array of testcase nodes
- * @param array $testCases an array reference. Individual testcases will be placed here.
+ * @param SimpleXMLElement[] $nodeArray an array of testcase nodes
+ * @param TestCase[] $testCases an array reference. Individual testcases will be placed here.
*
- * @return mixed
+ * @return array
*/
- protected function caseNodesToSuiteProperties(array $nodeArray, array &$testCases = [])
+ protected function caseNodesToSuiteProperties(array $nodeArray, array &$testCases = []): array
{
$cb = [TestCase::class, 'caseFromNode'];
- return \array_reduce($nodeArray, function ($result, $c) use (&$testCases, $cb) {
- $testCases[] = \call_user_func_array($cb, [$c]);
- $result['name'] = (string) $c['class'];
- $result['file'] = (string) $c['file'];
- ++$result['tests'];
- $result['assertions'] += (int) $c['assertions'];
- $result['failures'] += \count($c->xpath('failure'));
- $result['errors'] += \count($c->xpath('error'));
- $result['skipped'] += \count($c->xpath('skipped'));
- $result['time'] += (float) $c['time'];
-
- return $result;
- }, static::$defaultSuite);
+ return array_reduce(
+ $nodeArray,
+ static function (array $result, SimpleXMLElement $c) use (&$testCases, $cb): array {
+ $testCases[] = call_user_func_array($cb, [$c]);
+ $result['name'] = (string) $c['class'];
+ $result['file'] = (string) $c['file'];
+ ++$result['tests'];
+ $result['assertions'] += (int) $c['assertions'];
+ $result['failures'] += count($c->xpath('failure'));
+ $result['errors'] += count($c->xpath('error'));
+ $result['skipped'] += count($c->xpath('skipped'));
+ $result['time'] += (float) $c['time'];
+
+ return $result;
+ },
+ static::$defaultSuite
+ );
}
/**
* Return a collection of testcase nodes
* from the xml document.
*
- * @return array
+ * @return array
*/
protected function getCaseNodes(): array
{
$caseNodes = $this->xml->xpath('//testcase');
- $cases = [];
+ $cases = [];
foreach ($caseNodes as $node) {
$caseFilename = (string) $node['file'];
- if (!isset($cases[$caseFilename])) {
+ if (! isset($cases[$caseFilename])) {
$cases[$caseFilename] = [];
}
+
$cases[$caseFilename][] = $node;
}
@@ -219,11 +225,11 @@ protected function getCaseNodes(): array
* and initialize the suite collection with the first
* suite.
*/
- protected function initSuite()
+ protected function initSuite(): void
{
- $suiteNodes = $this->xml->xpath('/testsuites/testsuite/testsuite');
- $this->isSingle = \count($suiteNodes) === 0;
- $node = \current($this->xml->xpath('/testsuites/testsuite'));
+ $suiteNodes = $this->xml->xpath('/testsuites/testsuite/testsuite');
+ $this->isSingle = count($suiteNodes) === 0;
+ $node = current($this->xml->xpath('/testsuites/testsuite'));
if ($node !== false) {
$this->suites[] = TestSuite::suiteFromNode($node);
@@ -231,4 +237,41 @@ protected function initSuite()
$this->suites[] = TestSuite::suiteFromArray(self::$defaultSuite);
}
}
+
+ /**
+ * Return a value as a float or integer.
+ *
+ * @return float|int
+ */
+ protected function getNumericValue(string $property)
+ {
+ return $property === 'time'
+ ? (float) $this->suites[0]->$property
+ : (int) $this->suites[0]->$property;
+ }
+
+ /**
+ * Return messages for a given type.
+ *
+ * @return string[]
+ */
+ protected function getMessages(string $type): array
+ {
+ $messages = [];
+ $suites = $this->isSingle ? $this->suites : $this->suites[0]->suites;
+ foreach ($suites as $suite) {
+ $messages = array_merge(
+ $messages,
+ array_reduce($suite->cases, static function ($result, TestCase $case) use ($type): array {
+ return array_merge($result, array_reduce($case->$type, static function ($msgs, $msg): array {
+ $msgs[] = $msg['text'];
+
+ return $msgs;
+ }, []));
+ }, [])
+ );
+ }
+
+ return $messages;
+ }
}
diff --git a/src/Logging/JUnit/TestCase.php b/src/Logging/JUnit/TestCase.php
index efcc4ea..491dc5d 100644
--- a/src/Logging/JUnit/TestCase.php
+++ b/src/Logging/JUnit/TestCase.php
@@ -4,77 +4,48 @@
namespace ParaTest\Logging\JUnit;
+use SimpleXMLElement;
+
+use function assert;
+use function trim;
+
/**
- * Class TestCase.
- *
* A simple data structure for tracking
* the results of a testcase node in a
* JUnit xml document
*/
class TestCase
{
- /**
- * @var string
- */
+ /** @var string */
public $name;
- /**
- * @var string
- */
+ /** @var string */
public $class;
- /**
- * @var string
- */
+ /** @var string */
public $file;
- /**
- * @var int
- */
+ /** @var int */
public $line;
- /**
- * @var int
- */
+ /** @var int */
public $assertions;
- /**
- * @var string|float (a stringified float, from phpunit XML output)
- */
+ /** @var string|float (a stringified float, from phpunit XML output) */
public $time;
- /**
- * List of failures in this test case.
- *
- * @var array
- */
+ /** @var array */
public $failures = [];
- /**
- * List of errors in this test case.
- *
- * @var array
- */
+ /** @var array */
public $errors = [];
- /**
- * List of warnings in this test case.
- *
- * @var array
- */
+ /** @var array */
public $warnings = [];
- /** @var array */
+ /** @var array */
public $skipped = [];
- /**
- * @param string $name
- * @param string $class
- * @param string $file
- * @param int $line
- * @param int $assertions
- * @param string $time
- */
public function __construct(
string $name,
string $class,
@@ -83,26 +54,24 @@ public function __construct(
int $assertions,
string $time
) {
- $this->name = $name;
- $this->class = $class;
- $this->file = $file;
- $this->line = $line;
+ $this->name = $name;
+ $this->class = $class;
+ $this->file = $file;
+ $this->line = $line;
$this->assertions = $assertions;
- $this->time = $time;
+ $this->time = $time;
}
/**
* Add a defect type (error or failure).
*
* @param string $collName the name of the collection to add to
- * @param $type
- * @param $text
*/
- protected function addDefect(string $collName, string $type, string $text)
+ protected function addDefect(string $collName, string $type, string $text): void
{
$this->{$collName}[] = [
'type' => $type,
- 'text' => \trim($text),
+ 'text' => trim($text),
];
}
@@ -110,11 +79,9 @@ protected function addDefect(string $collName, string $type, string $text)
* Factory method that creates a TestCase object
* from a SimpleXMLElement.
*
- * @param \SimpleXMLElement $node
- *
* @return TestCase
*/
- public static function caseFromNode(\SimpleXMLElement $node): self
+ public static function caseFromNode(SimpleXMLElement $node): self
{
$case = new self(
(string) $node['name'],
@@ -135,7 +102,9 @@ public static function caseFromNode(\SimpleXMLElement $node): self
foreach ($defect_groups as $group => $defects) {
foreach ($defects as $defect) {
- $message = (string) $defect;
+ assert($defect !== false);
+
+ $message = (string) $defect;
$message .= (string) $system_output;
$case->addDefect($group, (string) $defect['type'], $message);
}
diff --git a/src/Logging/JUnit/TestSuite.php b/src/Logging/JUnit/TestSuite.php
index ebfec93..053d04b 100644
--- a/src/Logging/JUnit/TestSuite.php
+++ b/src/Logging/JUnit/TestSuite.php
@@ -4,79 +4,53 @@
namespace ParaTest\Logging\JUnit;
+use SimpleXMLElement;
+
/**
- * Class TestSuite.
- *
* A simple data structure for tracking
* data associated with a testsuite node
* in a JUnit xml document
*/
class TestSuite
{
- /**
- * @var string
- */
+ /** @var string */
public $name;
- /**
- * @var int
- */
+ /** @var int */
public $tests;
- /**
- * @var int
- */
+ /** @var int */
public $assertions;
- /**
- * @var int
- */
+ /** @var int */
public $failures;
- /**
- * @var int
- */
+ /** @var int */
public $errors;
- /**
- * @var int
- */
+ /** @var int */
public $skipped;
- /**
- * @var float
- */
+ /** @var float */
public $time;
- /**
- * @var string
- */
+ /** @var string */
public $file;
/**
* Nested suites.
*
- * @var array
+ * @var TestSuite[]
*/
public $suites = [];
/**
* Cases belonging to this suite.
*
- * @var array
+ * @var TestCase[]
*/
public $cases = [];
- /**
- * @param string $name
- * @param int $tests
- * @param int $assertions
- * @param int $failures
- * @param mixed $errors
- * @param int $skipped
- * @param float $time
- * @param string|null $file
- */
public function __construct(
string $name,
int $tests,
@@ -85,23 +59,23 @@ public function __construct(
int $errors,
int $skipped,
float $time,
- string $file = null
+ ?string $file = null
) {
- $this->name = $name;
- $this->tests = $tests;
+ $this->name = $name;
+ $this->tests = $tests;
$this->assertions = $assertions;
- $this->failures = $failures;
- $this->skipped = $skipped;
- $this->errors = $errors;
- $this->time = $time;
- $this->file = $file;
+ $this->failures = $failures;
+ $this->skipped = $skipped;
+ $this->errors = $errors;
+ $this->time = $time;
+ $this->file = $file;
}
/**
* Create a TestSuite from an associative
* array.
*
- * @param array $arr
+ * @param array $arr
*
* @return TestSuite
*/
@@ -122,11 +96,9 @@ public static function suiteFromArray(array $arr): self
/**
* Create a TestSuite from a SimpleXMLElement.
*
- * @param \SimpleXMLElement $node
- *
* @return TestSuite
*/
- public static function suiteFromNode(\SimpleXMLElement $node): self
+ public static function suiteFromNode(SimpleXMLElement $node): self
{
return new self(
(string) $node['name'],
diff --git a/src/Logging/JUnit/Writer.php b/src/Logging/JUnit/Writer.php
index a999ffe..58b3acf 100644
--- a/src/Logging/JUnit/Writer.php
+++ b/src/Logging/JUnit/Writer.php
@@ -4,8 +4,20 @@
namespace ParaTest\Logging\JUnit;
+use DOMDocument;
+use DOMElement;
use ParaTest\Logging\LogInterpreter;
+use function array_merge;
+use function array_reduce;
+use function count;
+use function file_put_contents;
+use function get_object_vars;
+use function htmlspecialchars;
+use function preg_match;
+
+use const ENT_XML1;
+
class Writer
{
/**
@@ -16,14 +28,10 @@ class Writer
*/
protected $name;
- /**
- * @var \ParaTest\Logging\LogInterpreter
- */
+ /** @var LogInterpreter */
protected $interpreter;
- /**
- * @var \DOMDocument
- */
+ /** @var DOMDocument */
protected $document;
/**
@@ -44,7 +52,7 @@ class Writer
* A default suite to ease flattening of
* suite structures.
*
- * @var array
+ * @var array
*/
protected static $defaultSuite = [
'tests' => 0,
@@ -57,16 +65,14 @@ class Writer
public function __construct(LogInterpreter $interpreter, string $name = '')
{
- $this->name = $name;
- $this->interpreter = $interpreter;
- $this->document = new \DOMDocument('1.0', 'UTF-8');
+ $this->name = $name;
+ $this->interpreter = $interpreter;
+ $this->document = new DOMDocument('1.0', 'UTF-8');
$this->document->formatOutput = true;
}
/**
* Get the name of the root suite being written.
- *
- * @return string
*/
public function getName(): string
{
@@ -76,13 +82,11 @@ public function getName(): string
/**
* Returns the xml structure the writer
* will use.
- *
- * @return string
*/
public function getXml(): string
{
$suites = $this->interpreter->flattenCases();
- $root = $this->getSuiteRoot($suites);
+ $root = $this->getSuiteRoot($suites);
foreach ($suites as $suite) {
$snode = $this->appendSuite($root, $suite);
foreach ($suite->cases as $case) {
@@ -95,32 +99,28 @@ public function getXml(): string
/**
* Write the xml structure to a file path.
- *
- * @param $path
*/
- public function write(string $path)
+ public function write(string $path): void
{
- \file_put_contents($path, $this->getXml());
+ file_put_contents($path, $this->getXml());
}
/**
* Append a testsuite node to the given
* root element.
- *
- * @param $root
- * @param TestSuite $suite
- *
- * @return \DOMElement
*/
- protected function appendSuite(\DOMElement $root, TestSuite $suite): \DOMElement
+ protected function appendSuite(DOMElement $root, TestSuite $suite): DOMElement
{
$suiteNode = $this->document->createElement('testsuite');
- $vars = \get_object_vars($suite);
+ $vars = get_object_vars($suite);
foreach ($vars as $name => $value) {
- if (\preg_match(static::$suiteAttrs, $name)) {
- $suiteNode->setAttribute($name, (string) $value);
+ if (! preg_match(static::$suiteAttrs, $name)) {
+ continue;
}
+
+ $suiteNode->setAttribute($name, (string) $value);
}
+
$root->appendChild($suiteNode);
return $suiteNode;
@@ -129,24 +129,23 @@ protected function appendSuite(\DOMElement $root, TestSuite $suite): \DOMElement
/**
* Append a testcase node to the given testsuite
* node.
- *
- * @param $suiteNode
- * @param TestCase $case
- *
- * @return \DOMElement
*/
- protected function appendCase(\DOMElement $suiteNode, TestCase $case): \DOMElement
+ protected function appendCase(DOMElement $suiteNode, TestCase $case): DOMElement
{
$caseNode = $this->document->createElement('testcase');
- $vars = \get_object_vars($case);
+ $vars = get_object_vars($case);
foreach ($vars as $name => $value) {
- if (\preg_match(static::$caseAttrs, $name)) {
- if ($this->isEmptyLineAttribute($name, $value)) {
- continue;
- }
- $caseNode->setAttribute($name, (string) $value);
+ if (! preg_match(static::$caseAttrs, $name)) {
+ continue;
}
+
+ if ($this->isEmptyLineAttribute($name, $value)) {
+ continue;
+ }
+
+ $caseNode->setAttribute($name, (string) $value);
}
+
$suiteNode->appendChild($caseNode);
$this->appendDefects($caseNode, $case->failures, 'failure');
$this->appendDefects($caseNode, $case->errors, 'error');
@@ -157,14 +156,12 @@ protected function appendCase(\DOMElement $suiteNode, TestCase $case): \DOMEleme
/**
* Append error or failure nodes to the given testcase node.
*
- * @param $caseNode
- * @param $defects
- * @param $type
+ * @param array $defects
*/
- protected function appendDefects(\DOMElement $caseNode, array $defects, string $type)
+ protected function appendDefects(DOMElement $caseNode, array $defects, string $type): void
{
foreach ($defects as $defect) {
- $defectNode = $this->document->createElement($type, \htmlspecialchars($defect['text'], ENT_XML1) . "\n");
+ $defectNode = $this->document->createElement($type, htmlspecialchars($defect['text'], ENT_XML1) . "\n");
$defectNode->setAttribute('type', $defect['type']);
$caseNode->appendChild($defectNode);
}
@@ -173,22 +170,22 @@ protected function appendDefects(\DOMElement $caseNode, array $defects, string $
/**
* Get the root level testsuite node.
*
- * @param $suites
- *
- * @return \DOMElement
+ * @param TestSuite[] $suites
*/
- protected function getSuiteRoot(array $suites): \DOMElement
+ protected function getSuiteRoot(array $suites): DOMElement
{
$testsuites = $this->document->createElement('testsuites');
$this->document->appendChild($testsuites);
- if (\count($suites) === 1) {
+ if (count($suites) === 1) {
return $testsuites;
}
+
$rootSuite = $this->document->createElement('testsuite');
- $attrs = $this->getSuiteRootAttributes($suites);
+ $attrs = $this->getSuiteRootAttributes($suites);
foreach ($attrs as $attr => $value) {
$rootSuite->setAttribute($attr, (string) $value);
}
+
$testsuites->appendChild($rootSuite);
return $rootSuite;
@@ -198,31 +195,28 @@ protected function getSuiteRoot(array $suites): \DOMElement
* Get the attributes used on the root testsuite
* node.
*
- * @param $suites
+ * @param array $suites
*
* @return mixed
*/
protected function getSuiteRootAttributes(array $suites)
{
- return \array_reduce($suites, function (array $result, TestSuite $suite): array {
- $result['tests'] += $suite->tests;
+ return array_reduce($suites, static function (array $result, TestSuite $suite): array {
+ $result['tests'] += $suite->tests;
$result['assertions'] += $suite->assertions;
- $result['failures'] += $suite->failures;
- $result['skipped'] += $suite->skipped;
- $result['errors'] += $suite->errors;
- $result['time'] += $suite->time;
+ $result['failures'] += $suite->failures;
+ $result['skipped'] += $suite->skipped;
+ $result['errors'] += $suite->errors;
+ $result['time'] += $suite->time;
return $result;
- }, \array_merge(['name' => $this->name], self::$defaultSuite));
+ }, array_merge(['name' => $this->name], self::$defaultSuite));
}
/**
* Prevent writing empty "line" XML attributes which could break parsers.
*
- * @param string $name
- * @param mixed $value
- *
- * @return bool
+ * @param mixed $value
*/
private function isEmptyLineAttribute(string $name, $value): bool
{
diff --git a/src/Logging/LogInterpreter.php b/src/Logging/LogInterpreter.php
index 2c42e51..cc7cf14 100644
--- a/src/Logging/LogInterpreter.php
+++ b/src/Logging/LogInterpreter.php
@@ -5,15 +5,24 @@
namespace ParaTest\Logging;
use ParaTest\Logging\JUnit\Reader;
+use ParaTest\Logging\JUnit\TestCase;
use ParaTest\Logging\JUnit\TestSuite;
+use function array_merge;
+use function array_reduce;
+use function array_values;
+use function assert;
+use function count;
+use function reset;
+use function ucfirst;
+
class LogInterpreter extends MetaProvider
{
/**
* A collection of Reader objects
* to aggregate results from.
*
- * @var array
+ * @var Reader[]
*/
protected $readers = [];
@@ -21,17 +30,15 @@ class LogInterpreter extends MetaProvider
* Reset the array pointer of the internal
* readers collection.
*/
- public function rewind()
+ public function rewind(): void
{
- \reset($this->readers);
+ reset($this->readers);
}
/**
* Add a new Reader to be included
* in the final results.
*
- * @param Reader $reader
- *
* @return $this
*/
public function addReader(Reader $reader): self
@@ -56,13 +63,11 @@ public function getReaders(): array
* Returns true if total errors and failures
* equals 0, false otherwise
* TODO: Remove this comment if we don't care about skipped tests in callers.
- *
- * @return bool
*/
public function isSuccessful(): bool
{
- $failures = $this->getTotalFailures();
- $errors = $this->getTotalErrors();
+ $failures = $this->getNumericValue('failures');
+ $errors = $this->getNumericValue('errors');
return $failures === 0 && $errors === 0;
}
@@ -71,17 +76,17 @@ public function isSuccessful(): bool
* Get all test case objects found within
* the collection of Reader objects.
*
- * @return array
+ * @return TestCase[]
*/
public function getCases(): array
{
$cases = [];
foreach ($this->readers as $reader) {
foreach ($reader->getSuites() as $suite) {
- $cases = \array_merge($cases, $suite->cases);
+ $cases = array_merge($cases, $suite->cases);
foreach ($suite->suites as $nested) {
$this->extendEmptyCasesFromSuites($nested->cases, $suite);
- $cases = \array_merge($cases, $nested->cases);
+ $cases = array_merge($cases, $nested->cases);
}
}
}
@@ -92,90 +97,87 @@ public function getCases(): array
/**
* Fix problem with empty testcase from DataProvider.
*
- * @param array $cases
- * @param TestSuite $suite
+ * @param TestCase[] $cases
*/
- protected function extendEmptyCasesFromSuites(array $cases, TestSuite $suite)
+ protected function extendEmptyCasesFromSuites(array $cases, TestSuite $suite): void
{
$class = $suite->name;
- $file = $suite->file;
+ $file = $suite->file;
- /** @var TestCase $case */
foreach ($cases as $case) {
+ assert($case instanceof TestCase);
if (empty($case->class)) {
$case->class = $class;
}
- if (empty($case->file)) {
- $case->file = $file;
+
+ if (! empty($case->file)) {
+ continue;
}
+
+ $case->file = $file;
}
}
/**
* Flattens all cases into their respective suites.
*
- * @return array $suites a collection of suites and their cases
+ * @return TestSuite[] $suites a collection of suites and their cases
*/
public function flattenCases(): array
{
$dict = [];
foreach ($this->getCases() as $case) {
- if (!isset($dict[$case->file])) {
+ if (! isset($dict[$case->file])) {
$dict[$case->file] = new TestSuite($case->class, 0, 0, 0, 0, 0, 0);
}
+
$dict[$case->file]->cases[] = $case;
++$dict[$case->file]->tests;
$dict[$case->file]->assertions += $case->assertions;
- $dict[$case->file]->failures += \count($case->failures);
- $dict[$case->file]->errors += \count($case->errors);
- $dict[$case->file]->skipped += \count($case->skipped);
- $dict[$case->file]->time += $case->time;
- $dict[$case->file]->file = $case->file;
+ $dict[$case->file]->failures += count($case->failures);
+ $dict[$case->file]->errors += count($case->errors);
+ $dict[$case->file]->skipped += count($case->skipped);
+ $dict[$case->file]->time += $case->time;
+ $dict[$case->file]->file = $case->file;
}
- return \array_values($dict);
+ return array_values($dict);
}
/**
* Returns a value as either a float or int.
*
- * @param $property
- *
* @return float|int
*/
protected function getNumericValue(string $property)
{
- return ($property === 'time')
+ return $property === 'time'
? (float) $this->accumulate('getTotalTime')
- : (int) $this->accumulate('getTotal' . \ucfirst($property));
+ : (int) $this->accumulate('getTotal' . ucfirst($property));
}
/**
* Gets messages of a given type and
* merges them into a single collection.
*
- * @param $type
- *
- * @return array
+ * @return string[]
*/
protected function getMessages(string $type): array
{
- return $this->mergeMessages('get' . \ucfirst($type));
+ return $this->mergeMessages('get' . ucfirst($type));
}
/**
* Flatten messages into a single collection
* based on an accessor method.
*
- * @param $method
- *
- * @return array
+ * @return string[]
*/
private function mergeMessages(string $method): array
{
$messages = [];
foreach ($this->readers as $reader) {
- $messages = \array_merge($messages, $reader->{$method}());
+ $messages = array_merge($messages, $reader->{$method}());
}
return $messages;
@@ -185,13 +187,11 @@ private function mergeMessages(string $method): array
* Reduces a collection of readers down to a single
* result based on an accessor.
*
- * @param $method
- *
* @return mixed
*/
private function accumulate(string $method)
{
- return \array_reduce($this->readers, function ($result, $reader) use ($method) {
+ return array_reduce($this->readers, static function ($result, $reader) use ($method) {
$result += $reader->$method();
return $result;
diff --git a/src/Logging/MetaProvider.php b/src/Logging/MetaProvider.php
index 896a282..63c925f 100644
--- a/src/Logging/MetaProvider.php
+++ b/src/Logging/MetaProvider.php
@@ -4,11 +4,24 @@
namespace ParaTest\Logging;
+use Exception;
+
+use function preg_match;
+use function strtolower;
+
/**
- * Class MetaProvider.
- *
* Adds __call behavior to a logging object
* for aggregating totals and messages
+ *
+ * @method int getTotalTests()
+ * @method int getTotalAssertions()
+ * @method int getTotalFailures()
+ * @method int getTotalErrors()
+ * @method int getTotalWarning()
+ * @method int getTotalTime()
+ * @method string[] getFailures()
+ * @method string[] getErrors()
+ * @method string[] getWarnings()
*/
abstract class MetaProvider
{
@@ -31,54 +44,35 @@ abstract class MetaProvider
/**
* Simplify aggregation of totals or messages.
*
- * @param mixed $method
- * @param mixed $args
+ * @param mixed[] $args
+ *
+ * @return float|int|string[]
*/
public function __call(string $method, array $args)
{
- if (\preg_match(self::$totalMethod, $method, $matches) && $property = \strtolower($matches[1])) {
+ if (preg_match(self::$totalMethod, $method, $matches) && $property = strtolower($matches[1])) {
return $this->getNumericValue($property);
}
- if (\preg_match(self::$messageMethod, $method, $matches) && $type = \strtolower($matches[1])) {
+
+ if (preg_match(self::$messageMethod, $method, $matches) && $type = strtolower($matches[1])) {
return $this->getMessages($type);
}
+
+ throw new Exception("Method $method uknown");
}
/**
- * Return a value as a float or integer.
- *
- * @param $property
+ * Returns a value as either a float or int.
*
* @return float|int
*/
- protected function getNumericValue(string $property)
- {
- return ($property === 'time')
- ? (float) $this->suites[0]->$property
- : (int) $this->suites[0]->$property;
- }
+ abstract protected function getNumericValue(string $property);
/**
- * Return messages for a given type.
+ * Gets messages of a given type and
+ * merges them into a single collection.
*
- * @param $type
- *
- * @return array
+ * @return string[]
*/
- protected function getMessages(string $type): array
- {
- $messages = [];
- $suites = $this->isSingle ? $this->suites : $this->suites[0]->suites;
- foreach ($suites as $suite) {
- $messages = \array_merge($messages, \array_reduce($suite->cases, function ($result, $case) use ($type) {
- return \array_merge($result, \array_reduce($case->$type, function ($msgs, $msg) {
- $msgs[] = $msg['text'];
-
- return $msgs;
- }, []));
- }, []));
- }
-
- return $messages;
- }
+ abstract protected function getMessages(string $type): array;
}
diff --git a/src/Parser/NoClassInFileException.php b/src/Parser/NoClassInFileException.php
index e0f8cbb..5832a71 100644
--- a/src/Parser/NoClassInFileException.php
+++ b/src/Parser/NoClassInFileException.php
@@ -4,6 +4,8 @@
namespace ParaTest\Parser;
-class NoClassInFileException extends \Exception
+use Exception;
+
+class NoClassInFileException extends Exception
{
}
diff --git a/src/Parser/ParsedClass.php b/src/Parser/ParsedClass.php
index 859f878..9e962f1 100644
--- a/src/Parser/ParsedClass.php
+++ b/src/Parser/ParsedClass.php
@@ -4,26 +4,30 @@
namespace ParaTest\Parser;
+use function array_filter;
+use function explode;
+
class ParsedClass extends ParsedObject
{
- /**
- * @var string
- */
+ /** @var string */
private $namespace;
/**
* A collection of methods belonging
* to the parsed class.
*
- * @var array
+ * @var ParsedFunction[]
*/
private $methods;
+ /**
+ * @param ParsedFunction[] $methods
+ */
public function __construct(string $doc, string $name, string $namespace, array $methods = [])
{
parent::__construct($doc, $name);
$this->namespace = $namespace;
- $this->methods = $methods;
+ $this->methods = $methods;
}
/**
@@ -31,15 +35,15 @@ public function __construct(string $doc, string $name, string $namespace, array
* optionally filtering on annotations present
* on a method.
*
- * @param array $annotations
+ * @param array $annotations
*
- * @return array
+ * @return ParsedFunction[]
*/
public function getMethods(array $annotations = []): array
{
- $methods = \array_filter($this->methods, function (ParsedFunction $method) use ($annotations): bool {
+ $methods = array_filter($this->methods, static function (ParsedFunction $method) use ($annotations): bool {
foreach ($annotations as $a => $v) {
- foreach (\explode(',', $v) as $subValue) {
+ foreach (explode(',', $v) as $subValue) {
if ($method->hasAnnotation($a, $subValue)) {
return true;
}
@@ -54,8 +58,6 @@ public function getMethods(array $annotations = []): array
/**
* Return the namespace of the parsed class.
- *
- * @return string
*/
public function getNamespace(): string
{
diff --git a/src/Parser/ParsedFunction.php b/src/Parser/ParsedFunction.php
index 8d64b96..f32c7b6 100644
--- a/src/Parser/ParsedFunction.php
+++ b/src/Parser/ParsedFunction.php
@@ -6,9 +6,7 @@
class ParsedFunction extends ParsedObject
{
- /**
- * @var string
- */
+ /** @var string */
private $visibility;
public function __construct(string $doc, string $visibility, string $name)
@@ -20,8 +18,6 @@ public function __construct(string $doc, string $visibility, string $name)
/**
* Returns the accessibility level of the parsed
* method - i.e public, private, protected.
- *
- * @return string
*/
public function getVisibility(): string
{
diff --git a/src/Parser/ParsedObject.php b/src/Parser/ParsedObject.php
index 0d64bb4..ecc87f2 100644
--- a/src/Parser/ParsedObject.php
+++ b/src/Parser/ParsedObject.php
@@ -4,28 +4,25 @@
namespace ParaTest\Parser;
+use function preg_match;
+use function sprintf;
+
abstract class ParsedObject
{
- /**
- * @var string
- */
+ /** @var string */
protected $docBlock;
- /**
- * @var string
- */
+ /** @var string */
protected $name;
public function __construct(string $doc, string $name)
{
$this->docBlock = $doc;
- $this->name = $name;
+ $this->name = $name;
}
/**
* Get the name of a parsed object.
- *
- * @return string
*/
public function getName(): string
{
@@ -34,10 +31,8 @@ public function getName(): string
/**
* Get the doc block comments of a parsed object.
- *
- * @return string
*/
- public function getDocBlock()
+ public function getDocBlock(): string
{
return $this->docBlock;
}
@@ -46,20 +41,15 @@ public function getDocBlock()
* Returns whether or not the parsed object
* has an annotation matching the name and value
* if provided.
- *
- * @param string $anno
- * @param mixed $value
- *
- * @return bool
*/
- public function hasAnnotation(string $annotation, string $value = null): bool
+ public function hasAnnotation(string $annotation, ?string $value = null): bool
{
- $pattern = \sprintf(
+ $pattern = sprintf(
'/@%s%s/',
$annotation,
- null !== $value ? "[\s]+$value" : '\b'
+ $value !== null ? "[\s]+$value" : '\b'
);
- return 1 === \preg_match($pattern, $this->docBlock);
+ return preg_match($pattern, $this->docBlock) === 1;
}
}
diff --git a/src/Parser/Parser.php b/src/Parser/Parser.php
index 6a32123..d321e83 100644
--- a/src/Parser/Parser.php
+++ b/src/Parser/Parser.php
@@ -4,6 +4,21 @@
namespace ParaTest\Parser;
+use InvalidArgumentException;
+use PHPStan\Testing\TestCase;
+use ReflectionClass;
+use ReflectionException;
+use ReflectionMethod;
+
+use function array_diff;
+use function array_values;
+use function file_exists;
+use function get_declared_classes;
+use function preg_match;
+use function realpath;
+use function str_replace;
+use function strpos;
+
class Parser
{
/**
@@ -13,9 +28,7 @@ class Parser
*/
private $path;
- /**
- * @var \ReflectionClass
- */
+ /** @var ReflectionClass */
private $refl;
/**
@@ -35,21 +48,22 @@ class Parser
public function __construct(string $srcPath)
{
- if (!\file_exists($srcPath)) {
- throw new \InvalidArgumentException('file not found: ' . $srcPath);
+ if (! file_exists($srcPath)) {
+ throw new InvalidArgumentException('file not found: ' . $srcPath);
}
- $this->path = $srcPath;
- $declaredClasses = \get_declared_classes();
+ $this->path = $srcPath;
+ $declaredClasses = get_declared_classes();
require_once $this->path;
$class = $this->getClassName($this->path, $declaredClasses);
- if (!$class) {
+ if (! $class) {
throw new NoClassInFileException();
}
+
try {
- $this->refl = new \ReflectionClass($class);
- } catch (\ReflectionException $e) {
- throw new \InvalidArgumentException(
+ $this->refl = new ReflectionClass($class);
+ } catch (ReflectionException $e) {
+ throw new InvalidArgumentException(
'Unable to instantiate ReflectionClass. ' . $class . ' not found in: ' . $srcPath
);
}
@@ -58,10 +72,8 @@ public function __construct(string $srcPath)
/**
* Returns the fully constructed class
* with methods or null if the class is abstract.
- *
- * @return ParsedClass|null
*/
- public function getClass()
+ public function getClass(): ?ParsedClass
{
return $this->refl->isAbstract()
? null
@@ -75,31 +87,31 @@ public function getClass()
/**
* Return reflection name with null bytes stripped.
- *
- * @return string
*/
private function getCleanReflectionName(): string
{
- return \str_replace("\x00", '', $this->refl->getName());
+ return str_replace("\x00", '', $this->refl->getName());
}
/**
* Return all test methods present in the file.
*
- * @return array
+ * @return ParsedFunction[]
*/
private function getMethods(): array
{
- $tests = [];
- $methods = $this->refl->getMethods(\ReflectionMethod::IS_PUBLIC);
+ $tests = [];
+ $methods = $this->refl->getMethods(ReflectionMethod::IS_PUBLIC);
foreach ($methods as $method) {
- $hasTestName = \preg_match(self::$testName, $method->getName());
- $docComment = $method->getDocComment();
- $hasTestAnnotation = false !== $docComment && \preg_match(self::$testAnnotation, $docComment);
- $isTestMethod = $hasTestName || $hasTestAnnotation;
- if ($isTestMethod) {
- $tests[] = new ParsedFunction((string) $method->getDocComment(), 'public', $method->getName());
+ $hasTestName = preg_match(self::$testName, $method->getName());
+ $docComment = $method->getDocComment();
+ $hasTestAnnotation = $docComment !== false && preg_match(self::$testAnnotation, $docComment);
+ $isTestMethod = $hasTestName || $hasTestAnnotation;
+ if (! $isTestMethod) {
+ continue;
}
+
+ $tests[] = new ParsedFunction((string) $method->getDocComment(), 'public', $method->getName());
}
return $tests;
@@ -109,16 +121,13 @@ private function getMethods(): array
* Return the class name of the class contained
* in the file.
*
- * @param mixed $filename
- * @param mixed $previousDeclaredClasses
- *
- * @return string
+ * @param string[] $previousDeclaredClasses
*/
- private function getClassName(string $filename, array $previousDeclaredClasses)
+ private function getClassName(string $filename, array $previousDeclaredClasses): ?string
{
- $filename = \realpath($filename);
- $classes = \get_declared_classes();
- $newClasses = \array_values(\array_diff($classes, $previousDeclaredClasses));
+ $filename = realpath($filename);
+ $classes = get_declared_classes();
+ $newClasses = array_values(array_diff($classes, $previousDeclaredClasses));
$className = $this->searchForUnitTestClass($newClasses, $filename);
if (isset($className)) {
@@ -129,50 +138,51 @@ private function getClassName(string $filename, array $previousDeclaredClasses)
if (isset($className)) {
return $className;
}
+
+ return null;
}
/**
* Search for the name of the unit test.
*
* @param string[] $classes
- * @param string $filename
- *
- * @return string|null
*/
- private function searchForUnitTestClass(array $classes, string $filename)
+ private function searchForUnitTestClass(array $classes, string $filename): ?string
{
// TODO: After merging this PR or other PR for phpunit 6 support, keep only the applicable subclass name
$matchingClassName = null;
foreach ($classes as $className) {
- $class = new \ReflectionClass($className);
- if ($class->getFileName() === $filename) {
- if ($class->isSubclassOf('PHPUnit\Framework\TestCase')) {
- if ($this->classNameMatchesFileName($filename, $className)) {
- return $className;
- } elseif ($matchingClassName === null) {
- $matchingClassName = $className;
- }
- }
+ $class = new ReflectionClass($className);
+ if ($class->getFileName() !== $filename) {
+ continue;
}
+
+ if (! $class->isSubclassOf('PHPUnit\Framework\TestCase')) {
+ continue;
+ }
+
+ if ($this->classNameMatchesFileName($filename, $className)) {
+ return $className;
+ }
+
+ if ($matchingClassName !== null) {
+ continue;
+ }
+
+ $matchingClassName = $className;
}
return $matchingClassName;
}
- /**
- * @param $filename
- * @param $className
- *
- * @return bool
- */
private function classNameMatchesFileName(string $filename, string $className): bool
{
- return \strpos($filename, $className) !== false
- || \strpos($filename, $this->invertSlashes($className)) !== false;
+ return strpos($filename, $className) !== false
+ || strpos($filename, $this->invertSlashes($className)) !== false;
}
private function invertSlashes(string $className): string
{
- return \str_replace('\\', '/', $className);
+ return str_replace('\\', '/', $className);
}
}
diff --git a/src/Runners/PHPUnit/BaseRunner.php b/src/Runners/PHPUnit/BaseRunner.php
index b75e70e..dfbe61b 100644
--- a/src/Runners/PHPUnit/BaseRunner.php
+++ b/src/Runners/PHPUnit/BaseRunner.php
@@ -7,29 +7,30 @@
use ParaTest\Coverage\CoverageMerger;
use ParaTest\Logging\JUnit\Writer;
use ParaTest\Logging\LogInterpreter;
+use ParaTest\Parser\ParsedFunction;
+
+use function array_merge;
+use function file_exists;
+use function getenv;
+use function putenv;
+use function sprintf;
abstract class BaseRunner
{
- /**
- * @var Options
- */
+ /** @var Options */
protected $options;
- /**
- * @var \ParaTest\Logging\LogInterpreter
- */
+ /** @var LogInterpreter */
protected $interpreter;
- /**
- * @var ResultPrinter
- */
+ /** @var ResultPrinter */
protected $printer;
/**
* A collection of pending ExecutableTest objects that have
* yet to run.
*
- * @var ExecutableTest[]
+ * @var array
*/
protected $pending = [];
@@ -56,14 +57,17 @@ abstract class BaseRunner
*/
protected $coverage = null;
+ /**
+ * @param array $opts
+ */
public function __construct(array $opts = [])
{
- $this->options = new Options($opts);
+ $this->options = new Options($opts);
$this->interpreter = new LogInterpreter();
- $this->printer = new ResultPrinter($this->interpreter);
+ $this->printer = new ResultPrinter($this->interpreter);
}
- public function run()
+ public function run(): void
{
$this->initialize();
}
@@ -73,13 +77,13 @@ public function run()
* causes ParaTest to print the error message and exit immediately
* with an exit code of 1.
*/
- protected function verifyConfiguration()
+ protected function verifyConfiguration(): void
{
if (
isset($this->options->filtered['configuration']) &&
- !\file_exists($this->options->filtered['configuration']->getPath())
+ ! file_exists($path = $this->options->filtered['configuration']->getPath())
) {
- $this->printer->println(\sprintf('Could not read "%s".', $this->options->filtered['configuration']));
+ $this->printer->println(sprintf('Could not read "%s".', $path));
exit(1);
}
}
@@ -90,11 +94,11 @@ protected function verifyConfiguration()
* contain a collection of TestMethod objects instead of Suite
* objects.
*/
- protected function load(SuiteLoader $loader)
+ protected function load(SuiteLoader $loader): void
{
$loader->load($this->options->path);
- $executables = $this->options->functional ? $loader->getTestMethods() : $loader->getSuites();
- $this->pending = \array_merge($this->pending, $executables);
+ $executables = $this->options->functional ? $loader->getTestMethods() : $loader->getSuites();
+ $this->pending = array_merge($this->pending, $executables);
foreach ($this->pending as $pending) {
$this->printer->addTest($pending);
}
@@ -103,8 +107,6 @@ protected function load(SuiteLoader $loader)
/**
* Returns the highest exit code encountered
* throughout the course of test execution.
- *
- * @return int
*/
public function getExitCode(): int
{
@@ -114,11 +116,12 @@ public function getExitCode(): int
/**
* Write output to JUnit format if requested.
*/
- protected function log()
+ protected function log(): void
{
- if (!isset($this->options->filtered['log-junit'])) {
+ if (! isset($this->options->filtered['log-junit'])) {
return;
}
+
$output = $this->options->filtered['log-junit'];
$writer = new Writer($this->interpreter, $this->options->path);
$writer->write($output);
@@ -127,9 +130,9 @@ protected function log()
/**
* Write coverage to file if requested.
*/
- protected function logCoverage()
+ protected function logCoverage(): void
{
- if (!$this->hasCoverage()) {
+ if (! $this->hasCoverage()) {
return;
}
@@ -160,26 +163,21 @@ protected function logCoverage()
$reporter->php($filteredOptions['coverage-php']);
}
- protected function initCoverage()
+ protected function initCoverage(): void
{
- if (!isset($this->options->filtered['coverage-php'])) {
+ if (! isset($this->options->filtered['coverage-php'])) {
return;
}
- $this->coverage = new CoverageMerger((int)$this->options->coverageTestLimit);
+
+ $this->coverage = new CoverageMerger((int) $this->options->coverageTestLimit);
}
- /**
- * @return bool
- */
protected function hasCoverage(): bool
{
return $this->getCoverage() !== null;
}
- /**
- * @return CoverageMerger|null
- */
- protected function getCoverage()
+ protected function getCoverage(): ?CoverageMerger
{
return $this->coverage;
}
@@ -187,16 +185,16 @@ protected function getCoverage()
/**
* Overrides envirenment variables if needed.
*/
- protected function overrideEnvironmentVariables()
+ protected function overrideEnvironmentVariables(): void
{
- if (!isset($this->options->filtered['configuration'])) {
+ if (! isset($this->options->filtered['configuration'])) {
return;
}
$variables = $this->options->filtered['configuration']->getEnvironmentVariables();
foreach ($variables as $key => $value) {
- \putenv(\sprintf('%s=%s', $key, getenv($key, true) ?: $value));
+ putenv(sprintf('%s=%s', $key, getenv($key, true) ?: $value));
$_ENV[$key] = getenv($key, true) ?: $value;
}
diff --git a/src/Runners/PHPUnit/Configuration.php b/src/Runners/PHPUnit/Configuration.php
index 894fdb1..8f657f8 100644
--- a/src/Runners/PHPUnit/Configuration.php
+++ b/src/Runners/PHPUnit/Configuration.php
@@ -4,9 +4,24 @@
namespace ParaTest\Runners\PHPUnit;
+use RuntimeException;
+use SimpleXMLElement;
+
+use function array_key_exists;
+use function array_merge_recursive;
+use function dirname;
+use function file_exists;
+use function file_get_contents;
+use function glob;
+use function realpath;
+use function simplexml_load_string;
+use function sprintf;
+use function strpos;
+
+use const DIRECTORY_SEPARATOR;
+use const GLOB_ONLYDIR;
+
/**
- * Class Configuration.
- *
* Stores information about the phpunit xml
* configuration being used to run tests
*/
@@ -19,35 +34,25 @@ class Configuration
*/
protected $path;
- /**
- * @var \SimpleXMLElement
- */
+ /** @var false|SimpleXMLElement */
protected $xml;
+ /** @var string[] */
protected $availableNodes = ['exclude', 'file', 'directory', 'testsuite'];
- /**
- * A collection of datastructures
- * build from the nodes inside of a
- * PHPUnit configuration.
- *
- * @var array
- */
- protected $suites = [];
-
public function __construct(string $path)
{
$this->path = $path;
- if (\file_exists($path)) {
- $this->xml = \simplexml_load_string(\file_get_contents($path));
+ if (! file_exists($path)) {
+ return;
}
+
+ $this->xml = simplexml_load_string(file_get_contents($path));
}
/**
* Converting the configuration to a string
* returns the configuration path.
- *
- * @return string
*/
public function __toString(): string
{
@@ -71,8 +76,6 @@ public function getBootstrap(): string
/**
* Returns the path to the phpunit configuration
* file.
- *
- * @return string
*/
public function getPath(): string
{
@@ -85,31 +88,36 @@ public function getPath(): string
*
* @return SuitePath[][]|null
*/
- public function getSuites()
+ public function getSuites(): ?array
{
- if (!$this->xml) {
- return;
+ if (! $this->xml) {
+ return null;
}
+
$suites = [];
- $nodes = $this->xml->xpath('//testsuites/testsuite');
+ $nodes = $this->xml->xpath('//testsuites/testsuite');
foreach ($nodes as $node) {
- $suites = \array_merge_recursive($suites, $this->getSuiteByName((string) $node['name']));
+ $suites = array_merge_recursive($suites, $this->getSuiteByName((string) $node['name']));
}
return $suites;
}
- public function hasSuites()
+ public function hasSuites(): bool
{
- return !empty($this->getSuitesName());
+ return ! empty($this->getSuitesName());
}
- public function getSuitesName()
+ /**
+ * @return string[]|null
+ */
+ public function getSuitesName(): ?array
{
- if (!$this->xml) {
- return;
+ if (! $this->xml) {
+ return null;
}
+
$nodes = $this->xml->xpath('//testsuites/testsuite');
$names = [];
foreach ($nodes as $node) {
@@ -123,15 +131,13 @@ public function getSuitesName()
* Return the contents of the nodes
* contained in a PHPUnit configuration.
*
- * @param string $suiteName
- *
- * @return SuitePath[]|null
+ * @return SuitePath[][]|null
*/
- public function getSuiteByName(string $suiteName)
+ public function getSuiteByName(string $suiteName): ?array
{
- $nodes = $this->xml->xpath(\sprintf('//testsuite[@name="%s"]', $suiteName));
+ $nodes = $this->xml->xpath(sprintf('//testsuite[@name="%s"]', $suiteName));
- $suites = [];
+ $suites = [];
$excludedPaths = [];
foreach ($nodes as $node) {
foreach ($this->availableNodes as $nodeName) {
@@ -141,18 +147,22 @@ public function getSuiteByName(string $suiteName)
foreach ($this->getSuitePaths((string) $nodeContent) as $excludedPath) {
$excludedPaths[$excludedPath] = $excludedPath;
}
+
break;
case 'testsuite':
- $suites = \array_merge_recursive($suites, $this->getSuiteByName((string) $nodeContent));
+ $suites = array_merge_recursive($suites, $this->getSuiteByName((string) $nodeContent));
break;
case 'directory':
// Replicate behaviour of PHPUnit
// if a directory is included and excluded at the same time, then it is considered included
foreach ($this->getSuitePaths((string) $nodeContent) as $dir) {
- if (\array_key_exists($dir, $excludedPaths)) {
- unset($excludedPaths[$dir]);
+ if (! array_key_exists($dir, $excludedPaths)) {
+ continue;
}
+
+ unset($excludedPaths[$dir]);
}
+
// no break on purpose
default:
foreach ($this->getSuitePaths((string) $nodeContent) as $path) {
@@ -162,6 +172,7 @@ public function getSuiteByName(string $suiteName)
(string) $nodeContent->attributes()->suffix
);
}
+
break;
}
}
@@ -174,24 +185,20 @@ public function getSuiteByName(string $suiteName)
/**
* Return the path of the directory
* that contains the phpunit configuration.
- *
- * @return string
*/
public function getConfigDir(): string
{
- return \dirname($this->path) . \DIRECTORY_SEPARATOR;
+ return dirname($this->path) . DIRECTORY_SEPARATOR;
}
/**
* Returns a suite paths relative to the config file.
*
- * @param $path
- *
* @return array|string[]
*/
- public function getSuitePaths(string $path)
+ public function getSuitePaths(string $path): array
{
- $real = \realpath($this->getConfigDir() . $path);
+ $real = realpath($this->getConfigDir() . $path);
if ($real !== false) {
return [$real];
@@ -199,26 +206,28 @@ public function getSuitePaths(string $path)
if ($this->isGlobRequired($path)) {
$paths = [];
- foreach (\glob($this->getConfigDir() . $path, GLOB_ONLYDIR) as $path) {
- if (($path = \realpath($path)) !== false) {
- $paths[] = $path;
+ foreach (glob($this->getConfigDir() . $path, GLOB_ONLYDIR) as $path) {
+ if (($path = realpath($path)) === false) {
+ continue;
}
+
+ $paths[] = $path;
}
return $paths;
}
- throw new \RuntimeException("Suite path $path could not be found");
+ throw new RuntimeException("Suite path $path could not be found");
}
/**
* Get override environment variables from phpunit config file.
*
- * @return array
+ * @return array
*/
public function getEnvironmentVariables(): array
{
- if (!isset($this->xml->php->env)) {
+ if (! isset($this->xml->php->env)) {
return [];
}
@@ -233,13 +242,9 @@ public function getEnvironmentVariables(): array
/**
* Returns true if path needs globbing (like a /path/*-to/string).
- *
- * @param string $path
- *
- * @return bool
*/
public function isGlobRequired(string $path): bool
{
- return \strpos($path, '*') !== false;
+ return strpos($path, '*') !== false;
}
}
diff --git a/src/Runners/PHPUnit/EmptyRunnerStub.php b/src/Runners/PHPUnit/EmptyRunnerStub.php
index 77e76c0..679f171 100644
--- a/src/Runners/PHPUnit/EmptyRunnerStub.php
+++ b/src/Runners/PHPUnit/EmptyRunnerStub.php
@@ -6,7 +6,7 @@
class EmptyRunnerStub extends BaseRunner
{
- public function run()
+ public function run(): void
{
echo 'EXECUTED';
}
diff --git a/src/Runners/PHPUnit/ExecutableTest.php b/src/Runners/PHPUnit/ExecutableTest.php
index 60806ee..fd5714e 100644
--- a/src/Runners/PHPUnit/ExecutableTest.php
+++ b/src/Runners/PHPUnit/ExecutableTest.php
@@ -4,9 +4,19 @@
namespace ParaTest\Runners\PHPUnit;
+use RuntimeException;
use Symfony\Component\Process\PhpExecutableFinder;
use Symfony\Component\Process\Process;
+use function array_map;
+use function array_merge;
+use function strlen;
+use function sys_get_temp_dir;
+use function tempnam;
+use function unlink;
+
+use const DIRECTORY_SEPARATOR;
+
abstract class ExecutableTest
{
/**
@@ -24,8 +34,6 @@ abstract class ExecutableTest
*/
protected $temp;
- protected $pipes = [];
-
/**
* Path where the coveragereport is stored.
*
@@ -33,9 +41,7 @@ abstract class ExecutableTest
*/
protected $coverageFileName;
- /**
- * @var Process
- */
+ /** @var Process */
protected $process;
/**
@@ -60,15 +66,11 @@ public function __construct(string $path)
/**
* Get the expected count of tests to be executed.
- *
- * @return int
*/
abstract public function getTestCount(): int;
/**
* Get the path to the test being executed.
- *
- * @return string
*/
public function getPath(): string
{
@@ -79,13 +81,11 @@ public function getPath(): string
* Returns the path to this test's temp file.
* If the temp file does not exist, it will be
* created.
- *
- * @return string
*/
public function getTempFile(): string
{
- if (null === $this->temp) {
- $this->temp = \tempnam(\sys_get_temp_dir(), 'PT_');
+ if ($this->temp === null) {
+ $this->temp = tempnam(sys_get_temp_dir(), 'PT_');
}
return $this->temp;
@@ -93,8 +93,6 @@ public function getTempFile(): string
/**
* Return the test process' stderr contents.
- *
- * @return string
*/
public function getStderr(): string
{
@@ -104,10 +102,8 @@ public function getStderr(): string
/**
* Stop the process and return it's
* exit code.
- *
- * @return int
*/
- public function stop(): int
+ public function stop(): ?int
{
return $this->process->stop();
}
@@ -115,16 +111,14 @@ public function stop(): int
/**
* Removes the test file.
*/
- public function deleteFile()
+ public function deleteFile(): void
{
$outputFile = $this->getTempFile();
- \unlink($outputFile);
+ unlink($outputFile);
}
/**
* Check if the process has terminated.
- *
- * @return bool
*/
public function isDoneRunning(): bool
{
@@ -133,18 +127,14 @@ public function isDoneRunning(): bool
/**
* Return the exit code of the process.
- *
- * @return int
*/
- public function getExitCode(): int
+ public function getExitCode(): ?int
{
return $this->process->getExitCode();
}
/**
* Return the last process command.
- *
- * @return string
*/
public function getLastCommand(): string
{
@@ -153,10 +143,8 @@ public function getLastCommand(): string
/**
* Set the last process command.
- *
- * @param string $command
*/
- public function setLastCommand(string $command)
+ public function setLastCommand(string $command): void
{
$this->lastCommand = $command;
}
@@ -164,11 +152,10 @@ public function setLastCommand(string $command)
/**
* Executes the test by creating a separate process.
*
- * @param string $binary
- * @param array $options
- * @param array $environmentVariables
- * @param string|null $passthru
- * @param string|null $passthruPhp
+ * @param array $options
+ * @param array $environmentVariables
+ * @param string[]|null $passthru
+ * @param string[]|null $passthruPhp
*
* @return $this
*/
@@ -176,8 +163,8 @@ public function run(
string $binary,
array $options = [],
array $environmentVariables = [],
- ?string $passthru = null,
- ?string $passthruPhp = null
+ ?array $passthru = null,
+ ?array $passthruPhp = null
) {
$environmentVariables['PARATEST'] = 1;
$this->handleEnvironmentVariables($environmentVariables);
@@ -187,21 +174,7 @@ public function run(
$this->assertValidCommandLineLength($command);
$this->setLastCommand($command);
- $this->process = \method_exists(Process::class, 'fromShellCommandline') ?
- Process::fromShellCommandline($command, null, $environmentVariables) :
- new Process($command, null, $environmentVariables);
-
- if (\method_exists($this->process, 'inheritEnvironmentVariables')) {
- $reflectionMethod = new \ReflectionMethod($this->process, 'inheritEnvironmentVariables');
- if (\stripos($reflectionMethod->getDocComment() ?: '', '@deprecated') === false) {
- // no such method in 3.0, but emits warning if this isn't done in 3.3,
- // and is deprecated starting in symfony/process 4.4 because it became the default.
- //
- // This checks for deprecation because E_USER_DEPRECATED may cause problems
- // in custom error handlers in test bootstrap files
- $this->process->inheritEnvironmentVariables();
- }
- }
+ $this->process = Process::fromShellCommandline($command, null, $environmentVariables);
$this->process->start();
return $this;
@@ -211,37 +184,30 @@ public function run(
* Build the full executable as we would do on the command line, e.g.
* php -d zend_extension=xdebug.so vendor/bin/phpunit --teststuite suite1 --prepend xdebug-filter.php.
*
- * @param $binary
- * @param $options
- * @param string|null $passthru
- * @param string|null $passthruPhp
- *
- * @return string
+ * @param array $options
+ * @param string[]|null $passthru
+ * @param string[]|null $passthruPhp
*/
protected function getFullCommandlineString(
- $binary,
- $options,
- ?string $passthru = null,
- ?string $passthruPhp = null
- ) {
+ string $binary,
+ array $options,
+ ?array $passthru = null,
+ ?array $passthruPhp = null
+ ): string {
$finder = new PhpExecutableFinder();
- $args = [];
- $args['php'] = $finder->find();
- if (!empty($passthruPhp)) {
- $args['phpOptions'] = $passthruPhp;
+ $args = [$finder->find()];
+ if ($passthruPhp !== null) {
+ $args = array_merge($args, $passthruPhp);
}
- $args['phpunit'] = $this->command($binary, $options, $passthru);
- $command = \implode(' ', $args);
+ $args = array_merge($args, $this->commandArguments($binary, $options, $passthru));
- return $command;
+ return (new Process($args))->getCommandLine();
}
/**
* Returns the unique token for this test process.
- *
- * @return int
*/
public function getToken(): int
{
@@ -249,33 +215,60 @@ public function getToken(): int
}
/**
- * Generate command line with passed options suitable to handle through paratest.
+ * Generate command line arguments with passed options suitable to handle through paratest.
*
- * @param string $binary executable binary name
- * @param array $options command line options
- * @param string|null $passthru
+ * @param string $binary executable binary name
+ * @param array $options command line options
+ * @param string[]|null $passthru
*
- * @return string command line
+ * @return string[] command line arguments
*/
- public function command(string $binary, array $options = [], ?string $passthru = null): string
+ public function commandArguments(string $binary, array $options = [], ?array $passthru = null): array
{
- $options = \array_merge($this->prepareOptions($options), ['log-junit' => $this->getTempFile()]);
+ $options = array_merge($this->prepareOptions($options), ['log-junit' => $this->getTempFile()]);
$options = $this->redirectCoverageOption($options);
- $cmd = $this->getCommandString($binary, $options, $passthru);
+ $arguments = [$binary];
+ if ($passthru !== null) {
+ $arguments = array_merge($arguments, $passthru);
+ }
+
+ foreach ($options as $key => $value) {
+ $arguments[] = "--$key";
+ if ($value === null) {
+ continue;
+ }
+
+ $arguments[] = $value;
+ }
+
+ $arguments[] = $this->getPath();
+ $arguments = array_map('strval', $arguments);
+
+ return $arguments;
+ }
- return $cmd;
+ /**
+ * Generate command line with passed options suitable to handle through paratest.
+ *
+ * @param string $binary executable binary name
+ * @param array $options command line options
+ * @param string[]|null $passthru
+ *
+ * @return string command line
+ */
+ public function command(string $binary, array $options = [], ?array $passthru = null): string
+ {
+ return (new Process($this->commandArguments($binary, $options, $passthru)))->getCommandLine();
}
/**
* Get coverage filename.
- *
- * @return string
*/
public function getCoverageFileName(): string
{
if ($this->coverageFileName === null) {
- $this->coverageFileName = \tempnam(\sys_get_temp_dir(), 'CV_');
+ $this->coverageFileName = tempnam(sys_get_temp_dir(), 'CV_');
}
return $this->coverageFileName;
@@ -283,8 +276,6 @@ public function getCoverageFileName(): string
/**
* Get process stdout content.
- *
- * @return string
*/
public function getStdout(): string
{
@@ -293,10 +284,8 @@ public function getStdout(): string
/**
* Set process temporary filename.
- *
- * @param string $temp
*/
- public function setTempFile(string $temp)
+ public function setTempFile(string $temp): void
{
$this->temp = $temp;
}
@@ -310,17 +299,18 @@ public function setTempFile(string $temp)
*
* @param string $cmd Command line
*
- * @throws \RuntimeException on too long command line
+ * @throws RuntimeException on too long command line.
*/
- protected function assertValidCommandLineLength(string $cmd)
+ protected function assertValidCommandLineLength(string $cmd): void
{
- if (\DIRECTORY_SEPARATOR === '\\') { // windows
+ if (DIRECTORY_SEPARATOR === '\\') { // windows
// symfony's process wrapper
$cmd = 'cmd /V:ON /E:ON /C "(' . $cmd . ')';
- if (\strlen($cmd) > 32767) {
- throw new \RuntimeException('Command line is too long, try to decrease max batch size');
+ if (strlen($cmd) > 32767) {
+ throw new RuntimeException('Command line is too long, try to decrease max batch size');
}
}
+
/*
* @todo Implement command line length validation for linux/osx/freebsd.
* Please note that on unix environment variables also became part of command line:
@@ -332,78 +322,37 @@ protected function assertValidCommandLineLength(string $cmd)
/**
* A template method that can be overridden to add necessary options for a test.
*
- * @param array $options the options that are passed to the run method
+ * @param array $options
*
- * @return array $options the prepared options
+ * @return array $options
*/
protected function prepareOptions(array $options): array
{
return $options;
}
- /**
- * Returns the command string that will be executed
- * by proc_open.
- *
- * @param string $binary
- * @param array $options
- * @param string|null $passthru
- *
- * @return mixed
- */
- protected function getCommandString(string $binary, array $options = [], ?string $passthru = null)
- {
- // The order we add stuff into $arguments is important
- $arguments = [$binary];
- // Note:
- // the arguments MUST come last and we need to "somehow"
- // merge the passthru string in there.
- // Thus, we "split" the command creation here.
- // For a clean solution, we would need to manually parse and verify
- // the passthru. I'll leave that as a
- // TODO
- // @see https://stackoverflow.com/a/34871367/413531
- // @see https://github.com/symfony/console/blob/68001d4b65139ef4f22da581a8da7be714218aec/Input/StringInput.php
- $cmd = (new Process($arguments))->getCommandLine();
- if (!empty($passthru)) {
- $cmd .= ' ' . $passthru;
- }
-
- $arguments = [];
- foreach ($options as $key => $value) {
- $arguments[] = "--$key";
- if ($value !== null) {
- $arguments[] = $value;
- }
- }
-
- $arguments[] = $this->getPath();
-
- $args = (new Process($arguments))->getCommandLine();
-
- return $cmd . ' ' . $args;
- }
-
/**
* Checks environment variables for the presence of a TEST_TOKEN
* variable and sets $this->token based on its value.
*
- * @param $environmentVariables
+ * @param array $environmentVariables
*/
- protected function handleEnvironmentVariables(array $environmentVariables)
+ protected function handleEnvironmentVariables(array $environmentVariables): void
{
- if (isset($environmentVariables['TEST_TOKEN'])) {
- $this->token = $environmentVariables['TEST_TOKEN'];
+ if (! isset($environmentVariables['TEST_TOKEN'])) {
+ return;
}
+
+ $this->token = $environmentVariables['TEST_TOKEN'];
}
/**
* Checks if the coverage-php option is set and redirects it to a unique temp file.
* This will ensure, that multiple tests write to separate coverage-files.
*
- * @param array $options
+ * @param array $options
*
- * @return array $options
+ * @return array $options
*/
protected function redirectCoverageOption(array $options): array
{
diff --git a/src/Runners/PHPUnit/FullSuite.php b/src/Runners/PHPUnit/FullSuite.php
index 692dc73..82d96c1 100644
--- a/src/Runners/PHPUnit/FullSuite.php
+++ b/src/Runners/PHPUnit/FullSuite.php
@@ -4,38 +4,32 @@
namespace ParaTest\Runners\PHPUnit;
+use function array_merge;
+
class FullSuite extends ExecutableTest
{
- /**
- * @var string
- */
+ /** @var string */
protected $suiteName;
- /**
- * @var string
- */
+ /** @var string */
protected $configPath;
- /**
- * @param string $suiteName
- * @param string $configPath
- */
- public function __construct($suiteName, $configPath)
+ public function __construct(string $suiteName, string $configPath)
{
parent::__construct('');
- $this->suiteName = $suiteName;
+ $this->suiteName = $suiteName;
$this->configPath = $configPath;
}
/**
* {@inheritdoc}
*/
- protected function getCommandString(string $binary, array $options = [], ?string $passthru = null)
+ public function commandArguments(string $binary, array $options = [], ?array $passthru = null): array
{
- return parent::getCommandString(
+ return parent::commandArguments(
$binary,
- \array_merge(
+ array_merge(
$options,
[
'configuration' => $this->configPath,
diff --git a/src/Runners/PHPUnit/Options.php b/src/Runners/PHPUnit/Options.php
index b11c53f..26e34fc 100644
--- a/src/Runners/PHPUnit/Options.php
+++ b/src/Runners/PHPUnit/Options.php
@@ -4,9 +4,59 @@
namespace ParaTest\Runners\PHPUnit;
+use RuntimeException;
+use Symfony\Component\Process\Process;
+
+use function array_diff_key;
+use function array_shift;
+use function assert;
+use function count;
+use function dirname;
+use function explode;
+use function fgets;
+use function file_exists;
+use function file_get_contents;
+use function in_array;
+use function intdiv;
+use function is_dir;
+use function is_file;
+use function is_string;
+use function pclose;
+use function popen;
+use function preg_match_all;
+use function realpath;
+use function rtrim;
+use function sprintf;
+use function strlen;
+use function unserialize;
+
+use const DIRECTORY_SEPARATOR;
+use const PHP_BINARY;
+
/**
* An object containing all configurable information used
* to run PHPUnit via ParaTest.
+ *
+ * @property-read int $processes
+ * @property-read string $path
+ * @property-read string $phpunit
+ * @property-read string $functional
+ * @property-read bool $stopOnFailure
+ * @property-read array $filtered
+ * @property-read string $runner
+ * @property-read bool $noTestTokens
+ * @property-read bool $colors
+ * @property-read string|string[] $testsuite
+ * @property-read int|null $maxBatchSize
+ * @property-read string $filter
+ * @property-read string[] $groups
+ * @property-read string[] $excludeGroups
+ * @property-read array $annotations
+ * @property-read bool $parallelSuite
+ * @property-read string[]|null $passthru
+ * @property-read string[]|null $passthruPhp
+ * @property-read int $verbose
+ * @property-read int $coverageTestLimit
*/
class Options
{
@@ -52,57 +102,43 @@ class Options
* A collection of post-processed option values. This is the collection
* containing ParaTest specific options.
*
- * @var array
+ * @var array
*/
protected $filtered;
- /**
- * @var string
- */
+ /** @var string */
protected $runner;
- /**
- * @var bool
- */
+ /** @var bool */
protected $noTestTokens;
- /**
- * @var bool
- */
+ /** @var bool */
protected $colors;
/**
* Filters which tests to run.
*
- * @var string[]
+ * @var string|string[]
*/
protected $testsuite;
- /**
- * @var int|null
- */
+ /** @var int|null */
protected $maxBatchSize;
- /**
- * @var string
- */
+ /** @var string */
protected $filter;
- /**
- * @var string[]
- */
+ /** @var string[] */
protected $groups;
- /**
- * @var string[]
- */
+ /** @var string[] */
protected $excludeGroups;
/**
* A collection of option values directly corresponding
* to certain annotations - i.e group.
*
- * @var array
+ * @var array
*/
protected $annotations = [];
@@ -116,14 +152,14 @@ class Options
/**
* Strings that gets passed verbatim to the underlying phpunit command.
*
- * @var string|null
+ * @var string[]|null
*/
protected $passthru;
/**
* Strings that gets passed verbatim to the underlying php process.
*
- * @var string|null
+ * @var string[]|null
*/
protected $passthruPhp;
@@ -142,6 +178,9 @@ class Options
*/
protected $coverageTestLimit;
+ /**
+ * @param array $opts
+ */
public function __construct(array $opts = [])
{
foreach (self::defaults() as $opt => $value) {
@@ -151,24 +190,24 @@ public function __construct(array $opts = [])
if ($opts['processes'] === 'auto') {
$opts['processes'] = self::getNumberOfCPUCores();
} elseif ($opts['processes'] === 'half') {
- $opts['processes'] = \intdiv(self::getNumberOfCPUCores(), 2);
+ $opts['processes'] = intdiv(self::getNumberOfCPUCores(), 2);
}
- $this->processes = $opts['processes'];
- $this->path = $opts['path'];
- $this->phpunit = $opts['phpunit'];
- $this->functional = $opts['functional'];
- $this->stopOnFailure = $opts['stop-on-failure'];
- $this->runner = $opts['runner'];
- $this->noTestTokens = $opts['no-test-tokens'];
- $this->colors = $opts['colors'];
- $this->testsuite = $opts['testsuite'];
- $this->maxBatchSize = (int) $opts['max-batch-size'];
- $this->filter = $opts['filter'];
- $this->parallelSuite = $opts['parallel-suite'];
- $this->passthru = $opts['passthru'] ?? null;
- $this->passthruPhp = $opts['passthru-php'] ?? null;
- $this->verbose = $opts['verbose'] ?? 0;
+ $this->processes = $opts['processes'];
+ $this->path = $opts['path'];
+ $this->phpunit = $opts['phpunit'];
+ $this->functional = $opts['functional'];
+ $this->stopOnFailure = $opts['stop-on-failure'];
+ $this->runner = $opts['runner'];
+ $this->noTestTokens = $opts['no-test-tokens'];
+ $this->colors = $opts['colors'];
+ $this->testsuite = $opts['testsuite'];
+ $this->maxBatchSize = (int) $opts['max-batch-size'];
+ $this->filter = $opts['filter'];
+ $this->parallelSuite = $opts['parallel-suite'];
+ $this->passthru = $this->parsePassthru($opts['passthru'] ?? null);
+ $this->passthruPhp = $this->parsePassthru($opts['passthru-php'] ?? null);
+ $this->verbose = $opts['verbose'] ?? 0;
$this->coverageTestLimit = $opts['coverage-test-limit'] ?? 0;
// we need to register that options if they are blank but do not get them as
@@ -176,15 +215,15 @@ public function __construct(array $opts = [])
// phpunit command line generation (it will add them in command line with no value
// and it's wrong because group and exclude-group options require value when passed
// to phpunit)
- $this->groups = isset($opts['group']) && $opts['group'] !== ''
- ? \explode(',', $opts['group'])
+ $this->groups = isset($opts['group']) && $opts['group'] !== ''
+ ? explode(',', $opts['group'])
: [];
$this->excludeGroups = isset($opts['exclude-group']) && $opts['exclude-group'] !== ''
- ? \explode(',', $opts['exclude-group'])
+ ? explode(',', $opts['exclude-group'])
: [];
- if (isset($opts['filter']) && \strlen($opts['filter']) > 0 && !$this->functional) {
- throw new \RuntimeException('Option --filter is not implemented for non functional mode');
+ if (isset($opts['filter']) && strlen($opts['filter']) > 0 && ! $this->functional) {
+ throw new RuntimeException('Option --filter is not implemented for non functional mode');
}
$this->filtered = $this->filterOptions($opts);
@@ -194,8 +233,6 @@ public function __construct(array $opts = [])
/**
* Public read accessibility.
*
- * @param string $var
- *
* @return mixed
*/
public function __get(string $var)
@@ -206,10 +243,6 @@ public function __get(string $var)
/**
* Public read accessibility
* (e.g. to make empty($options->property) work as expected).
- *
- * @param string $var
- *
- * @return mixed
*/
public function __isset(string $var): bool
{
@@ -220,7 +253,7 @@ public function __isset(string $var): bool
* Returns a collection of ParaTest's default
* option values.
*
- * @return array
+ * @return array
*/
protected static function defaults(): array
{
@@ -240,7 +273,7 @@ protected static function defaults(): array
'passthru' => null,
'passthru-php' => null,
'verbose' => 0,
- 'coverage-test-limit' => 0
+ 'coverage-test-limit' => 0,
];
}
@@ -257,9 +290,9 @@ protected static function phpunit(): string
{
$vendor = static::vendorDir();
- $phpunit = $vendor . \DIRECTORY_SEPARATOR . 'phpunit' . \DIRECTORY_SEPARATOR . 'phpunit' .
- \DIRECTORY_SEPARATOR . 'phpunit';
- if (\file_exists($phpunit)) {
+ $phpunit = $vendor . DIRECTORY_SEPARATOR . 'phpunit' . DIRECTORY_SEPARATOR . 'phpunit' .
+ DIRECTORY_SEPARATOR . 'phpunit';
+ if (file_exists($phpunit)) {
return $phpunit;
}
@@ -273,9 +306,9 @@ protected static function phpunit(): string
*/
protected static function vendorDir(): string
{
- $vendor = \dirname(\dirname(\dirname(__DIR__))) . \DIRECTORY_SEPARATOR . 'vendor';
- if (!\file_exists($vendor)) {
- $vendor = \dirname(\dirname(\dirname(\dirname(\dirname(__DIR__)))));
+ $vendor = dirname(dirname(dirname(__DIR__))) . DIRECTORY_SEPARATOR . 'vendor';
+ if (! file_exists($vendor)) {
+ $vendor = dirname(dirname(dirname(dirname(dirname(__DIR__)))));
}
return $vendor;
@@ -284,10 +317,14 @@ protected static function vendorDir(): string
/**
* Filter options to distinguish between paratest
* internal options and any other options.
+ *
+ * @param array $options
+ *
+ * @return array
*/
protected function filterOptions(array $options): array
{
- $filtered = \array_diff_key($options, [
+ $filtered = array_diff_key($options, [
'processes' => $this->processes,
'path' => $this->path,
'phpunit' => $this->phpunit,
@@ -303,7 +340,7 @@ protected function filterOptions(array $options): array
'passthru' => $this->passthru,
'passthru-php' => $this->passthruPhp,
'verbose' => $this->verbose,
- 'coverage-test-limit' => $this->coverageTestLimit
+ 'coverage-test-limit' => $this->coverageTestLimit,
]);
if ($configuration = $this->getConfigurationPath($filtered)) {
$filtered['configuration'] = new Configuration($configuration);
@@ -316,11 +353,9 @@ protected function filterOptions(array $options): array
* Take an array of filtered options and return a
* configuration path.
*
- * @param $filtered
- *
- * @return string|null
+ * @param array $filtered
*/
- protected function getConfigurationPath(array $filtered)
+ protected function getConfigurationPath(array $filtered): ?string
{
if (isset($filtered['configuration'])) {
return $this->getDefaultConfigurationForPath($filtered['configuration'], $filtered['configuration']);
@@ -335,21 +370,19 @@ protected function getConfigurationPath(array $filtered)
*
* @param string $path The path to search into
* @param string $default The default value to give back
- *
- * @return string|null
*/
- private function getDefaultConfigurationForPath(string $path = '.', string $default = null)
+ private function getDefaultConfigurationForPath(string $path = '.', ?string $default = null): ?string
{
if ($this->isFile($path)) {
- return \realpath($path);
+ return realpath($path);
}
- $path = \rtrim($path, \DIRECTORY_SEPARATOR) . \DIRECTORY_SEPARATOR;
+ $path = rtrim($path, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
$suffixes = ['phpunit.xml', 'phpunit.xml.dist'];
foreach ($suffixes as $suffix) {
if ($this->isFile($path . $suffix)) {
- return \realpath($path . $suffix);
+ return realpath($path . $suffix);
}
}
@@ -360,24 +393,22 @@ private function getDefaultConfigurationForPath(string $path = '.', string $defa
* Load options that are represented by annotations
* inside of tests i.e @group group1 = --group group1.
*/
- protected function initAnnotations()
+ protected function initAnnotations(): void
{
$annotatedOptions = ['group'];
foreach ($this->filtered as $key => $value) {
- if (\in_array($key, $annotatedOptions, true)) {
- $this->annotations[$key] = $value;
+ if (! in_array($key, $annotatedOptions, true)) {
+ continue;
}
+
+ assert(is_string($value));
+ $this->annotations[$key] = $value;
}
}
- /**
- * @param $file
- *
- * @return bool
- */
private function isFile(string $file): bool
{
- return \file_exists($file) && !\is_dir($file);
+ return file_exists($file) && ! is_dir($file);
}
/**
@@ -390,24 +421,48 @@ private function isFile(string $file): bool
public static function getNumberOfCPUCores(): int
{
$cores = 2;
- if (\is_file('/proc/cpuinfo')) {
+ if (is_file('/proc/cpuinfo')) {
// Linux (and potentially Windows with linux sub systems)
- $cpuinfo = \file_get_contents('/proc/cpuinfo');
- \preg_match_all('/^processor/m', $cpuinfo, $matches);
- $cores = \count($matches[0]);
- } elseif (\DIRECTORY_SEPARATOR === '\\') {
+ $cpuinfo = file_get_contents('/proc/cpuinfo');
+ preg_match_all('/^processor/m', $cpuinfo, $matches);
+ $cores = count($matches[0]);
+ } elseif (DIRECTORY_SEPARATOR === '\\') {
// Windows
- if (($process = @\popen('wmic cpu get NumberOfCores', 'rb')) !== false) {
- \fgets($process);
- $cores = (int) \fgets($process);
- \pclose($process);
+ if (($process = @popen('wmic cpu get NumberOfCores', 'rb')) !== false) {
+ fgets($process);
+ $cores = (int) fgets($process);
+ pclose($process);
}
- } elseif (($process = @\popen('sysctl -n hw.ncpu', 'rb')) !== false) {
+ } elseif (($process = @popen('sysctl -n hw.ncpu', 'rb')) !== false) {
// *nix (Linux, BSD and Mac)
- $cores = (int) \fgets($process);
- \pclose($process);
+ $cores = (int) fgets($process);
+ pclose($process);
}
return $cores;
}
+
+ /**
+ * @return string[]|null
+ */
+ private function parsePassthru(?string $param): ?array
+ {
+ if ($param === null) {
+ return null;
+ }
+
+ $stringToArgumentProcess = Process::fromShellCommandline(
+ sprintf('%s -r "echo serialize(\\$argv);" -- %s', PHP_BINARY, $param)
+ );
+ $stringToArgumentProcess->mustRun();
+
+ $passthruAsArguments = unserialize($stringToArgumentProcess->getOutput());
+ array_shift($passthruAsArguments);
+
+ if (count($passthruAsArguments) === 0) {
+ return null;
+ }
+
+ return $passthruAsArguments;
+ }
}
diff --git a/src/Runners/PHPUnit/ResultPrinter.php b/src/Runners/PHPUnit/ResultPrinter.php
index 61d87fe..29490d2 100644
--- a/src/Runners/PHPUnit/ResultPrinter.php
+++ b/src/Runners/PHPUnit/ResultPrinter.php
@@ -4,14 +4,21 @@
namespace ParaTest\Runners\PHPUnit;
+use InvalidArgumentException;
use ParaTest\Logging\JUnit\Reader;
use ParaTest\Logging\LogInterpreter;
+use RuntimeException;
use SebastianBergmann\Timer\ResourceUsageFormatter;
-use SebastianBergmann\Timer\Timer;
+
+use function count;
+use function floor;
+use function printf;
+use function sprintf;
+use function strlen;
+
+use const DIRECTORY_SEPARATOR;
/**
- * Class ResultPrinter.
- *
* Used for outputting ParaTest results
*/
class ResultPrinter
@@ -19,13 +26,11 @@ class ResultPrinter
/**
* A collection of ExecutableTest objects.
*
- * @var array
+ * @var ExecutableTest[]
*/
protected $suites = [];
- /**
- * @var \ParaTest\Logging\LogInterpreter
- */
+ /** @var LogInterpreter */
protected $results;
/**
@@ -72,13 +77,6 @@ class ResultPrinter
*/
protected $colors;
- /**
- * Warnings generated by the cases.
- *
- * @var array
- */
- protected $warnings = [];
-
/**
* Number of columns.
*
@@ -108,14 +106,12 @@ public function __construct(LogInterpreter $results)
/**
* Adds an ExecutableTest to the tracked results.
*
- * @param ExecutableTest $suite
- *
* @return $this
*/
public function addTest(ExecutableTest $suite): self
{
- $this->suites[] = $suite;
- $increment = $suite->getTestCount();
+ $this->suites[] = $suite;
+ $increment = $suite->getTestCount();
$this->totalCases += $increment;
return $this;
@@ -124,16 +120,14 @@ public function addTest(ExecutableTest $suite): self
/**
* Initializes printing constraints, prints header
* information and starts the test timer.
- *
- * @param Options $options
*/
- public function start(Options $options)
+ public function start(Options $options): void
{
- $this->numTestsWidth = \strlen((string) $this->totalCases);
- $this->maxColumn = $this->numberOfColumns
- + (\DIRECTORY_SEPARATOR === '\\' ? -1 : 0) // fix windows blank lines
- - \strlen($this->getProgress());
- \printf(
+ $this->numTestsWidth = strlen((string) $this->totalCases);
+ $this->maxColumn = $this->numberOfColumns
+ + (DIRECTORY_SEPARATOR === '\\' ? -1 : 0) // fix windows blank lines
+ - strlen($this->getProgress());
+ printf(
"\nRunning phpunit in %d process%s with %s%s\n\n",
$options->processes,
$options->processes > 1 ? 'es' : '',
@@ -141,16 +135,14 @@ public function start(Options $options)
$options->functional ? '. Functional mode is ON.' : ''
);
if (isset($options->filtered['configuration'])) {
- \printf("Configuration read from %s\n\n", $options->filtered['configuration']->getPath());
+ printf("Configuration read from %s\n\n", $options->filtered['configuration']->getPath());
}
- $this->colors = $options->colors;
+
+ $this->colors = $options->colors;
$this->processSkipped = $this->isSkippedIncompleTestCanBeTracked($options);
}
- /**
- * @param string $string
- */
- public function println(string $string = '')
+ public function println(string $string = ''): void
{
$this->column = 0;
echo "$string\n";
@@ -160,7 +152,7 @@ public function println(string $string = '')
* Prints all results and removes any log files
* used for aggregating results.
*/
- public function flush()
+ public function flush(): void
{
$this->printResults();
$this->clearLogs();
@@ -169,7 +161,7 @@ public function flush()
/**
* Print final results.
*/
- public function printResults()
+ public function printResults(): void
{
echo $this->getHeader();
echo $this->getErrors();
@@ -181,15 +173,13 @@ public function printResults()
/**
* Prints the individual "quick" feedback for run
* tests, that is the ".EF" items.
- *
- * @param ExecutableTest $test
*/
- public function printFeedback(ExecutableTest $test)
+ public function printFeedback(ExecutableTest $test): void
{
try {
$reader = new Reader($test->getTempFile());
- } catch (\InvalidArgumentException $e) {
- throw new \RuntimeException(\sprintf(
+ } catch (InvalidArgumentException $e) {
+ throw new RuntimeException(sprintf(
"%s\n" .
"The process: %s\n" .
"This means a PHPUnit process was unable to run \"%s\"\n",
@@ -198,22 +188,17 @@ public function printFeedback(ExecutableTest $test)
$test->getPath()
));
}
+
$this->results->addReader($reader);
$this->processReaderFeedback($reader, $test->getTestCount());
}
/**
* Returns the header containing resource usage.
- *
- * @return string
*/
public function getHeader(): string
{
- if (class_exists(ResourceUsageFormatter::class)) {
- $resourceUsage = (new ResourceUsageFormatter())->resourceUsageSinceStartOfRequest();
- } else {
- $resourceUsage = Timer::resourceUsage();
- }
+ $resourceUsage = (new ResourceUsageFormatter())->resourceUsageSinceStartOfRequest();
return "\n\n" . $resourceUsage . "\n\n";
}
@@ -230,19 +215,15 @@ public function getWarnings(): string
/**
* Whether the test run is successful and has no warnings.
- *
- * @return bool
*/
public function isSuccessful(): bool
{
- return $this->results->isSuccessful() && \count($this->warnings) === 0;
+ return $this->results->isSuccessful();
}
/**
* Return the footer information reporting success
* or failure.
- *
- * @return string
*/
public function getFooter(): string
{
@@ -253,8 +234,6 @@ public function getFooter(): string
/**
* Returns the failure messages.
- *
- * @return string
*/
public function getFailures(): string
{
@@ -265,8 +244,6 @@ public function getFailures(): string
/**
* Returns error messages.
- *
- * @return string
*/
public function getErrors(): string
{
@@ -277,8 +254,6 @@ public function getErrors(): string
/**
* Returns the total cases being printed.
- *
- * @return int
*/
public function getTotalCases(): int
{
@@ -287,28 +262,29 @@ public function getTotalCases(): int
/**
* Process reader feedback and print it.
- *
- * @param Reader $reader
- * @param int $expectedTestCount
*/
- protected function processReaderFeedback(Reader $reader, int $expectedTestCount)
+ protected function processReaderFeedback(Reader $reader, int $expectedTestCount): void
{
$feedbackItems = $reader->getFeedback();
- $actualTestCount = \count($feedbackItems);
+ $actualTestCount = count($feedbackItems);
$this->processTestOverhead($actualTestCount, $expectedTestCount);
foreach ($feedbackItems as $item) {
$this->printFeedbackItem($item);
- if ($item === 'S') {
- ++$this->totalSkippedOrIncomplete;
+ if ($item !== 'S') {
+ continue;
}
+
+ ++$this->totalSkippedOrIncomplete;
}
- if ($this->processSkipped) {
- $this->printSkippedAndIncomplete($actualTestCount, $expectedTestCount);
+ if (! $this->processSkipped) {
+ return;
}
+
+ $this->printSkippedAndIncomplete($actualTestCount, $expectedTestCount);
}
/**
@@ -316,10 +292,6 @@ protected function processReaderFeedback(Reader $reader, int $expectedTestCount)
*
* @todo Skipped/Incomplete test tracking available only in functional mode for now
* or in regular mode but without group/exclude-group filters.
- *
- * @param mixed $options
- *
- * @return bool
*/
protected function isSkippedIncompleTestCanBeTracked(Options $options): bool
{
@@ -334,11 +306,8 @@ protected function isSkippedIncompleTestCanBeTracked(Options $options): bool
* this method correct total amount of tests so paratest progress will be auto corrected.
*
* @todo May be we need to throw Exception here instead of silent correction.
- *
- * @param int $actualTestCount
- * @param int $expectedTestCount
*/
- protected function processTestOverhead(int $actualTestCount, int $expectedTestCount)
+ protected function processTestOverhead(int $actualTestCount, int $expectedTestCount): void
{
$overhead = $actualTestCount - $expectedTestCount;
if ($this->processSkipped) {
@@ -357,17 +326,16 @@ protected function processTestOverhead(int $actualTestCount, int $expectedTestCo
*
* If for some reason process return less tests than expected then we threat all remaining
* as skipped or incomplete and print them as skipped (S letter)
- *
- * @param int $actualTestCount
- * @param int $expectedTestCount
*/
- protected function printSkippedAndIncomplete(int $actualTestCount, int $expectedTestCount)
+ protected function printSkippedAndIncomplete(int $actualTestCount, int $expectedTestCount): void
{
$overhead = $expectedTestCount - $actualTestCount;
- if ($overhead > 0) {
- for ($i = 0; $i < $overhead; ++$i) {
- $this->printFeedbackItem('S');
- }
+ if ($overhead <= 0) {
+ return;
+ }
+
+ for ($i = 0; $i < $overhead; ++$i) {
+ $this->printFeedbackItem('S');
}
}
@@ -375,44 +343,52 @@ protected function printSkippedAndIncomplete(int $actualTestCount, int $expected
* Prints a single "quick" feedback item and increments
* the total number of processed cases and the column
* position.
- *
- * @param $item
*/
- protected function printFeedbackItem(string $item)
+ protected function printFeedbackItem(string $item): void
{
$this->printFeedbackItemColor($item);
++$this->column;
++$this->casesProcessed;
- if ($this->column === $this->maxColumn) {
- echo $this->getProgress();
- $this->println();
+ if ($this->column !== $this->maxColumn) {
+ return;
}
+
+ echo $this->getProgress();
+ $this->println();
}
- protected function printFeedbackItemColor(string $item)
+ protected function printFeedbackItemColor(string $item): void
{
if ($this->colors) {
switch ($item) {
case 'E':
// fg-red
echo "\x1b[31m" . $item . "\x1b[0m";
+
return;
+
case 'F':
// bg-red
echo "\x1b[41m" . $item . "\x1b[0m";
+
return;
+
case 'W':
case 'I':
case 'R':
// fg-yellow
echo "\x1b[33m" . $item . "\x1b[0m";
+
return;
+
case 'S':
// fg-cyan
echo "\x1b[36m" . $item . "\x1b[0m";
+
return;
}
}
+
echo $item;
}
@@ -420,27 +396,25 @@ protected function printFeedbackItemColor(string $item)
* Method that returns a formatted string
* for a collection of errors or failures.
*
- * @param array $defects
- * @param $type
- *
- * @return string
+ * @param string[] $defects
*/
protected function getDefects(array $defects, string $type): string
{
- $count = \count($defects);
+ $count = count($defects);
if ($count === 0) {
return '';
}
- $output = \sprintf(
+
+ $output = sprintf(
"There %s %d %s%s:\n",
- ($count === 1) ? 'was' : 'were',
+ $count === 1 ? 'was' : 'were',
$count,
$type,
- ($count === 1) ? '' : 's'
+ $count === 1 ? '' : 's'
);
- for ($i = 1; $i <= \count($defects); ++$i) {
- $output .= \sprintf("\n%d) %s\n", $i, $defects[$i - 1]);
+ for ($i = 1; $i <= count($defects); ++$i) {
+ $output .= sprintf("\n%d) %s\n", $i, $defects[$i - 1]);
}
return $output;
@@ -451,26 +425,24 @@ protected function getDefects(array $defects, string $type): string
*/
protected function getProgress(): string
{
- return \sprintf(
+ return sprintf(
' %' . $this->numTestsWidth . 'd / %' . $this->numTestsWidth . 'd (%3s%%)',
$this->casesProcessed,
$this->totalCases,
- \floor(($this->totalCases ? $this->casesProcessed / $this->totalCases : 0) * 100)
+ floor(($this->totalCases ? $this->casesProcessed / $this->totalCases : 0) * 100)
);
}
/**
* Get the footer for a test collection that had tests with
* failures or errors.
- *
- * @return string
*/
private function getFailedFooter(): string
{
$formatString = "FAILURES!\nTests: %d, Assertions: %d, Failures: %d, Errors: %d.\n";
return "\n" . $this->red(
- \sprintf(
+ sprintf(
$formatString,
$this->results->getTotalTests(),
$this->results->getTotalAssertions(),
@@ -483,18 +455,16 @@ private function getFailedFooter(): string
/**
* Get the footer for a test collection containing all successful
* tests.
- *
- * @return string
*/
private function getSuccessFooter(): string
{
- $tests = $this->totalCases;
+ $tests = $this->totalCases;
$asserts = $this->results->getTotalAssertions();
if ($this->totalSkippedOrIncomplete > 0) {
// phpunit 4.5 produce NOT plural version for test(s) and assertion(s) in that case
// also it shows result in standard color scheme
- return \sprintf(
+ return sprintf(
"OK, but incomplete, skipped, or risky tests!\n"
. "Tests: %d, Assertions: %d, Incomplete: %d.\n",
$tests,
@@ -505,12 +475,12 @@ private function getSuccessFooter(): string
// phpunit 4.5 produce plural version for test(s) and assertion(s) in that case
// also it shows result as black text on green background
- return $this->green(\sprintf(
+ return $this->green(sprintf(
"OK (%d test%s, %d assertion%s)\n",
$tests,
- ($tests === 1) ? '' : 's',
+ $tests === 1 ? '' : 's',
$asserts,
- ($asserts === 1) ? '' : 's'
+ $asserts === 1 ? '' : 's'
));
}
@@ -540,7 +510,7 @@ private function red(string $text): string
* Deletes all the temporary log files for ExecutableTest objects
* being printed.
*/
- private function clearLogs()
+ private function clearLogs(): void
{
foreach ($this->suites as $suite) {
$suite->deleteFile();
diff --git a/src/Runners/PHPUnit/Runner.php b/src/Runners/PHPUnit/Runner.php
index f0e4660..b77d492 100644
--- a/src/Runners/PHPUnit/Runner.php
+++ b/src/Runners/PHPUnit/Runner.php
@@ -4,7 +4,19 @@
namespace ParaTest\Runners\PHPUnit;
+use Exception;
use Habitat\Habitat;
+use Throwable;
+
+use function array_filter;
+use function array_keys;
+use function array_shift;
+use function count;
+use function sprintf;
+use function uniqid;
+use function usleep;
+
+use const PHP_EOL;
class Runner extends BaseRunner
{
@@ -14,10 +26,13 @@ class Runner extends BaseRunner
* A collection of available tokens based on the number
* of processes specified in $options.
*
- * @var array
+ * @var array>
*/
protected $tokens = [];
+ /**
+ * {@inheritDoc}
+ */
public function __construct(array $opts = [])
{
parent::__construct($opts);
@@ -27,30 +42,33 @@ public function __construct(array $opts = [])
/**
* The money maker. Runs all ExecutableTest objects in separate processes.
*/
- public function run()
+ public function run(): void
{
parent::run();
- while (\count($this->running) || \count($this->pending)) {
+ while (count($this->running) || count($this->pending)) {
foreach ($this->running as $key => $test) {
try {
- if (!$this->testIsStillRunning($test)) {
+ if (! $this->testIsStillRunning($test)) {
unset($this->running[$key]);
$this->releaseToken($key);
}
- } catch (\Exception $e) {
+ } catch (Throwable $e) {
if ($this->options->verbose) {
echo "An error for $key: {$e->getMessage()}" . PHP_EOL;
echo "Command: {$test->getLastCommand()}" . PHP_EOL;
echo 'StdErr: ' . $test->getStderr() . PHP_EOL;
echo 'StdOut: ' . $test->getStdout() . PHP_EOL;
}
+
throw $e;
}
}
+
$this->fillRunQueue();
- \usleep(10000);
+ usleep(10000);
}
+
$this->complete();
}
@@ -60,7 +78,7 @@ public function run()
* logs any results to JUnit, and cleans up temporary
* files.
*/
- private function complete()
+ private function complete(): void
{
$this->printer->printResults();
$this->interpreter->rewind();
@@ -77,24 +95,28 @@ private function complete()
* and adds them to the running collection. It is also in charge of recycling and
* acquiring available test tokens for use.
*/
- private function fillRunQueue()
+ private function fillRunQueue(): void
{
$opts = $this->options;
- while (\count($this->pending) && \count($this->running) < $opts->processes) {
+ while (count($this->pending) && count($this->running) < $opts->processes) {
$tokenData = $this->getNextAvailableToken();
- if ($tokenData !== false) {
- $this->acquireToken($tokenData['token']);
- $env = [
- 'TEST_TOKEN' => $tokenData['token'],
- 'UNIQUE_TEST_TOKEN' => $tokenData['unique']
- ] + Habitat::getAll();
- $this->running[$tokenData['token']] = \array_shift($this->pending)
- ->run($opts->phpunit, $opts->filtered, $env, $opts->passthru, $opts->passthruPhp);
- if ($opts->verbose) {
- $cmd = $this->running[$tokenData['token']];
- echo "\nExecuting test via: {$cmd->getLastCommand()}\n";
- }
+ if ($tokenData === false) {
+ continue;
+ }
+
+ $this->acquireToken($tokenData['token']);
+ $env = [
+ 'TEST_TOKEN' => $tokenData['token'],
+ 'UNIQUE_TEST_TOKEN' => $tokenData['unique'],
+ ] + Habitat::getAll();
+ $this->running[$tokenData['token']] = array_shift($this->pending)
+ ->run($opts->phpunit, $opts->filtered, $env, $opts->passthru, $opts->passthruPhp);
+ if (! $opts->verbose) {
+ continue;
}
+
+ $cmd = $this->running[$tokenData['token']];
+ echo "\nExecuting test via: {$cmd->getLastCommand()}\n";
}
}
@@ -104,29 +126,29 @@ private function fillRunQueue()
* throwing an exception if a fatal error has occurred -
* prints feedback, and updates the overall exit code.
*
- * @param ExecutableTest $test
- *
- * @throws \Exception
- *
- * @return bool
+ * @throws Exception
*/
private function testIsStillRunning(ExecutableTest $test): bool
{
- if (!$test->isDoneRunning()) {
+ if (! $test->isDoneRunning()) {
return true;
}
+
$this->setExitCode($test);
$test->stop();
if ($this->options->stopOnFailure && $test->getExitCode() > 0) {
$this->pending = [];
}
- if (static::PHPUNIT_FATAL_ERROR === $test->getExitCode()) {
+
+ if ($test->getExitCode() === self::PHPUNIT_FATAL_ERROR) {
$errorOutput = $test->getStderr();
- if (!$errorOutput) {
+ if (! $errorOutput) {
$errorOutput = $test->getStdout();
}
- throw new \Exception(\sprintf("Fatal error in %s:\n%s", $test->getPath(), $errorOutput));
+
+ throw new Exception(sprintf("Fatal error in %s:\n%s", $test->getPath(), $errorOutput));
}
+
$this->printer->printFeedback($test);
if ($this->hasCoverage()) {
$this->addCoverage($test);
@@ -139,26 +161,26 @@ private function testIsStillRunning(ExecutableTest $test): bool
* If the provided test object has an exit code
* higher than the currently set exit code, that exit
* code will be set as the overall exit code.
- *
- * @param ExecutableTest $test
*/
- private function setExitCode(ExecutableTest $test)
+ private function setExitCode(ExecutableTest $test): void
{
$exit = $test->getExitCode();
- if ($exit > $this->exitcode) {
- $this->exitcode = $exit;
+ if ($exit <= $this->exitcode) {
+ return;
}
+
+ $this->exitcode = $exit;
}
/**
* Initialize the available test tokens based
* on how many processes ParaTest will be run in.
*/
- protected function initTokens()
+ protected function initTokens(): void
{
$this->tokens = [];
for ($i = 1; $i <= $this->options->processes; ++$i) {
- $this->tokens[$i] = ['token' => $i, 'unique' => \uniqid(\sprintf('%s_', $i)), 'available' => true];
+ $this->tokens[$i] = ['token' => $i, 'unique' => uniqid(sprintf('%s_', $i)), 'available' => true];
}
}
@@ -166,7 +188,7 @@ protected function initTokens()
* Gets the next token that is available to be acquired
* from a finished process.
*
- * @return bool|array
+ * @return bool|array
*/
protected function getNextAvailableToken()
{
@@ -181,36 +203,33 @@ protected function getNextAvailableToken()
/**
* Flag a token as available for use.
- *
- * @param string $tokenIdentifier
*/
- protected function releaseToken($tokenIdentifier)
+ protected function releaseToken(int $tokenIdentifier): void
{
- $filtered = \array_filter($this->tokens, function ($val) use ($tokenIdentifier) {
+ $filtered = array_filter($this->tokens, static function ($val) use ($tokenIdentifier) {
return $val['token'] === $tokenIdentifier;
});
- $keys = \array_keys($filtered);
+
+ $keys = array_keys($filtered);
+
$this->tokens[$keys[0]]['available'] = true;
}
/**
* Flag a token as acquired and not available for use.
- *
- * @param string $tokenIdentifier
*/
- protected function acquireToken($tokenIdentifier)
+ protected function acquireToken(int $tokenIdentifier): void
{
- $filtered = \array_filter($this->tokens, function ($val) use ($tokenIdentifier) {
+ $filtered = array_filter($this->tokens, static function ($val) use ($tokenIdentifier) {
return $val['token'] === $tokenIdentifier;
});
- $keys = \array_keys($filtered);
+
+ $keys = array_keys($filtered);
+
$this->tokens[$keys[0]]['available'] = false;
}
- /**
- * @param ExecutableTest $test
- */
- private function addCoverage(ExecutableTest $test)
+ private function addCoverage(ExecutableTest $test): void
{
$coverageFile = $test->getCoverageFileName();
$this->getCoverage()->addCoverageFromFile($coverageFile);
diff --git a/src/Runners/PHPUnit/SqliteRunner.php b/src/Runners/PHPUnit/SqliteRunner.php
index 8c0420d..308bc08 100644
--- a/src/Runners/PHPUnit/SqliteRunner.php
+++ b/src/Runners/PHPUnit/SqliteRunner.php
@@ -9,31 +9,53 @@
use PDO;
use RuntimeException;
+use function count;
+use function dirname;
+use function implode;
+use function realpath;
+use function serialize;
+use function sys_get_temp_dir;
+use function tempnam;
+use function uniqid;
+use function unlink;
+use function usleep;
+
+use const DIRECTORY_SEPARATOR;
+use const PHP_EOL;
+
class SqliteRunner extends WrapperRunner
{
+ /** @var SqliteWorker[] */
+ protected $workers;
+
/** @var PDO */
private $db;
/** @var string */
private $dbFileName = null;
+ /**
+ * {@inheritDoc}
+ */
public function __construct(array $opts = [])
{
parent::__construct($opts);
- $this->dbFileName = (string) ($opts['database'] ?? \tempnam(\sys_get_temp_dir(), 'paratest_db_'));
- $this->db = new PDO('sqlite:' . $this->dbFileName);
+ $this->dbFileName = (string) ($opts['database'] ?? tempnam(sys_get_temp_dir(), 'paratest_db_'));
+ $this->db = new PDO('sqlite:' . $this->dbFileName);
}
public function __destruct()
{
- if ($this->db !== null) {
- unset($this->db);
- \unlink($this->dbFileName);
+ if ($this->db === null) {
+ return;
}
+
+ unset($this->db);
+ unlink($this->dbFileName);
}
- public function run()
+ public function run(): void
{
$this->initialize();
@@ -50,17 +72,20 @@ public function run()
*/
protected function startWorkers(): void
{
- $wrapper = \realpath(__DIR__ . '/../../../bin/phpunit-sqlite-wrapper');
+ $wrapper = realpath(
+ dirname(__DIR__, 3) . DIRECTORY_SEPARATOR . 'bin' . DIRECTORY_SEPARATOR . 'phpunit-sqlite-wrapper.php'
+ );
for ($i = 1; $i <= $this->options->processes; ++$i) {
$worker = new SqliteWorker($this->dbFileName);
if ($this->options->noTestTokens) {
- $token = null;
+ $token = null;
$uniqueToken = null;
} else {
- $token = $i;
- $uniqueToken = \uniqid();
+ $token = $i;
+ $uniqueToken = uniqid();
}
+
$worker->start($wrapper, $token, $uniqueToken);
$this->workers[] = $worker;
}
@@ -73,13 +98,16 @@ private function waitForAllToFinish(): void
{
do {
foreach ($this->workers as $key => $worker) {
- if (!$worker->isRunning()) {
- unset($this->workers[$key]);
+ if ($worker->isRunning()) {
+ continue;
}
+
+ unset($this->workers[$key]);
}
- \usleep(10000);
+
+ usleep(10000);
$this->printOutput();
- } while (\count($this->workers) > 0);
+ } while (count($this->workers) > 0);
}
/**
@@ -110,7 +138,7 @@ private function assignAllPendingTests(): void
foreach ($this->pending as $fileName => $test) {
$this->db->prepare('INSERT INTO tests (command, file_name) VALUES (:command, :fileName)')
->execute([
- ':command' => $test->command($this->options->phpunit, $this->options->filtered),
+ ':command' => serialize($test->commandArguments($this->options->phpunit, $this->options->filtered)),
':fileName' => $fileName,
]);
}
@@ -146,7 +174,7 @@ private function checkIfWorkersCrashed(): void
. '----------------------' . PHP_EOL
. 'Failed test command(s):' . PHP_EOL
. '----------------------' . PHP_EOL
- . \implode(PHP_EOL, $this->db->query('SELECT command FROM tests')->fetchAll(PDO::FETCH_COLUMN))
+ . implode(PHP_EOL, $this->db->query('SELECT command FROM tests')->fetchAll(PDO::FETCH_COLUMN))
);
}
}
diff --git a/src/Runners/PHPUnit/Suite.php b/src/Runners/PHPUnit/Suite.php
index b2cb22d..723c8e2 100644
--- a/src/Runners/PHPUnit/Suite.php
+++ b/src/Runners/PHPUnit/Suite.php
@@ -4,9 +4,11 @@
namespace ParaTest\Runners\PHPUnit;
+use ParaTest\Parser\ParsedFunction;
+
+use function count;
+
/**
- * Class Suite.
- *
* A suite represents an entire PHPUnit Test Suite
* object - this class is essentially used for running
* entire test classes in parallel
@@ -16,10 +18,13 @@ class Suite extends ExecutableTest
/**
* A collection of test methods.
*
- * @var array
+ * @var array
*/
private $functions;
+ /**
+ * @param array $functions
+ */
public function __construct(string $path, array $functions)
{
parent::__construct($path);
@@ -29,7 +34,7 @@ public function __construct(string $path, array $functions)
/**
* Return the collection of test methods.
*
- * @return array
+ * @return array
*/
public function getFunctions(): array
{
@@ -38,11 +43,9 @@ public function getFunctions(): array
/**
* Get the expected count of tests to be executed.
- *
- * @return int
*/
public function getTestCount(): int
{
- return \count($this->functions);
+ return count($this->functions);
}
}
diff --git a/src/Runners/PHPUnit/SuiteLoader.php b/src/Runners/PHPUnit/SuiteLoader.php
index dca5732..fd98647 100644
--- a/src/Runners/PHPUnit/SuiteLoader.php
+++ b/src/Runners/PHPUnit/SuiteLoader.php
@@ -7,27 +7,37 @@
use ParaTest\Parser\NoClassInFileException;
use ParaTest\Parser\ParsedClass;
use ParaTest\Parser\ParsedFunction;
-use ParaTest\Parser\ParsedObject;
use ParaTest\Parser\Parser;
+use RuntimeException;
+
+use function array_intersect;
+use function array_merge;
+use function array_unique;
+use function assert;
+use function count;
+use function is_array;
+use function is_int;
+use function preg_match;
+use function preg_match_all;
+use function sprintf;
+use function substr;
class SuiteLoader
{
/**
* The collection of loaded files.
*
- * @var array
+ * @var string[]
*/
protected $files = [];
- /**
- * @var array
- */
+ /** @var string[]|null */
protected $suitesName = null;
/**
* The collection of parsed test classes.
*
- * @var array
+ * @var array
*/
protected $loadedSuites = [];
@@ -38,25 +48,21 @@ class SuiteLoader
*/
protected $configuration;
- /**
- * @var Options
- */
+ /** @var Options|null */
public $options;
- public function __construct(Options $options = null)
+ public function __construct(?Options $options = null)
{
$this->options = $options;
- $this->configuration = isset($this->options->filtered['configuration'])
- ? $this->options->filtered['configuration']
- : new Configuration('');
+ $this->configuration = $this->options->filtered['configuration'] ?? new Configuration('');
}
/**
* Returns all parsed suite objects as ExecutableTest
* instances.
*
- * @return array
+ * @return array
*/
public function getSuites(): array
{
@@ -67,13 +73,14 @@ public function getSuites(): array
* Returns a collection of TestMethod objects
* for all loaded ExecutableTest instances.
*
- * @return array
+ * @return array
*/
public function getTestMethods(): array
{
$methods = [];
foreach ($this->loadedSuites as $suite) {
- $methods = \array_merge($methods, $suite->getFunctions());
+ assert($suite instanceof Suite);
+ $methods = array_merge($methods, $suite->getFunctions());
}
return $methods;
@@ -83,15 +90,13 @@ public function getTestMethods(): array
* Populates the loaded suite collection. Will load suites
* based off a phpunit xml configuration or a specified path.
*
- * @param string $path
- *
- * @throws \RuntimeException
+ * @throws RuntimeException
*/
public function load(string $path = ''): void
{
if ($path) {
$testFileLoader = new TestFileLoader($this->options);
- $this->files = \array_merge(
+ $this->files = array_merge(
$this->files,
$testFileLoader->loadPath($path)
);
@@ -101,10 +106,10 @@ public function load(string $path = ''): void
) {
$this->suitesName = $this->configuration->getSuitesName();
} elseif ($this->configuration->hasSuites()) {
- if (!empty($this->options->testsuite)) {
+ if (! empty($this->options->testsuite)) {
$suites = [];
foreach ($this->options->testsuite as $testsuite) {
- $suites = \array_merge($suites, $this->configuration->getSuiteByName($testsuite));
+ $suites = array_merge($suites, $this->configuration->getSuiteByName($testsuite));
}
} else {
$suites = $this->configuration->getSuites();
@@ -113,7 +118,7 @@ public function load(string $path = ''): void
foreach ($suites as $suite) {
foreach ($suite as $suitePath) {
$testFileLoader = new TestFileLoader($this->options);
- $this->files = \array_merge(
+ $this->files = array_merge(
$this->files,
$testFileLoader->loadSuitePath($suitePath)
);
@@ -121,11 +126,11 @@ public function load(string $path = ''): void
}
}
- if (!$this->files && !\is_array($this->suitesName)) {
- throw new \RuntimeException('No path or configuration provided (tests must end with Test.php)');
+ if (! $this->files && ! is_array($this->suitesName)) {
+ throw new RuntimeException('No path or configuration provided (tests must end with Test.php)');
}
- $this->files = \array_unique($this->files); // remove duplicates
+ $this->files = array_unique($this->files); // remove duplicates
$this->initSuites();
}
@@ -136,7 +141,7 @@ public function load(string $path = ''): void
*/
protected function initSuites(): void
{
- if (\is_array($this->suitesName)) {
+ if (is_array($this->suitesName)) {
foreach ($this->suitesName as $suiteName) {
$this->loadedSuites[$suiteName] = $this->createFullSuite($suiteName, $this->configuration->getPath());
}
@@ -146,7 +151,7 @@ protected function initSuites(): void
$parser = new Parser($path);
if ($class = $parser->getClass()) {
$suite = $this->createSuite($path, $class);
- if (\count($suite->getFunctions()) > 0) {
+ if (count($suite->getFunctions()) > 0) {
$this->loadedSuites[$path] = $suite;
}
}
@@ -157,13 +162,15 @@ protected function initSuites(): void
}
}
+ /**
+ * @return TestMethod[]
+ */
protected function executableTests(string $path, ParsedClass $class): array
{
$executableTests = [];
- $methodBatches = $this->getMethodBatches($class);
+ $methodBatches = $this->getMethodBatches($class);
foreach ($methodBatches as $methodBatch) {
- $executableTest = new TestMethod($path, $methodBatch);
- $executableTests[] = $executableTest;
+ $executableTests[] = new TestMethod($path, $methodBatch);
}
return $executableTests;
@@ -175,19 +182,17 @@ protected function executableTests(string $path, ParsedClass $class): array
* Identify method dependencies, and group dependents and dependees on a single methodBatch.
* Use max batch size to fill batches.
*
- * @param ParsedClass $class
- *
- * @return array of MethodBatches. Each MethodBatch has an array of method names
+ * @return string[][] of MethodBatches. Each MethodBatch has an array of method names
*/
protected function getMethodBatches(ParsedClass $class): array
{
$classMethods = $class->getMethods($this->options ? $this->options->annotations : []);
$maxBatchSize = $this->options && $this->options->functional ? $this->options->maxBatchSize : 0;
- $batches = [];
+ $batches = [];
foreach ($classMethods as $method) {
$tests = $this->getMethodTests($class, $method);
// if filter passed to paratest then method tests can be blank if not match to filter
- if (!$tests) {
+ if (! $tests) {
continue;
}
@@ -201,25 +206,33 @@ protected function getMethodBatches(ParsedClass $class): array
return $batches;
}
+ /**
+ * @param string[][] $batches
+ * @param string[] $tests
+ */
protected function addDependentTestsToBatchSet(array &$batches, string $dependsOn, array $tests): void
{
foreach ($batches as $key => $batch) {
foreach ($batch as $methodName) {
if ($dependsOn === $methodName) {
- $batches[$key] = \array_merge($batches[$key], $tests);
+ $batches[$key] = array_merge($batches[$key], $tests);
continue;
}
}
}
}
+ /**
+ * @param string[][] $batches
+ * @param string[] $tests
+ */
protected function addTestsToBatchSet(array &$batches, array $tests, int $maxBatchSize): void
{
foreach ($tests as $test) {
- $lastIndex = \count($batches) - 1;
+ $lastIndex = count($batches) - 1;
if (
$lastIndex !== -1
- && \count($batches[$lastIndex]) < $maxBatchSize
+ && count($batches[$lastIndex]) < $maxBatchSize
) {
$batches[$lastIndex][] = $test;
} else {
@@ -234,8 +247,8 @@ protected function addTestsToBatchSet(array &$batches, array $tests, int $maxBat
* With empty filter this method returns single test if doesn't have data provider or
* data provider is not used and return all test if has data provider and data provider is used.
*
- * @param ParsedClass $class parsed class
- * @param ParsedObject $method parsed method
+ * @param ParsedClass $class parsed class
+ * @param ParsedFunction $method parsed method
*
* @return string[] array of test names
*/
@@ -248,17 +261,19 @@ protected function getMethodTests(ParsedClass $class, ParsedFunction $method): a
$dataProvider = $this->methodDataProvider($method);
if (isset($dataProvider)) {
$testFullClassName = '\\' . $class->getName();
- $testClass = new $testFullClassName();
- $result = [];
+ $testClass = new $testFullClassName();
+ $result = [];
foreach ($testClass->$dataProvider() as $key => $value) {
- $test = \sprintf(
+ $test = sprintf(
'%s with data set %s',
$method->getName(),
- \is_int($key) ? '#' . $key : '"' . $key . '"'
+ is_int($key) ? '#' . $key : '"' . $key . '"'
);
- if ($this->testMatchOptions($class->getName(), $test, $groups)) {
- $result[] = $test;
+ if (! $this->testMatchOptions($class->getName(), $test, $groups)) {
+ continue;
}
+
+ $result[] = $test;
}
} elseif ($this->testMatchOptions($class->getName(), $method->getName(), $groups)) {
$result = [$method->getName()];
@@ -267,6 +282,9 @@ protected function getMethodTests(ParsedClass $class, ParsedFunction $method): a
return $result;
}
+ /**
+ * @param string[] $groups
+ */
protected function testMatchGroupOptions(array $groups): bool
{
if (empty($groups)) {
@@ -274,20 +292,14 @@ protected function testMatchGroupOptions(array $groups): bool
}
if (
- !empty($this->options->groups)
- && !\array_intersect($groups, $this->options->groups)
+ ! empty($this->options->groups)
+ && ! array_intersect($groups, $this->options->groups)
) {
return false;
}
- if (
- !empty($this->options->excludeGroups)
- && \array_intersect($groups, $this->options->excludeGroups)
- ) {
- return false;
- }
-
- return true;
+ return empty($this->options->excludeGroups)
+ || ! array_intersect($groups, $this->options->excludeGroups);
}
protected function testMatchFilterOptions(string $className, string $name): bool
@@ -296,25 +308,29 @@ protected function testMatchFilterOptions(string $className, string $name): bool
return true;
}
- $re = \substr($this->options->filter, 0, 1) === '/'
+ $re = substr($this->options->filter, 0, 1) === '/'
? $this->options->filter
: '/' . $this->options->filter . '/';
$fullName = $className . '::' . $name;
- return 1 === \preg_match($re, $fullName);
+ return preg_match($re, $fullName) === 1;
}
+ /**
+ * @param string[] $group
+ */
protected function testMatchOptions(string $className, string $name, array $group): bool
{
- $result = $this->testMatchGroupOptions($group)
+ return $this->testMatchGroupOptions($group)
&& $this->testMatchFilterOptions($className, $name);
-
- return $result;
}
+ /**
+ * @return string[]
+ */
protected function testGroups(ParsedClass $class, ParsedFunction $method): array
{
- return \array_merge(
+ return array_merge(
$this->classGroups($class),
$this->methodGroups($method)
);
@@ -322,7 +338,7 @@ protected function testGroups(ParsedClass $class, ParsedFunction $method): array
protected function methodDataProvider(ParsedFunction $method): ?string
{
- if (\preg_match("/@\bdataProvider\b \b(.*)\b/", $method->getDocBlock(), $matches)) {
+ if (preg_match("/@\bdataProvider\b \b(.*)\b/", $method->getDocBlock(), $matches)) {
return $matches[1];
}
@@ -331,25 +347,31 @@ protected function methodDataProvider(ParsedFunction $method): ?string
protected function methodDependency(ParsedFunction $method): ?string
{
- if (\preg_match("/@\bdepends\b \b(.*)\b/", $method->getDocBlock(), $matches)) {
+ if (preg_match("/@\bdepends\b \b(.*)\b/", $method->getDocBlock(), $matches)) {
return $matches[1];
}
return null;
}
+ /**
+ * @return string[]
+ */
protected function methodGroups(ParsedFunction $method): array
{
- if (\preg_match_all("/@\bgroup\b \b(.*)\b/", $method->getDocBlock(), $matches)) {
+ if (preg_match_all("/@\bgroup\b \b(.*)\b/", $method->getDocBlock(), $matches)) {
return $matches[1];
}
return [];
}
+ /**
+ * @return string[]
+ */
protected function classGroups(ParsedClass $class): array
{
- if (\preg_match_all("/@\bgroup\b \b(.*)\b/", $class->getDocBlock(), $matches)) {
+ if (preg_match_all("/@\bgroup\b \b(.*)\b/", $class->getDocBlock(), $matches)) {
return $matches[1];
}
@@ -367,7 +389,7 @@ protected function createSuite(string $path, ParsedClass $class): Suite
);
}
- private function createFullSuite($suiteName, $configPath): FullSuite
+ private function createFullSuite(string $suiteName, string $configPath): FullSuite
{
return new FullSuite($suiteName, $configPath);
}
diff --git a/src/Runners/PHPUnit/SuitePath.php b/src/Runners/PHPUnit/SuitePath.php
index 271fc1d..f90968b 100644
--- a/src/Runners/PHPUnit/SuitePath.php
+++ b/src/Runners/PHPUnit/SuitePath.php
@@ -4,6 +4,8 @@
namespace ParaTest\Runners\PHPUnit;
+use function preg_quote;
+
/**
* Representation of test suite paths found in phpunit.xml.
*/
@@ -11,34 +13,29 @@ class SuitePath
{
private const DEFAULT_SUFFIX = 'Test.php';
- /**
- * @var string
- */
+ /** @var string */
protected $path;
- /**
- * @var string
- */
+ /** @var string */
protected $suffix;
- /**
- * @var string[]s
- */
+ /** @var string[] */
protected $excludedPaths;
+ /**
+ * @param string[] $excludedPaths
+ */
public function __construct(string $path, array $excludedPaths, string $suffix)
{
if (empty($suffix)) {
$suffix = self::DEFAULT_SUFFIX;
}
- $this->path = $path;
+
+ $this->path = $path;
$this->excludedPaths = $excludedPaths;
- $this->suffix = $suffix;
+ $this->suffix = $suffix;
}
- /**
- * @return string
- */
public function getPath(): string
{
return $this->path;
@@ -52,19 +49,13 @@ public function getExcludedPaths(): array
return $this->excludedPaths;
}
- /**
- * @return string
- */
public function getSuffix(): string
{
return $this->suffix;
}
- /**
- * @return string
- */
public function getPattern(): string
{
- return '|' . \preg_quote($this->getSuffix()) . '$|';
+ return '|' . preg_quote($this->getSuffix()) . '$|';
}
}
diff --git a/src/Runners/PHPUnit/TestFileLoader.php b/src/Runners/PHPUnit/TestFileLoader.php
index ec9b554..2d0a08a 100644
--- a/src/Runners/PHPUnit/TestFileLoader.php
+++ b/src/Runners/PHPUnit/TestFileLoader.php
@@ -4,6 +4,17 @@
namespace ParaTest\Runners\PHPUnit;
+use InvalidArgumentException;
+
+use function array_key_exists;
+use function file_exists;
+use function is_dir;
+use function preg_match;
+use function realpath;
+use function scandir;
+
+use const DIRECTORY_SEPARATOR;
+
class TestFileLoader
{
/**
@@ -27,14 +38,14 @@ class TestFileLoader
/**
* The collection of loaded files for this test suite.
*
- * @var array
+ * @var string[]
*/
protected $files = [];
/**
* The collection of excluded files.
*
- * @var array
+ * @var array
*/
protected $excludedFiles = [];
@@ -45,7 +56,10 @@ class TestFileLoader
*/
protected $excludingFiles = false;
- public function __construct(Options $options = null)
+ /** @var Options|null */
+ protected $options;
+
+ public function __construct(?Options $options = null)
{
$this->options = $options;
}
@@ -54,15 +68,13 @@ public function __construct(Options $options = null)
* Loads a SuitePath and makes sure to
* take into account the excluded directory / files.
*
- * @param SuitePath $path
- *
* @return string[]
*/
public function loadSuitePath(SuitePath $path): array
{
// First initialize the list of files and excluded files
- $this->files = [];
- $this->excludedFiles = [];
+ $this->files = [];
+ $this->excludedFiles = [];
$this->excludingFiles = true;
foreach ($path->getExcludedPaths() as $excludedPath) {
$this->loadPath($excludedPath, $path->getPattern());
@@ -82,31 +94,25 @@ public function loadSuitePath(SuitePath $path): array
* Loads suites based on a specific path.
* A valid path can be a directory or file.
*
- * @param $path
- * @param $pattern
- *
- * @throws \InvalidArgumentException
- *
* @return string[]
+ *
+ * @throws InvalidArgumentException
*/
- public function loadPath(string $path, string $pattern = null): array
+ public function loadPath(string $path, ?string $pattern = null): array
{
$this->files = [];
$pattern = $pattern ?? self::TEST_PATTERN;
$path = $path ?: $this->options->path;
- if ($path instanceof SuitePath) {
- $pattern = $path->getPattern();
- $path = $path->getPath();
- }
- if (!\file_exists($path)) {
- throw new \InvalidArgumentException("$path is not a valid directory or file");
+ if (! file_exists($path)) {
+ throw new InvalidArgumentException("$path is not a valid directory or file");
}
- if (\is_dir($path)) {
+
+ if (is_dir($path)) {
$this->loadDir($path, $pattern);
- } elseif (\file_exists($path)) {
+ } elseif (file_exists($path)) {
$this->loadFile($path);
}
@@ -115,24 +121,20 @@ public function loadPath(string $path, string $pattern = null): array
/**
* Loads suites from a directory.
- *
- * @param string $path
- * @param string $pattern
*/
- private function loadDir(string $path, string $pattern = self::TEST_PATTERN)
+ private function loadDir(string $path, string $pattern = self::TEST_PATTERN): void
{
- $files = \scandir($path);
+ $path = realpath($path);
+ $files = scandir($path);
foreach ($files as $file) {
- $this->tryLoadTests($path . \DIRECTORY_SEPARATOR . $file, $pattern);
+ $this->tryLoadTests($path . DIRECTORY_SEPARATOR . $file, $pattern);
}
}
/**
* Load a single suite file.
- *
- * @param $path
*/
- private function loadFile(string $path)
+ private function loadFile(string $path): void
{
$this->tryLoadTests($path, self::FILE_PATTERN);
}
@@ -140,21 +142,22 @@ private function loadFile(string $path)
/**
* Attempts to load suites from a path.
*
- * @param string $path
* @param string $pattern regular expression for matching file names
*/
- private function tryLoadTests(string $path, string $pattern = self::TEST_PATTERN)
+ private function tryLoadTests(string $path, string $pattern = self::TEST_PATTERN): void
{
- if (\preg_match($pattern, $path)) {
+ if (preg_match($pattern, $path)) {
if ($this->excludingFiles) {
$this->excludedFiles[$path] = $path;
- } elseif (!\array_key_exists($path, $this->excludedFiles)) {
+ } elseif (! array_key_exists($path, $this->excludedFiles)) {
$this->files[] = $path;
}
}
- if (!\preg_match(self::$dotPattern, $path) && \is_dir($path)) {
- $this->loadDir($path, $pattern);
+ if (preg_match(self::$dotPattern, $path) || ! is_dir($path)) {
+ return;
}
+
+ $this->loadDir($path, $pattern);
}
}
diff --git a/src/Runners/PHPUnit/TestMethod.php b/src/Runners/PHPUnit/TestMethod.php
index 3a998b5..b317bcb 100644
--- a/src/Runners/PHPUnit/TestMethod.php
+++ b/src/Runners/PHPUnit/TestMethod.php
@@ -4,9 +4,13 @@
namespace ParaTest\Runners\PHPUnit;
+use function array_reduce;
+use function count;
+use function implode;
+use function preg_quote;
+use function strpos;
+
/**
- * Class TestMethod.
- *
* Represents a set of tests grouped in batch which can be passed to a single phpunit process.
* Batch limited to run tests only from one php test case file.
* Used for running ParaTest in functional mode.
@@ -30,8 +34,6 @@ class TestMethod extends ExecutableTest
protected $filters;
/**
- * Constructor.
- *
* Passed filters must be unescaped and must represent test name, optionally including
* dataset name (numeric or named).
*
@@ -60,12 +62,10 @@ public function getFilters(): array
* Returns the test method's name.
*
* This method will join all filters via pipe character and return as string.
- *
- * @return string
*/
public function getName(): string
{
- return \implode('|', $this->filters);
+ return implode('|', $this->filters);
}
/**
@@ -74,17 +74,18 @@ public function getName(): string
* This sets up the --filter switch used to run a single PHPUnit test method.
* This method also provide escaping for method name to be used as filter regexp.
*
- * @param array $options
+ * @param array $options
*
- * @return array
+ * @return array
*/
protected function prepareOptions(array $options): array
{
- $re = \array_reduce($this->filters, function ($r, $v) {
- $isDataSet = \strpos($v, ' with data set ') !== false;
+ $re = array_reduce($this->filters, static function (?string $r, string $v): string {
+ $isDataSet = strpos($v, ' with data set ') !== false;
- return ($r ? $r . '|' : '') . \preg_quote($v, '/') . ($isDataSet ? '$' : "(?:\s|\$)");
+ return ($r ? $r . '|' : '') . preg_quote($v, '/') . ($isDataSet ? '$' : '(?:\s|$)');
});
+
$options['filter'] = '/' . $re . '/';
return $options;
@@ -92,11 +93,9 @@ protected function prepareOptions(array $options): array
/**
* Get the expected count of tests to be executed.
- *
- * @return int
*/
public function getTestCount(): int
{
- return \count($this->filters);
+ return count($this->filters);
}
}
diff --git a/src/Runners/PHPUnit/Worker/BaseWorker.php b/src/Runners/PHPUnit/Worker/BaseWorker.php
index f96dc0a..2fc8a24 100644
--- a/src/Runners/PHPUnit/Worker/BaseWorker.php
+++ b/src/Runners/PHPUnit/Worker/BaseWorker.php
@@ -5,53 +5,88 @@
namespace ParaTest\Runners\PHPUnit\Worker;
use ParaTest\Runners\PHPUnit\Options;
+use RuntimeException;
use Symfony\Component\Process\PhpExecutableFinder;
+use function array_map;
+use function count;
+use function end;
+use function explode;
+use function fclose;
+use function fread;
+use function getenv;
+use function implode;
+use function is_numeric;
+use function is_resource;
+use function proc_get_status;
+use function proc_open;
+use function stream_get_contents;
+use function stream_set_blocking;
+use function strstr;
+
+use const PHP_EOL;
+
abstract class BaseWorker
{
+ /** @var string[][] */
protected static $descriptorspec = [
0 => ['pipe', 'r'],
1 => ['pipe', 'w'],
2 => ['pipe', 'w'],
];
+ /** @var resource|null */
protected $proc;
+ /** @var resource[] */
protected $pipes;
+ /** @var int */
protected $inExecution = 0;
+ /** @var int|null */
private $exitCode = null;
+ /** @var string */
private $chunks = '';
+ /** @var string */
private $alreadyReadOutput = '';
+ /**
+ * @param string[] $parameters
+ */
public function start(
string $wrapperBinary,
- $token = 1,
- $uniqueToken = null,
+ ?int $token = 1,
+ ?string $uniqueToken = null,
array $parameters = [],
?Options $options = null
- ) {
- $bin = 'PARATEST=1 ';
- if (\is_numeric($token)) {
- $bin .= 'XDEBUG_CONFIG="true" ';
- $bin .= "TEST_TOKEN=$token ";
+ ): void {
+ $env = getenv();
+ $env['PARATEST'] = 1;
+ if (is_numeric($token)) {
+ $env['XDEBUG_CONFIG'] = 'true';
+ $env['TEST_TOKEN'] = $token;
}
+
if ($uniqueToken) {
- $bin .= "UNIQUE_TEST_TOKEN=$uniqueToken ";
+ $env['UNIQUE_TEST_TOKEN'] = $uniqueToken;
}
- $finder = new PhpExecutableFinder();
+
+ $finder = new PhpExecutableFinder();
$phpExecutable = $finder->find();
- $bin .= "$phpExecutable ";
+ $bin = "$phpExecutable ";
if ($options && $options->passthruPhp) {
- $bin .= $options->passthruPhp . ' ';
+ $bin .= implode(' ', $options->passthruPhp) . ' ';
}
+
$bin .= " \"$wrapperBinary\"";
if ($parameters) {
- $bin .= ' ' . \implode(' ', \array_map('escapeshellarg', $parameters));
+ $bin .= ' ' . implode(' ', array_map('escapeshellarg', $parameters));
}
+
$pipes = [];
if ($options && $options->verbose) {
echo "Starting WrapperWorker via: $bin\n";
}
- $process = \proc_open($bin, self::$descriptorspec, $pipes);
- $this->proc = \is_resource($process) ? $process : null;
+
+ $process = proc_open($bin, self::$descriptorspec, $pipes, null, $env);
+ $this->proc = is_resource($process) ? $process : null;
$this->pipes = $pipes;
}
@@ -69,7 +104,7 @@ public function isRunning(): bool
return false;
}
- $status = \proc_get_status($this->proc);
+ $status = proc_get_status($this->proc);
return $status ? $status['running'] : false;
}
@@ -81,10 +116,11 @@ public function isStarted(): bool
public function isCrashed(): bool
{
- if (!$this->isStarted()) {
+ if (! $this->isStarted()) {
return false;
}
- $status = \proc_get_status($this->proc);
+
+ $status = proc_get_status($this->proc);
$this->updateStateFromAvailableOutput();
@@ -96,16 +132,16 @@ public function isCrashed(): bool
return $this->exitCode !== 0;
}
- public function checkNotCrashed()
+ public function checkNotCrashed(): void
{
if ($this->isCrashed()) {
- throw new \RuntimeException($this->getCrashReport());
+ throw new RuntimeException($this->getCrashReport());
}
}
- public function getCrashReport()
+ public function getCrashReport(): string
{
- $lastCommand = isset($this->commands) ? ' Last executed command: ' . \end($this->commands) : '';
+ $lastCommand = isset($this->commands) ? ' Last executed command: ' . end($this->commands) : '';
return 'This worker has crashed.' . $lastCommand . PHP_EOL
. 'Output:' . PHP_EOL
@@ -115,23 +151,30 @@ public function getCrashReport()
. $this->readAllStderr();
}
- public function stop()
+ public function stop(): void
{
- \fclose($this->pipes[0]);
+ fclose($this->pipes[0]);
}
- protected function setExitCode(array $status)
+ /**
+ * @param array $status
+ */
+ protected function setExitCode(array $status): void
{
- if (!$status['running']) {
- if ($this->exitCode === null) {
- $this->exitCode = $status['exitcode'];
- }
+ if ($status['running']) {
+ return;
+ }
+
+ if ($this->exitCode !== null) {
+ return;
}
+
+ $this->exitCode = $status['exitcode'];
}
- private function readAllStderr()
+ private function readAllStderr(): string
{
- return \stream_get_contents($this->pipes[2]);
+ return stream_get_contents($this->pipes[2]);
}
/**
@@ -139,27 +182,33 @@ private function readAllStderr()
* Otherwise it would continue to non-block because there are bytes to be read,
* but fgets() won't pick them up.
*/
- private function updateStateFromAvailableOutput()
+ private function updateStateFromAvailableOutput(): void
{
- if (isset($this->pipes[1])) {
- \stream_set_blocking($this->pipes[1], false);
- while ($chunk = \fread($this->pipes[1], 4096)) {
- $this->chunks .= $chunk;
- $this->alreadyReadOutput .= $chunk;
- }
- $lines = \explode("\n", $this->chunks);
- // last element is not a complete line,
- // becomes part of a line completed later
- $this->chunks = $lines[\count($lines) - 1];
- unset($lines[\count($lines) - 1]);
- // delivering complete lines to this Worker
- foreach ($lines as $line) {
- $line .= "\n";
- if (\strstr($line, "FINISHED\n")) {
- --$this->inExecution;
- }
+ if (! isset($this->pipes[1])) {
+ return;
+ }
+
+ stream_set_blocking($this->pipes[1], false);
+ while ($chunk = fread($this->pipes[1], 4096)) {
+ $this->chunks .= $chunk;
+ $this->alreadyReadOutput .= $chunk;
+ }
+
+ $lines = explode("\n", $this->chunks);
+ // last element is not a complete line,
+ // becomes part of a line completed later
+ $this->chunks = $lines[count($lines) - 1];
+ unset($lines[count($lines) - 1]);
+ // delivering complete lines to this Worker
+ foreach ($lines as $line) {
+ $line .= "\n";
+ if (! strstr($line, "FINISHED\n")) {
+ continue;
}
- \stream_set_blocking($this->pipes[1], true);
+
+ --$this->inExecution;
}
+
+ stream_set_blocking($this->pipes[1], true);
}
}
diff --git a/src/Runners/PHPUnit/Worker/SqliteWorker.php b/src/Runners/PHPUnit/Worker/SqliteWorker.php
index 33ba37c..37b1432 100644
--- a/src/Runners/PHPUnit/Worker/SqliteWorker.php
+++ b/src/Runners/PHPUnit/Worker/SqliteWorker.php
@@ -16,13 +16,16 @@ public function __construct(string $dbFileName)
$this->dbFileName = $dbFileName;
}
+ /**
+ * @param string[] $parameters
+ */
public function start(
string $wrapperBinary,
- $token = 1,
- $uniqueToken = null,
+ ?int $token = 1,
+ ?string $uniqueToken = null,
array $parameters = [],
?Options $options = null
- ) {
+ ): void {
$parameters[] = $this->dbFileName;
parent::start($wrapperBinary, $token, $uniqueToken, $parameters, $options);
diff --git a/src/Runners/PHPUnit/Worker/WrapperWorker.php b/src/Runners/PHPUnit/Worker/WrapperWorker.php
index 575026f..6b1e5ba 100644
--- a/src/Runners/PHPUnit/Worker/WrapperWorker.php
+++ b/src/Runners/PHPUnit/Worker/WrapperWorker.php
@@ -5,71 +5,91 @@
namespace ParaTest\Runners\PHPUnit\Worker;
use Exception;
+use ParaTest\Runners\PHPUnit\Configuration;
use ParaTest\Runners\PHPUnit\ExecutableTest;
use ParaTest\Runners\PHPUnit\Options;
use ParaTest\Runners\PHPUnit\ResultPrinter;
+use RuntimeException;
+
+use function fgets;
+use function fwrite;
+use function implode;
+use function proc_get_status;
+use function serialize;
+use function stream_set_blocking;
+use function strstr;
class WrapperWorker extends BaseWorker
{
- /**
- * @var string[]
- */
+ /** @var string[] */
private $commands = [];
- /**
- * @var ExecutableTest
- */
+ /** @var ExecutableTest|null */
private $currentlyExecuting;
+ /**
+ * @return resource
+ */
public function stdout()
{
return $this->pipes[1];
}
- public function execute(string $testCmd)
+ /**
+ * @param string[] $testCmdArguments
+ */
+ public function execute(array $testCmdArguments): void
{
$this->checkStarted();
- $this->commands[] = $testCmd;
- \fwrite($this->pipes[0], $testCmd . "\n");
+ $this->commands[] = implode(' ', $testCmdArguments);
+ fwrite($this->pipes[0], serialize($testCmdArguments) . "\n");
++$this->inExecution;
}
- public function assign(ExecutableTest $test, string $phpunit, array $phpunitOptions, Options $options)
+ /**
+ * @param array $phpunitOptions
+ */
+ public function assign(ExecutableTest $test, string $phpunit, array $phpunitOptions, Options $options): void
{
if ($this->currentlyExecuting !== null) {
throw new Exception('Worker already has a test assigned - did you forget to call reset()?');
}
+
$this->currentlyExecuting = $test;
- $command = $test->command($phpunit, $phpunitOptions, $options->passthru);
+ $commandArguments = $test->commandArguments($phpunit, $phpunitOptions, $options->passthru);
+ $command = implode(' ', $commandArguments);
if ($options->verbose) {
echo "\nExecuting test via: $command\n";
}
+
$test->setLastCommand($command);
- $this->execute($command);
+ $this->execute($commandArguments);
}
- public function printFeedback(ResultPrinter $printer)
+ public function printFeedback(ResultPrinter $printer): void
{
- if ($this->currentlyExecuting !== null) {
- $printer->printFeedback($this->currentlyExecuting);
+ if ($this->currentlyExecuting === null) {
+ return;
}
+
+ $printer->printFeedback($this->currentlyExecuting);
}
- public function reset()
+ public function reset(): void
{
$this->currentlyExecuting = null;
}
- protected function checkStarted()
+ protected function checkStarted(): void
{
- if (!$this->isStarted()) {
- throw new \RuntimeException('You have to start the Worker first!');
+ if (! $this->isStarted()) {
+ throw new RuntimeException('You have to start the Worker first!');
}
}
- public function stop()
+ public function stop(): void
{
- \fwrite($this->pipes[0], "EXIT\n");
+ fwrite($this->pipes[0], "EXIT\n");
parent::stop();
}
@@ -77,22 +97,24 @@ public function stop()
* This is an utility function for tests.
* Refactor or write it only in the test case.
*/
- public function waitForFinishedJob()
+ public function waitForFinishedJob(): void
{
if ($this->inExecution === 0) {
return;
}
+
$tellsUsItHasFinished = false;
- \stream_set_blocking($this->pipes[1], true);
- while ($line = \fgets($this->pipes[1])) {
- if (\strstr($line, "FINISHED\n")) {
+ stream_set_blocking($this->pipes[1], true);
+ while ($line = fgets($this->pipes[1])) {
+ if (strstr($line, "FINISHED\n")) {
$tellsUsItHasFinished = true;
--$this->inExecution;
break;
}
}
- if (!$tellsUsItHasFinished) {
- throw new \RuntimeException('The Worker terminated without finishing the job.');
+
+ if (! $tellsUsItHasFinished) {
+ throw new RuntimeException('The Worker terminated without finishing the job.');
}
}
@@ -102,19 +124,21 @@ public function waitForFinishedJob()
* the worker to finish. Use it only in testing paratest
* itself.
*/
- public function waitForStop()
+ public function waitForStop(): void
{
- $status = \proc_get_status($this->proc);
+ $status = proc_get_status($this->proc);
while ($status['running']) {
- $status = \proc_get_status($this->proc);
+ $status = proc_get_status($this->proc);
$this->setExitCode($status);
}
}
- public function getCoverageFileName()
+ public function getCoverageFileName(): ?string
{
if ($this->currentlyExecuting !== null) {
return $this->currentlyExecuting->getCoverageFileName();
}
+
+ return null;
}
}
diff --git a/src/Runners/PHPUnit/WrapperRunner.php b/src/Runners/PHPUnit/WrapperRunner.php
index 4477212..9a24572 100644
--- a/src/Runners/PHPUnit/WrapperRunner.php
+++ b/src/Runners/PHPUnit/WrapperRunner.php
@@ -5,6 +5,20 @@
namespace ParaTest\Runners\PHPUnit;
use ParaTest\Runners\PHPUnit\Worker\WrapperWorker;
+use RuntimeException;
+use Throwable;
+
+use function array_keys;
+use function array_shift;
+use function count;
+use function defined;
+use function dirname;
+use function realpath;
+use function stream_select;
+use function uniqid;
+
+use const DIRECTORY_SEPARATOR;
+use const PHP_EOL;
class WrapperRunner extends BaseRunner
{
@@ -12,22 +26,28 @@ class WrapperRunner extends BaseRunner
private const PHPUNIT_ERRORS = 2;
- /**
- * @var array
- */
+ /** @var resource[] */
protected $streams;
- /**
- * @var WrapperWorker[]
- */
+ /** @var WrapperWorker[] */
protected $workers;
+ /** @var resource[] */
+ protected $modified;
+
/**
- * @var array
+ * {@inheritDoc}
*/
- protected $modified;
+ public function __construct(array $opts = [])
+ {
+ if (static::class === self::class && defined('PHP_WINDOWS_VERSION_BUILD')) {
+ throw new RuntimeException('WrapperRunner is not supported on Windows');
+ }
+
+ parent::__construct($opts);
+ }
- public function run()
+ public function run(): void
{
parent::run();
@@ -38,104 +58,117 @@ public function run()
$this->complete();
}
- protected function load(SuiteLoader $loader)
+ protected function load(SuiteLoader $loader): void
{
if ($this->options->functional) {
- throw new \RuntimeException(
+ throw new RuntimeException(
'The `functional` option is not supported yet in the WrapperRunner. Only full classes can be run due ' .
'to the current PHPUnit commands causing classloading issues.'
);
}
+
parent::load($loader);
}
- protected function startWorkers()
+ protected function startWorkers(): void
{
- $wrapper = \realpath(__DIR__ . '/../../../bin/phpunit-wrapper');
+ $wrapper = realpath(
+ dirname(__DIR__, 3) . DIRECTORY_SEPARATOR . 'bin' . DIRECTORY_SEPARATOR . 'phpunit-wrapper.php'
+ );
for ($i = 1; $i <= $this->options->processes; ++$i) {
$worker = new WrapperWorker();
if ($this->options->noTestTokens) {
- $token = null;
+ $token = null;
$uniqueToken = null;
} else {
- $token = $i;
- $uniqueToken = \uniqid();
+ $token = $i;
+ $uniqueToken = uniqid();
}
+
$worker->start($wrapper, $token, $uniqueToken, [], $this->options);
$this->streams[] = $worker->stdout();
$this->workers[] = $worker;
}
}
- private function assignAllPendingTests()
+ private function assignAllPendingTests(): void
{
- $phpunit = $this->options->phpunit;
+ $phpunit = $this->options->phpunit;
$phpunitOptions = $this->options->filtered;
// $phpunitOptions['no-globals-backup'] = null; // removed in phpunit 6.0
- while (\count($this->pending)) {
+ while (count($this->pending)) {
$this->waitForStreamsToChange($this->streams);
foreach ($this->progressedWorkers() as $key => $worker) {
- if ($worker->isFree()) {
- try {
- $this->flushWorker($worker);
- $pending = \array_shift($this->pending);
- if ($pending) {
- $worker->assign($pending, $phpunit, $phpunitOptions, $this->options);
- }
- } catch (\Exception $e) {
- if ($this->options->verbose) {
- $worker->stop();
- echo "Error while assigning pending tests for worker $key: {$e->getMessage()}" . PHP_EOL;
- echo $worker->getCrashReport();
- }
- throw $e;
+ if (! $worker->isFree()) {
+ continue;
+ }
+
+ try {
+ $this->flushWorker($worker);
+ $pending = array_shift($this->pending);
+ if ($pending) {
+ $worker->assign($pending, $phpunit, $phpunitOptions, $this->options);
+ }
+ } catch (Throwable $e) {
+ if ($this->options->verbose) {
+ $worker->stop();
+ echo "Error while assigning pending tests for worker $key: {$e->getMessage()}" . PHP_EOL;
+ echo $worker->getCrashReport();
}
+
+ throw $e;
}
}
}
}
- private function sendStopMessages()
+ private function sendStopMessages(): void
{
foreach ($this->workers as $worker) {
$worker->stop();
}
}
- private function waitForAllToFinish()
+ private function waitForAllToFinish(): void
{
$toStop = $this->workers;
- while (\count($toStop) > 0) {
+ while (count($toStop) > 0) {
$toCheck = $this->streamsOf($toStop);
- $new = $this->waitForStreamsToChange($toCheck);
+ $new = $this->waitForStreamsToChange($toCheck);
foreach ($this->progressedWorkers() as $index => $worker) {
try {
- if (!$worker->isRunning()) {
+ if (! $worker->isRunning()) {
$this->flushWorker($worker);
unset($toStop[$index]);
}
- } catch (\Exception $e) {
+ } catch (Throwable $e) {
if ($this->options->verbose) {
$worker->stop();
unset($toStop[$index]);
echo "Error while waiting to finish for worker $index: {$e->getMessage()}" . PHP_EOL;
echo $worker->getCrashReport();
}
+
throw $e;
}
}
}
}
- // put on WorkersPool
- private function waitForStreamsToChange(array $modified)
+ /**
+ * put on WorkersPool
+ *
+ * @param resource[] $modified
+ */
+ private function waitForStreamsToChange(array $modified): int
{
- $write = [];
+ $write = [];
$except = [];
- $result = \stream_select($modified, $write, $except, 1);
+ $result = stream_select($modified, $write, $except, 1);
if ($result === false) {
- throw new \RuntimeException('stream_select() returned an error while waiting for all workers to finish.');
+ throw new RuntimeException('stream_select() returned an error while waiting for all workers to finish.');
}
+
$this->modified = $modified;
return $result;
@@ -157,8 +190,10 @@ private function progressedWorkers(): array
break;
}
}
+
$result[$found] = $this->workers[$found];
}
+
$this->modified = [];
return $result;
@@ -167,21 +202,21 @@ private function progressedWorkers(): array
/**
* Returns the output streams of a subset of workers.
*
- * @param array keys are positions in $this->workers
+ * @param WrapperWorker[] $workers keys are positions in $this->workers
*
- * @return array
+ * @return resource[]
*/
private function streamsOf(array $workers): array
{
$streams = [];
- foreach (\array_keys($workers) as $index) {
+ foreach (array_keys($workers) as $index) {
$streams[$index] = $this->streams[$index];
}
return $streams;
}
- protected function complete()
+ protected function complete(): void
{
$this->setExitCode();
$this->printer->printResults();
@@ -194,7 +229,7 @@ protected function complete()
}
}
- private function setExitCode()
+ private function setExitCode(): void
{
if ($this->interpreter->getTotalErrors()) {
$this->exitcode = self::PHPUNIT_ERRORS;
@@ -205,11 +240,12 @@ private function setExitCode()
}
}
- private function flushWorker(WrapperWorker $worker)
+ private function flushWorker(WrapperWorker $worker): void
{
if ($this->hasCoverage()) {
$this->getCoverage()->addCoverageFromFile($worker->getCoverageFileName());
}
+
$worker->printFeedback($this->printer);
$worker->reset();
}
diff --git a/src/Util/Str.php b/src/Util/Str.php
index 6e8123a..1f55202 100644
--- a/src/Util/Str.php
+++ b/src/Util/Str.php
@@ -4,25 +4,26 @@
namespace ParaTest\Util;
+use function explode;
+use function trim;
+
class Str
{
/**
* Split $string on $delimiter and trim the individual parts.
*
- * @param string $delimiter
- * @param string $string
- *
* @return string[]
*/
public static function explodeWithCleanup(string $delimiter, string $string): array
{
- $stringValues = \explode($delimiter, $string);
+ $stringValues = explode($delimiter, $string);
$parsedValues = [];
foreach ($stringValues as $k => $v) {
- $v = \trim($v);
+ $v = trim($v);
if (empty($v)) {
continue;
}
+
$parsedValues[] = $v;
}
diff --git a/test/Functional/Coverage/CoverageMergerTest.php b/test/Functional/Coverage/CoverageMergerTest.php
index 5eefd94..446efdc 100644
--- a/test/Functional/Coverage/CoverageMergerTest.php
+++ b/test/Functional/Coverage/CoverageMergerTest.php
@@ -6,8 +6,14 @@
use ParaTest\Coverage\CoverageMerger;
use ParaTest\Tests\TestBase;
+use RuntimeException;
use SebastianBergmann\CodeCoverage\CodeCoverage;
+use function mkdir;
+use function str_replace;
+use function sys_get_temp_dir;
+use function uniqid;
+
class CoverageMergerTest extends TestBase
{
/**
@@ -17,23 +23,17 @@ class CoverageMergerTest extends TestBase
*/
private $targetDir;
- /**
- * {@inheritdoc}
- */
protected function setUp(): void
{
parent::setUp();
static::skipIfCodeCoverageNotEnabled();
- $this->targetDir = str_replace('.', '_', uniqid('/tmp/paratest-', true));
+ $this->targetDir = str_replace('.', '_', sys_get_temp_dir() . DS . uniqid('paratest-', true));
$this->removeDirectory($this->targetDir);
mkdir($this->targetDir);
}
- /**
- * {@inheritdoc}
- */
protected function tearDown(): void
{
$this->removeDirectory($this->targetDir);
@@ -42,27 +42,27 @@ protected function tearDown(): void
}
/**
- * @dataProvider getCoverageFileProvider
- *
* @param string[] $coverageFiles
+ *
+ * @dataProvider getCoverageFileProvider
*/
- public function testCoverageFromFileIsDeletedAfterAdd(array $coverageFiles)
+ public function testCoverageFromFileIsDeletedAfterAdd(array $coverageFiles): void
{
$filename = $this->copyCoverageFile($coverageFiles[0], $this->targetDir);
$coverageMerger = new CoverageMerger();
$coverageMerger->addCoverageFromFile($filename);
- static::assertFileNotExists($filename);
+ static::assertFileDoesNotExist($filename);
}
/**
- * @dataProvider getCoverageFileProvider
+ * @param string[] $coverageFiles
+ * @param class-string $expectedClass
*
- * @param string[] $coverageFiles
- * @param $expectedClass
+ * @dataProvider getCoverageFileProvider
*/
- public function testCodeCoverageObjectIsCreatedFromCoverageFile(array $coverageFiles, $expectedClass)
+ public function testCodeCoverageObjectIsCreatedFromCoverageFile(array $coverageFiles, string $expectedClass): void
{
$filename = $this->copyCoverageFile($coverageFiles[0], $this->targetDir);
@@ -80,11 +80,11 @@ public function testCodeCoverageObjectIsCreatedFromCoverageFile(array $coverageF
}
/**
- * @dataProvider getCoverageFileProvider
- *
* @param string[] $coverageFiles
+ *
+ * @dataProvider getCoverageFileProvider
*/
- public function testCoverageIsMergedOnSecondAddCoverageFromFile(array $coverageFiles)
+ public function testCoverageIsMergedOnSecondAddCoverageFromFile(array $coverageFiles): void
{
$filename1 = $this->copyCoverageFile($coverageFiles[0], $this->targetDir);
$filename2 = $this->copyCoverageFile($coverageFiles[1], $this->targetDir);
@@ -118,22 +118,18 @@ public function testCoverageIsMergedOnSecondAddCoverageFromFile(array $coverageF
);
}
- public function testCoverageFileIsEmpty()
+ public function testCoverageFileIsEmpty(): void
{
- $this->expectException(\RuntimeException::class);
+ $this->expectException(RuntimeException::class);
$regex = '/Coverage file .*? is empty. This means a PHPUnit process has crashed./';
- if (method_exists($this, 'expectExceptionMessageMatches')) {
- $this->expectExceptionMessageMatches($regex);
- } else {
- $this->expectExceptionMessageRegExp($regex);
- }
- $filename = $this->copyCoverageFile('coverage-tests/empty_test.cov', $this->targetDir);
+ $this->expectExceptionMessageMatches($regex);
+ $filename = $this->copyCoverageFile('coverage-tests' . DS . 'empty_test.cov', $this->targetDir);
$coverageMerger = new CoverageMerger();
$coverageMerger->addCoverageFromFile($filename);
}
- public function testCoverageFileIsNull()
+ public function testCoverageFileIsNull(): void
{
$coverageMerger = new CoverageMerger();
$coverageMerger->addCoverageFromFile(null);
@@ -141,7 +137,7 @@ public function testCoverageFileIsNull()
$this->assertNull($coverageMerger->getCodeCoverageObject());
}
- public function testCoverageFileDoesNotExist()
+ public function testCoverageFileDoesNotExist(): void
{
$coverageMerger = new CoverageMerger();
$coverageMerger->addCoverageFromFile('no-such-file.cov');
@@ -150,12 +146,12 @@ public function testCoverageFileDoesNotExist()
}
/**
- * @return array
+ * @return array>
*/
- public static function getCoverageFileProvider()
+ public static function getCoverageFileProvider(): array
{
- $version = 'CodeCoverage >4.0';
- $filenames = [
+ $version = 'CodeCoverage >4.0';
+ $filenames = [
'coverage-tests/runner_test.cov',
'coverage-tests/result_printer_test.cov',
];
@@ -169,12 +165,7 @@ public static function getCoverageFileProvider()
];
}
- /**
- * @param CoverageMerger $coverageMerger
- *
- * @return CodeCoverage
- */
- private function getCoverage(CoverageMerger $coverageMerger)
+ private function getCoverage(CoverageMerger $coverageMerger): CodeCoverage
{
return $this->getObjectValue($coverageMerger, 'coverage');
}
diff --git a/test/Functional/Coverage/CoverageReporterTest.php b/test/Functional/Coverage/CoverageReporterTest.php
index aab2786..ccd6ca5 100644
--- a/test/Functional/Coverage/CoverageReporterTest.php
+++ b/test/Functional/Coverage/CoverageReporterTest.php
@@ -7,6 +7,13 @@
use ParaTest\Coverage\CoverageMerger;
use ParaTest\Coverage\CoverageReporter;
use ParaTest\Tests\TestBase;
+use PHPUnit\Util\Xml;
+
+use function defined;
+use function mkdir;
+use function str_replace;
+use function sys_get_temp_dir;
+use function uniqid;
class CoverageReporterTest extends TestBase
{
@@ -17,23 +24,17 @@ class CoverageReporterTest extends TestBase
*/
private $targetDir;
- /**
- * {@inheritdoc}
- */
protected function setUp(): void
{
parent::setUp();
static::skipIfCodeCoverageNotEnabled();
- $this->targetDir = str_replace('.', '_', uniqid('/tmp/report-', true));
+ $this->targetDir = str_replace('.', '_', sys_get_temp_dir() . DS . uniqid('paratest-', true));
$this->removeDirectory($this->targetDir);
mkdir($this->targetDir);
}
- /**
- * {@inheritdoc}
- */
protected function tearDown(): void
{
$this->removeDirectory($this->targetDir);
@@ -42,12 +43,12 @@ protected function tearDown(): void
}
/**
- * @dataProvider getReporterProvider
+ * @param string[] $coverageFiles
+ * @param class-string $expectedReportClass
*
- * @param string[] $coverageFiles
- * @param string $expectedReportClass
+ * @dataProvider getReporterProvider
*/
- public function testGetReporter(array $coverageFiles, $expectedReportClass)
+ public function testGetReporter(array $coverageFiles, string $expectedReportClass): void
{
$filename1 = $this->copyCoverageFile($coverageFiles[0], $this->targetDir);
$filename2 = $this->copyCoverageFile($coverageFiles[1], $this->targetDir);
@@ -62,11 +63,11 @@ public function testGetReporter(array $coverageFiles, $expectedReportClass)
}
/**
- * @dataProvider getReporterProvider
- *
* @param string[] $coverageFiles
+ *
+ * @dataProvider getReporterProvider
*/
- public function testGeneratePhp(array $coverageFiles)
+ public function testGeneratePhp(array $coverageFiles): void
{
$filename1 = $this->copyCoverageFile($coverageFiles[0], $this->targetDir);
$filename2 = $this->copyCoverageFile($coverageFiles[1], $this->targetDir);
@@ -75,9 +76,9 @@ public function testGeneratePhp(array $coverageFiles)
$coverageMerger->addCoverageFromFile($filename1);
$coverageMerger->addCoverageFromFile($filename2);
- $target = $this->targetDir . '/coverage.php';
+ $target = $this->targetDir . DS . 'coverage.php';
- static::assertFileNotExists($target);
+ static::assertFileDoesNotExist($target);
$coverageMerger->getReporter()->php($target);
@@ -85,11 +86,11 @@ public function testGeneratePhp(array $coverageFiles)
}
/**
- * @dataProvider getReporterProvider
- *
* @param string[] $coverageFiles
+ *
+ * @dataProvider getReporterProvider
*/
- public function testGenerateClover(array $coverageFiles)
+ public function testGenerateClover(array $coverageFiles): void
{
$filename1 = $this->copyCoverageFile($coverageFiles[0], $this->targetDir);
$filename2 = $this->copyCoverageFile($coverageFiles[1], $this->targetDir);
@@ -98,24 +99,24 @@ public function testGenerateClover(array $coverageFiles)
$coverageMerger->addCoverageFromFile($filename1);
$coverageMerger->addCoverageFromFile($filename2);
- $target = $this->targetDir . '/coverage.xml';
+ $target = $this->targetDir . DS . 'coverage.xml';
- static::assertFileNotExists($target);
+ static::assertFileDoesNotExist($target);
$coverageMerger->getReporter()->clover($target);
static::assertFileExists($target);
- $reportXml = \PHPUnit\Util\XML::loadFile($target);
+ $reportXml = (new Xml\Loader())->loadFile($target);
static::assertInstanceOf('DomDocument', $reportXml, 'Incorrect clover report xml was generated');
}
/**
- * @dataProvider getReporterProvider
- *
* @param string[] $coverageFiles
+ *
+ * @dataProvider getReporterProvider
*/
- public function testGenerateCrap4J(array $coverageFiles)
+ public function testGenerateCrap4J(array $coverageFiles): void
{
$filename1 = $this->copyCoverageFile($coverageFiles[0], $this->targetDir);
$filename2 = $this->copyCoverageFile($coverageFiles[1], $this->targetDir);
@@ -124,25 +125,25 @@ public function testGenerateCrap4J(array $coverageFiles)
$coverageMerger->addCoverageFromFile($filename1);
$coverageMerger->addCoverageFromFile($filename2);
- $target = $this->targetDir . '/coverage.xml';
+ $target = $this->targetDir . DS . 'coverage.xml';
- static::assertFileNotExists($target);
+ static::assertFileDoesNotExist($target);
$coverageMerger->getReporter()->crap4j($target);
static::assertFileExists($target);
- $reportXml = \PHPUnit\Util\XML::loadFile($target);
+ $reportXml = (new Xml\Loader())->loadFile($target);
static::assertInstanceOf('DomDocument', $reportXml, 'Incorrect crap4j report xml was generated');
static::assertEquals('crap_result', $reportXml->documentElement->tagName);
}
/**
- * @dataProvider getReporterProvider
- *
* @param string[] $coverageFiles
+ *
+ * @dataProvider getReporterProvider
*/
- public function testGenerateHtml(array $coverageFiles)
+ public function testGenerateHtml(array $coverageFiles): void
{
$filename1 = $this->copyCoverageFile($coverageFiles[0], $this->targetDir);
$filename2 = $this->copyCoverageFile($coverageFiles[1], $this->targetDir);
@@ -151,25 +152,26 @@ public function testGenerateHtml(array $coverageFiles)
$coverageMerger->addCoverageFromFile($filename1);
$coverageMerger->addCoverageFromFile($filename2);
- $target = $this->targetDir . '/coverage';
+ $target = $this->targetDir . DS . 'coverage';
- static::assertFileNotExists($target);
+ static::assertFileDoesNotExist($target);
$coverageMerger->getReporter()->html($target);
static::assertFileExists($target);
- static::assertFileExists($target . '/index.html', 'Index html file was not generated');
+ static::assertFileExists($target . DS . 'index.html', 'Index html file was not generated');
}
/**
- * @return array
+ * @return array>
*/
- public static function getReporterProvider()
+ public static function getReporterProvider(): array
{
- $version = 'CodeCoverage >4.0';
- $filenames = [
- 'coverage-tests/runner_test.cov',
- 'coverage-tests/result_printer_test.cov',
+ $version = 'CodeCoverage >4.0';
+ $windowsExt = defined('PHP_WINDOWS_VERSION_BUILD') ? '-windows' : '';
+ $filenames = [
+ 'coverage-tests' . DS . 'runner_test' . $windowsExt . '.cov',
+ 'coverage-tests' . DS . 'result_printer_test' . $windowsExt . '.cov',
];
$reporterClass = CoverageReporter::class;
diff --git a/test/Functional/DataProviderTest.php b/test/Functional/DataProviderTest.php
index b58be78..243b622 100644
--- a/test/Functional/DataProviderTest.php
+++ b/test/Functional/DataProviderTest.php
@@ -6,7 +6,7 @@
class DataProviderTest extends FunctionalTestBase
{
- /** @var ParatestInvoker */
+ /** @var ParaTestInvoker */
private $invoker;
public function setUp(): void
@@ -18,62 +18,62 @@ public function setUp(): void
);
}
- public function testFunctionalMode()
+ public function testFunctionalMode(): void
{
$proc = $this->invoker->execute([
'functional' => null,
'max-batch-size' => 50,
]);
- $this->assertRegExp('/OK \(1150 tests, 1150 assertions\)/', $proc->getOutput());
+ $this->assertMatchesRegularExpression('/OK \(1150 tests, 1150 assertions\)/', $proc->getOutput());
}
- public function testNumericDataSetInFunctionalModeWithMethodFilter()
+ public function testNumericDataSetInFunctionalModeWithMethodFilter(): void
{
$proc = $this->invoker->execute([
'functional' => null,
'max-batch-size' => 50,
'filter' => 'testNumericDataProvider50',
]);
- $this->assertRegExp('/OK \(50 tests, 50 assertions\)/', $proc->getOutput());
+ $this->assertMatchesRegularExpression('/OK \(50 tests, 50 assertions\)/', $proc->getOutput());
}
- public function testNumericDataSetInFunctionalModeWithCustomFilter()
+ public function testNumericDataSetInFunctionalModeWithCustomFilter(): void
{
$proc = $this->invoker->execute([
'functional' => null,
'max-batch-size' => 50,
'filter' => 'testNumericDataProvider50.*1',
]);
- $this->assertRegExp('/OK \(14 tests, 14 assertions\)/', $proc->getOutput());
+ $this->assertMatchesRegularExpression('/OK \(14 tests, 14 assertions\)/', $proc->getOutput());
}
- public function testNamedDataSetInFunctionalModeWithMethodFilter()
+ public function testNamedDataSetInFunctionalModeWithMethodFilter(): void
{
$proc = $this->invoker->execute([
'functional' => null,
'max-batch-size' => 50,
'filter' => 'testNamedDataProvider50',
]);
- $this->assertRegExp('/OK \(50 tests, 50 assertions\)/', $proc->getOutput());
+ $this->assertMatchesRegularExpression('/OK \(50 tests, 50 assertions\)/', $proc->getOutput());
}
- public function testNamedDataSetInFunctionalModeWithCustomFilter()
+ public function testNamedDataSetInFunctionalModeWithCustomFilter(): void
{
$proc = $this->invoker->execute([
'functional' => null,
'max-batch-size' => 50,
'filter' => 'testNamedDataProvider50.*name_of_test_.*1',
]);
- $this->assertRegExp('/OK \(14 tests, 14 assertions\)/', $proc->getOutput());
+ $this->assertMatchesRegularExpression('/OK \(14 tests, 14 assertions\)/', $proc->getOutput());
}
- public function testNumericDataSet1000InFunctionalModeWithFilterAndMaxBatchSize()
+ public function testNumericDataSet1000InFunctionalModeWithFilterAndMaxBatchSize(): void
{
$proc = $this->invoker->execute([
'functional' => null,
'max-batch-size' => 50,
'filter' => 'testNumericDataProvider1000',
]);
- $this->assertRegExp('/OK \(1000 tests, 1000 assertions\)/', $proc->getOutput());
+ $this->assertMatchesRegularExpression('/OK \(1000 tests, 1000 assertions\)/', $proc->getOutput());
}
}
diff --git a/test/Functional/FunctionalTestBase.php b/test/Functional/FunctionalTestBase.php
index efd268d..4022aa6 100644
--- a/test/Functional/FunctionalTestBase.php
+++ b/test/Functional/FunctionalTestBase.php
@@ -8,28 +8,42 @@
use PHPUnit;
use Symfony\Component\Process\Process;
+use function extension_loaded;
+use function file_exists;
+
class FunctionalTestBase extends PHPUnit\Framework\TestCase
{
- protected function fixture($fixture)
+ protected function fixture(string $fixture): string
{
$fixture = FIXTURES . DS . $fixture;
- if (!file_exists($fixture)) {
+ if (! file_exists($fixture)) {
throw new Exception("Fixture $fixture not found");
}
return $fixture;
}
- protected function invokeParatest($path, $options = [], $callback = null)
+ /**
+ * @param array $options
+ *
+ * @return Process
+ */
+ protected function invokeParatest(string $path, array $options = [], ?callable $callback = null): Process
{
$invoker = new ParaTestInvoker($this->fixture($path), BOOTSTRAP);
return $invoker->execute($options, $callback);
}
- protected function assertTestsPassed(Process $proc, $testPattern = '\d+', $assertionPattern = '\d+')
- {
- $this->assertRegExp(
+ /**
+ * @param Process $proc
+ */
+ protected function assertTestsPassed(
+ Process $proc,
+ string $testPattern = '\d+',
+ string $assertionPattern = '\d+'
+ ): void {
+ $this->assertMatchesRegularExpression(
"/OK \($testPattern tests?, $assertionPattern assertions?\)/",
$proc->getOutput()
);
@@ -39,11 +53,13 @@ protected function assertTestsPassed(Process $proc, $testPattern = '\d+', $asser
/**
* Checks if the sqlite extension is loaded and skips the test if not.
*/
- protected function guardSqliteExtensionLoaded()
+ protected function guardSqliteExtensionLoaded(): void
{
$sqliteExtension = 'pdo_sqlite';
- if (!extension_loaded($sqliteExtension)) {
- $this->markTestSkipped("Skipping test: Extension '$sqliteExtension' not found.");
+ if (extension_loaded($sqliteExtension)) {
+ return;
}
+
+ $this->markTestSkipped("Skipping test: Extension '$sqliteExtension' not found.");
}
}
diff --git a/test/Functional/GroupTest.php b/test/Functional/GroupTest.php
index 2c4e733..1760f1c 100644
--- a/test/Functional/GroupTest.php
+++ b/test/Functional/GroupTest.php
@@ -6,7 +6,7 @@
class GroupTest extends FunctionalTestBase
{
- /** @var ParatestInvoker */
+ /** @var ParaTestInvoker */
private $invoker;
public function setUp(): void
@@ -18,40 +18,40 @@ public function setUp(): void
);
}
- public function testGroupSwitchOnlyExecutesThoseGroups()
+ public function testGroupSwitchOnlyExecutesThoseGroups(): void
{
$proc = $this->invoker->execute(['group' => 'group1']);
- $this->assertRegExp('/OK \(2 tests, 2 assertions\)/', $proc->getOutput());
+ $this->assertMatchesRegularExpression('/OK \(2 tests, 2 assertions\)/', $proc->getOutput());
}
- public function testExcludeGroupSwitchDontExecuteThatGroup()
+ public function testExcludeGroupSwitchDontExecuteThatGroup(): void
{
$proc = $this->invoker->execute(['exclude-group' => 'group1']);
- $this->assertRegExp('/OK \(3 tests, 3 assertions\)/', $proc->getOutput());
+ $this->assertMatchesRegularExpression('/OK \(3 tests, 3 assertions\)/', $proc->getOutput());
}
- public function testGroupSwitchExecutesGroupsUsingShortOption()
+ public function testGroupSwitchExecutesGroupsUsingShortOption(): void
{
$proc = $this->invoker->execute(['g' => 'group1']);
- $this->assertRegExp('/OK \(2 tests, 2 assertions\)/', $proc->getOutput());
+ $this->assertMatchesRegularExpression('/OK \(2 tests, 2 assertions\)/', $proc->getOutput());
}
- public function testGroupSwitchOnlyExecutesThoseGroupsInFunctionalMode()
+ public function testGroupSwitchOnlyExecutesThoseGroupsInFunctionalMode(): void
{
$proc = $this->invoker->execute(['functional', 'g' => 'group1']);
- $this->assertRegExp('/OK \(2 tests, 2 assertions\)/', $proc->getOutput());
+ $this->assertMatchesRegularExpression('/OK \(2 tests, 2 assertions\)/', $proc->getOutput());
}
- public function testGroupSwitchOnlyExecutesThoseGroupsWhereTestHasMultipleGroups()
+ public function testGroupSwitchOnlyExecutesThoseGroupsWhereTestHasMultipleGroups(): void
{
$proc = $this->invoker->execute(['functional', 'group' => 'group3']);
- $this->assertRegExp('/OK \(1 test, 1 assertion\)/', $proc->getOutput());
+ $this->assertMatchesRegularExpression('/OK \(1 test, 1 assertion\)/', $proc->getOutput());
}
- public function testGroupsSwitchExecutesMultipleGroups()
+ public function testGroupsSwitchExecutesMultipleGroups(): void
{
$proc = $this->invoker->execute(['functional', 'group' => 'group1,group3']);
- $this->assertRegExp('/OK \(3 tests, 3 assertions\)/', $proc->getOutput());
+ $this->assertMatchesRegularExpression('/OK \(3 tests, 3 assertions\)/', $proc->getOutput());
}
}
diff --git a/test/Functional/OutputTest.php b/test/Functional/OutputTest.php
index 88c9c6c..11af20a 100644
--- a/test/Functional/OutputTest.php
+++ b/test/Functional/OutputTest.php
@@ -4,11 +4,11 @@
namespace ParaTest\Tests\Functional;
+use function getcwd;
+
class OutputTest extends FunctionalTestBase
{
- /**
- * @var ParaTestInvoker
- */
+ /** @var ParaTestInvoker */
protected $paratest;
public function setUp(): void
@@ -20,15 +20,15 @@ public function setUp(): void
);
}
- public function testDefaultMessagesDisplayed()
+ public function testDefaultMessagesDisplayed(): void
{
$output = $this->paratest->execute(['p' => 5])->getOutput();
$this->assertStringContainsString('Running phpunit in 5 processes with ' . PHPUNIT, $output);
$this->assertStringContainsString('Configuration read from ' . getcwd() . DS . 'phpunit.xml.dist', $output);
- $this->assertRegExp('/[.F]{4}/', $output);
+ $this->assertMatchesRegularExpression('/[.F]{4}/', $output);
}
- public function testMessagePrintedWhenInvalidConfigFileSupplied()
+ public function testMessagePrintedWhenInvalidConfigFileSupplied(): void
{
$output = $this->paratest
->execute(['configuration' => 'nope.xml'])
@@ -36,21 +36,21 @@ public function testMessagePrintedWhenInvalidConfigFileSupplied()
$this->assertStringContainsString('Could not read "nope.xml"', $output);
}
- public function testMessagePrintedWhenFunctionalModeIsOn()
+ public function testMessagePrintedWhenFunctionalModeIsOn(): void
{
$output = $this->paratest
->execute(['functional', 'p' => 5])
->getOutput();
$this->assertStringContainsString('Running phpunit in 5 processes with ' . PHPUNIT, $output);
$this->assertStringContainsString('Functional mode is ON.', $output);
- $this->assertRegExp('/[.F]{4}/', $output);
+ $this->assertMatchesRegularExpression('/[.F]{4}/', $output);
}
- public function testProcCountIsReportedWithProcOption()
+ public function testProcCountIsReportedWithProcOption(): void
{
$output = $this->paratest->execute(['p' => 1])
->getOutput();
$this->assertStringContainsString('Running phpunit in 1 process with ' . PHPUNIT, $output);
- $this->assertRegExp('/[.F]{4}/', $output);
+ $this->assertMatchesRegularExpression('/[.F]{4}/', $output);
}
}
diff --git a/test/Functional/PHPUnitOtherWarningsTest.php b/test/Functional/PHPUnitOtherWarningsTest.php
index d5291a0..d5b9d1b 100644
--- a/test/Functional/PHPUnitOtherWarningsTest.php
+++ b/test/Functional/PHPUnitOtherWarningsTest.php
@@ -13,7 +13,7 @@
*/
class PHPUnitOtherWarningsTest extends FunctionalTestBase
{
- public function testTestsWithWarningsResultInFailure()
+ public function testTestsWithWarningsResultInFailure(): void
{
$proc = $this->invokeParatest(
'warning-tests/HasOtherWarningsTest.php',
diff --git a/test/Functional/PHPUnitTest.php b/test/Functional/PHPUnitTest.php
index b8c7ecb..2682999 100644
--- a/test/Functional/PHPUnitTest.php
+++ b/test/Functional/PHPUnitTest.php
@@ -8,38 +8,45 @@
use ParaTest\Console\Testers\PHPUnit;
use Symfony\Component\Console\Input\ArrayInput;
+use function array_key_exists;
+use function chdir;
+use function dirname;
+use function file_exists;
+use function sys_get_temp_dir;
+use function tempnam;
+use function unlink;
+
class PHPUnitTest extends FunctionalTestBase
{
- public function testWithJustBootstrap()
+ public function testWithJustBootstrap(): void
{
- $this->assertTestsPassed($this->invokeParatest('passing-tests', [
- 'bootstrap' => BOOTSTRAP,
- ]));
+ $this->assertTestsPassed($this->invokeParatest('passing-tests', ['bootstrap' => BOOTSTRAP]));
}
- public function testWithBootstrapThatDoesNotExist()
+ public function testWithBootstrapThatDoesNotExist(): void
{
$bootstrap = '/fileThatDoesNotExist.php';
- $proc = $this->invokeParatest('passing-tests', ['bootstrap' => $bootstrap]);
- $errors = $proc->getErrorOutput();
+ $proc = $this->invokeParatest('passing-tests', ['bootstrap' => $bootstrap]);
+ $errors = $proc->getErrorOutput();
$this->assertEquals(1, $proc->getExitCode(), 'Unexpected exit code');
// The [RuntimeException] message appears only on lower 6.x versions of Phpunit
- $this->assertRegExp(
+ $this->assertMatchesRegularExpression(
'/(\[RuntimeException\]|Bootstrap specified but could not be found)/',
$errors,
'Expected exception name not found in output'
);
}
- public function testWithJustConfiguration()
+ public function testWithJustConfiguration(): void
{
- $this->assertTestsPassed($this->invokeParatest('passing-tests', [
- 'configuration' => PHPUNIT_CONFIGURATION,
- ]));
+ $this->assertTestsPassed($this->invokeParatest('passing-tests', ['configuration' => PHPUNIT_CONFIGURATION]));
}
- public function testWithWrapperRunner()
+ /**
+ * @requires OSFAMILY Linux
+ */
+ public function testWithWrapperRunner(): void
{
$this->assertTestsPassed($this->invokeParatest('passing-tests', [
'configuration' => PHPUNIT_CONFIGURATION,
@@ -47,7 +54,7 @@ public function testWithWrapperRunner()
]));
}
- public function testWithSqliteRunner()
+ public function testWithSqliteRunner(): void
{
$this->guardSqliteExtensionLoaded();
@@ -57,7 +64,7 @@ public function testWithSqliteRunner()
]));
}
- public function testWithCustomRunner()
+ public function testWithCustomRunner(): void
{
$cb = new ProcessCallback();
@@ -72,7 +79,7 @@ public function testWithCustomRunner()
$this->assertEquals('EXECUTED', $cb->getBuffer());
}
- public function testWithColorsGreenBar()
+ public function testWithColorsGreenBar(): void
{
$proc = $this->invokeParatest(
'paratest-only-tests/EnvironmentTest.php',
@@ -84,7 +91,7 @@ public function testWithColorsGreenBar()
);
}
- public function testWithColorsRedBar()
+ public function testWithColorsRedBar(): void
{
$proc = $this->invokeParatest(
'failing-tests/UnitTestWithErrorTest.php',
@@ -96,7 +103,7 @@ public function testWithColorsRedBar()
);
}
- public function testParatestEnvironmentVariable()
+ public function testParatestEnvironmentVariable(): void
{
$this->assertTestsPassed($this->invokeParatest(
'paratest-only-tests/EnvironmentTest.php',
@@ -104,7 +111,10 @@ public function testParatestEnvironmentVariable()
));
}
- public function testParatestEnvironmentVariableWithWrapperRunner()
+ /**
+ * @requires OSFAMILY Linux
+ */
+ public function testParatestEnvironmentVariableWithWrapperRunner(): void
{
$this->assertTestsPassed($this->invokeParatest(
'paratest-only-tests/EnvironmentTest.php',
@@ -112,16 +122,19 @@ public function testParatestEnvironmentVariableWithWrapperRunner()
));
}
- public function testParatestEnvironmentVariableWithWrapperRunnerWithoutTestTokens()
+ /**
+ * @requires OSFAMILY Linux
+ */
+ public function testParatestEnvironmentVariableWithWrapperRunnerWithoutTestTokens(): void
{
$proc = $this->invokeParatest(
'paratest-only-tests/EnvironmentTest.php',
['bootstrap' => BOOTSTRAP, 'runner' => 'WrapperRunner', 'no-test-tokens' => 0]
);
- $this->assertRegexp('/Failures: 1/', $proc->getOutput());
+ $this->assertMatchesRegularExpression('/Failures: 1/', $proc->getOutput());
}
- public function testParatestEnvironmentVariableWithSqliteRunner()
+ public function testParatestEnvironmentVariableWithSqliteRunner(): void
{
$this->guardSqliteExtensionLoaded();
$this->assertTestsPassed($this->invokeParatest(
@@ -130,22 +143,22 @@ public function testParatestEnvironmentVariableWithSqliteRunner()
));
}
- public function testWithConfigurationInDirWithoutConfigFile()
+ public function testWithConfigurationInDirWithoutConfigFile(): void
{
chdir(dirname(FIXTURES));
$this->assertTestsPassed($this->invokeParatest('passing-tests'));
}
- public function testWithConfigurationThatDoesNotExist()
+ public function testWithConfigurationThatDoesNotExist(): void
{
$proc = $this->invokeParatest(
'passing-tests',
['configuration' => FIXTURES . DS . 'phpunit.xml.disto']
); // dist"o" does not exist
- $this->assertRegExp('/Could not read ".*phpunit.xml.disto"./', $proc->getOutput());
+ $this->assertMatchesRegularExpression('/Could not read ".*phpunit.xml.disto"./', $proc->getOutput());
}
- public function testFunctionalWithBootstrap()
+ public function testFunctionalWithBootstrap(): void
{
$this->assertTestsPassed($this->invokeParatest(
'passing-tests',
@@ -153,7 +166,7 @@ public function testFunctionalWithBootstrap()
));
}
- public function testFunctionalWithConfiguration()
+ public function testFunctionalWithConfiguration(): void
{
$this->assertTestsPassed($this->invokeParatest(
'passing-tests',
@@ -161,17 +174,17 @@ public function testFunctionalWithConfiguration()
));
}
- public function testWithBootstrapAndProcessesSwitch()
+ public function testWithBootstrapAndProcessesSwitch(): void
{
$proc = $this->invokeParatest(
'passing-tests',
['bootstrap' => BOOTSTRAP, 'processes' => 6]
);
- $this->assertRegExp('/Running phpunit in 6 processes/', $proc->getOutput());
+ $this->assertMatchesRegularExpression('/Running phpunit in 6 processes/', $proc->getOutput());
$this->assertTestsPassed($proc);
}
- public function testWithBootstrapAndManuallySpecifiedPHPUnit()
+ public function testWithBootstrapAndManuallySpecifiedPHPUnit(): void
{
$this->assertTestsPassed($this->invokeParatest(
'passing-tests',
@@ -179,13 +192,13 @@ public function testWithBootstrapAndManuallySpecifiedPHPUnit()
));
}
- public function testDefaultSettingsWithoutBootstrap()
+ public function testDefaultSettingsWithoutBootstrap(): void
{
chdir(PARATEST_ROOT);
$this->assertTestsPassed($this->invokeParatest('passing-tests'));
}
- public function testDefaultSettingsWithSpecifiedPath()
+ public function testDefaultSettingsWithSpecifiedPath(): void
{
chdir(PARATEST_ROOT);
$this->assertTestsPassed($this->invokeParatest(
@@ -194,66 +207,62 @@ public function testDefaultSettingsWithSpecifiedPath()
));
}
- public function testLoggingXmlOfDirectory()
+ public function testLoggingXmlOfDirectory(): void
{
chdir(PARATEST_ROOT);
$output = FIXTURES . DS . 'logs' . DS . 'functional-directory.xml';
- $proc = $this->invokeParatest('passing-tests', [
- 'log-junit' => $output,
- ]);
+ $proc = $this->invokeParatest('passing-tests', ['log-junit' => $output]);
$this->assertTestsPassed($proc);
$this->assertFileExists($output);
- if (file_exists($output)) {
- unlink($output);
+ if (! file_exists($output)) {
+ return;
}
+
+ unlink($output);
}
- public function testTestTokenEnvVarIsPassed()
+ public function testTestTokenEnvVarIsPassed(): void
{
chdir(PARATEST_ROOT);
$proc = $this->invokeParatest(
'passing-tests',
['path' => 'test/fixtures/paratest-only-tests/TestTokenTest.php']
);
- $this->assertTestsPassed($proc, 1, 1);
+ $this->assertTestsPassed($proc, '1', '1');
}
- public function testLoggingXmlOfSingleFile()
+ public function testLoggingXmlOfSingleFile(): void
{
chdir(PARATEST_ROOT);
$output = FIXTURES . DS . 'logs' . DS . 'functional-file.xml';
- $proc = $this->invokeParatest('passing-tests/GroupsTest.php', [
+ $proc = $this->invokeParatest('passing-tests/GroupsTest.php', [
'log-junit' => $output,
'bootstrap' => BOOTSTRAP,
]);
- $this->assertTestsPassed($proc, 5, 5);
+ $this->assertTestsPassed($proc, '5', '5');
$this->assertFileExists($output);
- if (file_exists($output)) {
- unlink($output);
+ if (! file_exists($output)) {
+ return;
}
+
+ unlink($output);
}
- public function testSuccessfulRunHasExitCode0()
+ public function testSuccessfulRunHasExitCode0(): void
{
- $proc = $this->invokeParatest('passing-tests/GroupsTest.php', [
- 'bootstrap' => BOOTSTRAP,
- ]);
+ $proc = $this->invokeParatest('passing-tests/GroupsTest.php', ['bootstrap' => BOOTSTRAP]);
$this->assertEquals(0, $proc->getExitCode());
}
- public function testFailedRunHasExitCode1()
+ public function testFailedRunHasExitCode1(): void
{
- $proc = $this->invokeParatest('failing-tests/FailingTest.php', [
- 'bootstrap' => BOOTSTRAP,
- ]);
+ $proc = $this->invokeParatest('failing-tests/FailingTest.php', ['bootstrap' => BOOTSTRAP]);
$this->assertEquals(1, $proc->getExitCode());
}
- public function testRunWithErrorsHasExitCode2()
+ public function testRunWithErrorsHasExitCode2(): void
{
- $proc = $this->invokeParatest('failing-tests/UnitTestWithErrorTest.php', [
- 'bootstrap' => BOOTSTRAP,
- ]);
+ $proc = $this->invokeParatest('failing-tests/UnitTestWithErrorTest.php', ['bootstrap' => BOOTSTRAP]);
$this->assertEquals(2, $proc->getExitCode());
}
@@ -262,17 +271,15 @@ public function testRunWithErrorsHasExitCode2()
* running it. In some PHP/library versions, the exception code would be 255. Otherwise, the exception code was 0
* and is manually converted to 1 inside the Symfony Console runner.
*/
- public function testRunWithFatalParseErrorsHasExitCode255or1()
+ public function testRunWithFatalParseErrorsHasExitCode255or1(): void
{
- $proc = $this->invokeParatest('fatal-tests/UnitTestWithFatalParseErrorTest.php', [
- 'bootstrap' => BOOTSTRAP,
- ]);
+ $proc = $this->invokeParatest('fatal-tests/UnitTestWithFatalParseErrorTest.php', ['bootstrap' => BOOTSTRAP]);
$this->assertContains($proc->getExitCode(), [1, 255]);
}
- public function testStopOnFailurePreventsStartingFurtherTestsAfterFailure()
+ public function testStopOnFailurePreventsStartingFurtherTestsAfterFailure(): void
{
- $proc = $this->invokeParatest('failing-tests/StopOnFailureTest.php', [
+ $proc = $this->invokeParatest('failing-tests/StopOnFailureTest.php', [
'bootstrap' => BOOTSTRAP,
'stop-on-failure' => '',
'f' => '',
@@ -283,10 +290,10 @@ public function testStopOnFailurePreventsStartingFurtherTestsAfterFailure()
$this->assertStringContainsString('Failures: 1,', $results); // The suite actually has 2 failing tests
}
- public function testFullyConfiguredRun()
+ public function testFullyConfiguredRun(): void
{
$output = FIXTURES . DS . 'logs' . DS . 'functional.xml';
- $proc = $this->invokeParatest('passing-tests', [
+ $proc = $this->invokeParatest('passing-tests', [
'bootstrap' => BOOTSTRAP,
'phpunit' => PHPUNIT,
'f' => '',
@@ -295,15 +302,17 @@ public function testFullyConfiguredRun()
]);
$this->assertTestsPassed($proc);
$results = $proc->getOutput();
- $this->assertRegExp('/Running phpunit in 6 processes/', $results);
- $this->assertRegExp('/Functional mode is on/i', $results);
+ $this->assertMatchesRegularExpression('/Running phpunit in 6 processes/', $results);
+ $this->assertMatchesRegularExpression('/Functional mode is on/i', $results);
$this->assertFileExists($output);
- if (file_exists($output)) {
- unlink($output);
+ if (! file_exists($output)) {
+ return;
}
+
+ unlink($output);
}
- public function testUsingDefaultLoadedConfiguration()
+ public function testUsingDefaultLoadedConfiguration(): void
{
$this->assertTestsPassed($this->invokeParatest(
'passing-tests',
@@ -311,34 +320,37 @@ public function testUsingDefaultLoadedConfiguration()
));
}
- public function testEachTestRunsExactlyOnceOnChainDependencyOnFunctionalMode()
+ public function testEachTestRunsExactlyOnceOnChainDependencyOnFunctionalMode(): void
{
$proc = $this->invokeParatest(
'passing-tests/DependsOnChain.php',
['bootstrap' => BOOTSTRAP, 'functional']
);
- $this->assertTestsPassed($proc, 5, 5);
+ $this->assertTestsPassed($proc, '5', '5');
}
- public function testEachTestRunsExactlyOnceOnSameDependencyOnFunctionalMode()
+ public function testEachTestRunsExactlyOnceOnSameDependencyOnFunctionalMode(): void
{
$proc = $this->invokeParatest(
'passing-tests/DependsOnSame.php',
['bootstrap' => BOOTSTRAP, 'functional']
);
- $this->assertTestsPassed($proc, 3, 3);
+ $this->assertTestsPassed($proc, '3', '3');
}
- public function testFunctionalModeEachTestCalledOnce()
+ public function testFunctionalModeEachTestCalledOnce(): void
{
$proc = $this->invokeParatest(
'passing-tests/FunctionalModeEachTestCalledOnce.php',
['bootstrap' => BOOTSTRAP, 'functional']
);
- $this->assertTestsPassed($proc, 2, 2);
+ $this->assertTestsPassed($proc, '2', '2');
}
- public function setsCoveragePhpDataProvider()
+ /**
+ * @return array>>
+ */
+ public function setsCoveragePhpDataProvider(): array
{
return [
[
@@ -361,20 +373,20 @@ public function setsCoveragePhpDataProvider()
}
/**
- * @dataProvider setsCoveragePhpDataProvider
+ * @param array $options
*
- * @param $options
- * @param $coveragePhp
+ * @dataProvider setsCoveragePhpDataProvider
*/
- public function testSetsCoveragePhp($options, $coveragePhp)
+ public function testSetsCoveragePhp(array $options, string $coveragePhp): void
{
- $phpUnit = new \ParaTest\Console\Testers\PHPUnit();
- $c = new \ParaTest\Console\Commands\ParaTestCommand($phpUnit);
+ $phpUnit = new PHPUnit();
+ $c = new ParaTestCommand($phpUnit);
- $input = new \Symfony\Component\Console\Input\ArrayInput([], $c->getDefinition());
+ $input = new ArrayInput([], $c->getDefinition());
foreach ($options as $key => $value) {
$input->setOption($key, $value);
}
+
$input->setArgument('path', '.');
$options = $phpUnit->getRunnerOptions($input);
@@ -387,16 +399,16 @@ public function testSetsCoveragePhp($options, $coveragePhp)
}
/**
- * @dataProvider getRunnerOptionsDataProvider
+ * @param array> $options
+ * @param array> $expected
*
- * @param array $options
- * @param array $expected
+ * @dataProvider getRunnerOptionsDataProvider
*/
- public function testGetRunnerOptions(array $options, array $expected)
+ public function testGetRunnerOptions(array $options, array $expected): void
{
$phpUnit = new PHPUnit();
- $c = new ParaTestCommand($phpUnit);
- $input = new ArrayInput($options, $c->getDefinition());
+ $c = new ParaTestCommand($phpUnit);
+ $input = new ArrayInput($options, $c->getDefinition());
$options = $phpUnit->getRunnerOptions($input);
@@ -411,7 +423,10 @@ public function testGetRunnerOptions(array $options, array $expected)
$this->assertEquals($expected, $options);
}
- public function getRunnerOptionsDataProvider()
+ /**
+ * @return array|int|string>>>
+ */
+ public function getRunnerOptionsDataProvider(): array
{
return [
'default' => [
diff --git a/test/Functional/PHPUnitWarningsTest.php b/test/Functional/PHPUnitWarningsTest.php
index 352828d..353e7af 100644
--- a/test/Functional/PHPUnitWarningsTest.php
+++ b/test/Functional/PHPUnitWarningsTest.php
@@ -9,7 +9,7 @@
*/
class PHPUnitWarningsTest extends FunctionalTestBase
{
- public function testTestsWithWarningsResultInFailure()
+ public function testTestsWithWarningsResultInFailure(): void
{
$proc = $this->invokeParatest(
'warning-tests/HasWarningsTest.php',
diff --git a/test/Functional/ParaTestInvoker.php b/test/Functional/ParaTestInvoker.php
index 0d9bcbc..5525cb2 100644
--- a/test/Functional/ParaTestInvoker.php
+++ b/test/Functional/ParaTestInvoker.php
@@ -7,37 +7,41 @@
use Habitat\Habitat;
use Symfony\Component\Process\Process;
+use function defined;
+use function is_callable;
+use function is_numeric;
+use function sprintf;
+use function strlen;
+
+use const PHP_BINARY;
+
class ParaTestInvoker
{
+ /** @var string */
public $path;
+ /** @var string */
public $bootstrap;
- public function __construct($path, $bootstrap)
+ public function __construct(string $path, string $bootstrap)
{
- $this->path = $path;
+ $this->path = $path;
$this->bootstrap = $bootstrap;
}
/**
* Runs the command, returns the proc after it's done.
*
- * @param array $options
- * @param callable $callback
+ * @param array $options
*
- * @return Process
+ * @return Process
*/
- public function execute($options = [], $callback = null)
+ public function execute(array $options = [], ?callable $callback = null): Process
{
- $cmd = $this->buildCommand($options);
- $env = defined('PHP_WINDOWS_VERSION_BUILD') ? Habitat::getAll() : null;
- $proc = method_exists(Process::class, 'fromShellCommandline') ?
- Process::fromShellCommandline($cmd, null, $env, null, $timeout = 600) :
- new Process($cmd, null, $env, null, $timeout = 600);
- if (method_exists($proc, 'inheritEnvironmentVariables')) {
- $proc->inheritEnvironmentVariables(); // no such method in 3.0, but emits warning if this isn't done in 3.3
- }
+ $cmd = $this->buildCommand($options);
+ $env = defined('PHP_WINDOWS_VERSION_BUILD') ? Habitat::getAll() : null;
+ $proc = Process::fromShellCommandline($cmd, null, $env, null, $timeout = 600);
- if (!is_callable($callback)) {
+ if (! is_callable($callback)) {
$proc->run();
} else {
$proc->run($callback);
@@ -46,21 +50,33 @@ public function execute($options = [], $callback = null)
return $proc;
}
- private function buildCommand($options = [])
+ /**
+ * @param array $options
+ */
+ private function buildCommand(array $options = []): string
{
- $cmd = sprintf('%s %s --bootstrap %s --phpunit %s', PHP_BINARY, PARA_BINARY, $this->bootstrap, PHPUNIT);
+ $cmd = sprintf(
+ '%s %s --bootstrap %s --phpunit %s',
+ PHP_BINARY,
+ PARA_BINARY,
+ $this->bootstrap,
+ PHPUNIT
+ );
foreach ($options as $switch => $value) {
if (is_numeric($switch)) {
$switch = $value;
- $value = null;
+ $value = null;
}
+
if (strlen($switch) > 1) {
$switch = '--' . $switch;
} else {
$switch = '-' . $switch;
}
+
$cmd .= sprintf(' %s', $value ? $switch . ' ' . $value : $switch);
}
+
$cmd .= sprintf(' %s', $this->path);
return $cmd;
diff --git a/test/Functional/ProcessCallback.php b/test/Functional/ProcessCallback.php
index 428945b..9eb77c0 100644
--- a/test/Functional/ProcessCallback.php
+++ b/test/Functional/ProcessCallback.php
@@ -6,27 +6,23 @@
class ProcessCallback
{
+ /** @var string */
protected $type;
+ /** @var string */
protected $buffer;
- public function callback($type, $buffer)
+ public function callback(string $type, string $buffer): void
{
- $this->type = $type;
+ $this->type = $type;
$this->buffer = $buffer;
}
- /**
- * @return mixed
- */
- public function getType()
+ public function getType(): string
{
return $this->type;
}
- /**
- * @return mixed
- */
- public function getBuffer()
+ public function getBuffer(): string
{
return $this->buffer;
}
diff --git a/test/Functional/Runners/PHPUnit/RunnerIntegrationTest.php b/test/Functional/Runners/PHPUnit/RunnerIntegrationTest.php
index e70fc44..fef7d66 100644
--- a/test/Functional/Runners/PHPUnit/RunnerIntegrationTest.php
+++ b/test/Functional/Runners/PHPUnit/RunnerIntegrationTest.php
@@ -5,12 +5,22 @@
namespace ParaTest\Tests\Functional\Runners\PHPUnit;
use ParaTest\Runners\PHPUnit\Runner;
-
-class RunnerIntegrationTest extends \ParaTest\Tests\TestBase
+use ParaTest\Tests\TestBase;
+
+use function count;
+use function file_exists;
+use function glob;
+use function ob_end_clean;
+use function ob_start;
+use function simplexml_load_file;
+use function sys_get_temp_dir;
+use function unlink;
+
+class RunnerIntegrationTest extends TestBase
{
/** @var Runner $runner */
protected $runner;
- /** @var array */
+ /** @var array */
protected $options;
protected function setUp(): void
@@ -24,7 +34,7 @@ protected function setUp(): void
'bootstrap' => BOOTSTRAP,
'whitelist' => FIXTURES . DS . 'failing-tests',
];
- $this->runner = new Runner($this->options);
+ $this->runner = new Runner($this->options);
}
protected function tearDown(): void
@@ -37,22 +47,25 @@ protected function tearDown(): void
parent::tearDown();
}
- private function globTempDir($pattern)
+ /**
+ * @return string[]
+ */
+ private function globTempDir(string $pattern): array
{
return glob(sys_get_temp_dir() . DS . $pattern);
}
- public function testRunningTestsShouldLeaveNoTempFiles()
+ public function testRunningTestsShouldLeaveNoTempFiles(): void
{
- $countBefore = \count($this->globTempDir('PT_*'));
- $countCoverageBefore = \count($this->globTempDir('CV_*'));
+ $countBefore = count($this->globTempDir('PT_*'));
+ $countCoverageBefore = count($this->globTempDir('CV_*'));
ob_start();
$this->runner->run();
ob_end_clean();
- $countAfter = \count($this->globTempDir('PT_*'));
- $countCoverageAfter = \count($this->globTempDir('CV_*'));
+ $countAfter = count($this->globTempDir('PT_*'));
+ $countCoverageAfter = count($this->globTempDir('CV_*'));
$this->assertEquals(
$countAfter,
@@ -66,11 +79,11 @@ public function testRunningTestsShouldLeaveNoTempFiles()
);
}
- public function testLogJUnitCreatesXmlFile()
+ public function testLogJUnitCreatesXmlFile(): void
{
- $outputPath = FIXTURES . DS . 'logs' . DS . 'test-output.xml';
+ $outputPath = FIXTURES . DS . 'logs' . DS . 'test-output.xml';
$this->options['log-junit'] = $outputPath;
- $runner = new Runner($this->options);
+ $runner = new Runner($this->options);
ob_start();
$runner->run();
@@ -78,18 +91,20 @@ public function testLogJUnitCreatesXmlFile()
$this->assertFileExists($outputPath);
$this->assertJunitXmlIsCorrect($outputPath);
- if (file_exists($outputPath)) {
- unlink($outputPath);
+ if (! file_exists($outputPath)) {
+ return;
}
+
+ unlink($outputPath);
}
- public function assertJunitXmlIsCorrect($path)
+ public function assertJunitXmlIsCorrect(string $path): void
{
- $doc = simplexml_load_file($path);
- $suites = $doc->xpath('//testsuite');
- $cases = $doc->xpath('//testcase');
+ $doc = simplexml_load_file($path);
+ $suites = $doc->xpath('//testsuite');
+ $cases = $doc->xpath('//testcase');
$failures = $doc->xpath('//failure');
- $errors = $doc->xpath('//error');
+ $errors = $doc->xpath('//error');
// these numbers represent the tests in fixtures/failing-tests
// so will need to be updated when tests are added or removed
diff --git a/test/Functional/Runners/PHPUnit/WorkerTest.php b/test/Functional/Runners/PHPUnit/WorkerTest.php
index 0bebd18..57badca 100644
--- a/test/Functional/Runners/PHPUnit/WorkerTest.php
+++ b/test/Functional/Runners/PHPUnit/WorkerTest.php
@@ -5,41 +5,62 @@
namespace ParaTest\Tests\Functional\Runners\PHPUnit;
use ParaTest\Runners\PHPUnit\Worker\WrapperWorker;
+use ParaTest\Tests\TestBase;
+use ReflectionProperty;
use SimpleXMLElement;
-class WorkerTest extends \ParaTest\Tests\TestBase
+use function count;
+use function file_exists;
+use function file_get_contents;
+use function get_class;
+use function proc_get_status;
+use function proc_open;
+use function sys_get_temp_dir;
+use function unlink;
+
+class WorkerTest extends TestBase
{
+ /** @var string[][] */
protected static $descriptorspec = [
- 0 => ['pipe', 'r'],
- 1 => ['pipe', 'w'],
- 2 => ['pipe', 'w'],
+ 0 => ['pipe', 'r'],
+ 1 => ['pipe', 'w'],
+ 2 => ['pipe', 'w'],
];
+ /** @var string */
+ protected $bootstrap;
+ /** @var string */
+ private $phpunitWrapper;
public function setUp(): void
{
parent::setUp();
- $this->bootstrap = PARATEST_ROOT . '/test/bootstrap.php';
- $this->phpunitWrapper = PARATEST_ROOT . '/bin/phpunit-wrapper';
+ $this->bootstrap = PARATEST_ROOT . DS . 'test' . DS . 'bootstrap.php';
+ $this->phpunitWrapper = PARATEST_ROOT . DS . 'bin' . DS . 'phpunit-wrapper.php';
}
public function tearDown(): void
{
- $this->deleteIfExists('/tmp/test.xml');
- $this->deleteIfExists('/tmp/test2.xml');
+ $this->deleteIfExists(sys_get_temp_dir() . DS . 'test.xml');
+ $this->deleteIfExists(sys_get_temp_dir() . DS . 'test2.xml');
}
- private function deleteIfExists($file)
+ private function deleteIfExists(string $file): void
{
- if (file_exists($file)) {
- unlink($file);
+ if (! file_exists($file)) {
+ return;
}
+
+ unlink($file);
}
- public function testReadsAPHPUnitCommandFromStdInAndExecutesItItsOwnProcess()
+ /**
+ * @requires OSFAMILY Linux
+ */
+ public function testReadsAPHPUnitCommandFromStdInAndExecutesItItsOwnProcess(): void
{
- $testLog = '/tmp/test.xml';
- $testCmd = $this->getCommand('passing-tests/TestOfUnits.php', $testLog);
- $worker = new WrapperWorker();
+ $testLog = sys_get_temp_dir() . DS . 'test.xml';
+ $testCmd = $this->getCommand('passing-tests' . DS . 'TestOfUnits.php', $testLog);
+ $worker = new WrapperWorker();
$worker->start($this->phpunitWrapper);
$worker->execute($testCmd);
@@ -49,11 +70,14 @@ public function testReadsAPHPUnitCommandFromStdInAndExecutesItItsOwnProcess()
$this->assertJUnitLogIsValid($testLog);
}
- public function testKnowsWhenAJobIsFinished()
+ /**
+ * @requires OSFAMILY Linux
+ */
+ public function testKnowsWhenAJobIsFinished(): void
{
- $testLog = '/tmp/test.xml';
- $testCmd = $this->getCommand('passing-tests/TestOfUnits.php', $testLog);
- $worker = new WrapperWorker();
+ $testLog = sys_get_temp_dir() . DS . 'test.xml';
+ $testCmd = $this->getCommand('passing-tests' . DS . 'TestOfUnits.php', $testLog);
+ $worker = new WrapperWorker();
$worker->start($this->phpunitWrapper);
$worker->execute($testCmd);
$worker->waitForFinishedJob();
@@ -61,11 +85,14 @@ public function testKnowsWhenAJobIsFinished()
$this->assertJUnitLogIsValid($testLog);
}
- public function testTellsWhenItsFree()
+ /**
+ * @requires OSFAMILY Linux
+ */
+ public function testTellsWhenItsFree(): void
{
- $testLog = '/tmp/test.xml';
- $testCmd = $this->getCommand('passing-tests/TestOfUnits.php', $testLog);
- $worker = new WrapperWorker();
+ $testLog = sys_get_temp_dir() . DS . 'test.xml';
+ $testCmd = $this->getCommand('passing-tests' . DS . 'TestOfUnits.php', $testLog);
+ $worker = new WrapperWorker();
$worker->start($this->phpunitWrapper);
$this->assertTrue($worker->isFree());
@@ -76,7 +103,10 @@ public function testTellsWhenItsFree()
$this->assertTrue($worker->isFree());
}
- public function testTellsWhenItsStopped()
+ /**
+ * @requires OSFAMILY Linux
+ */
+ public function testTellsWhenItsStopped(): void
{
$worker = new WrapperWorker();
$this->assertFalse($worker->isRunning());
@@ -89,7 +119,10 @@ public function testTellsWhenItsStopped()
$this->assertFalse($worker->isRunning());
}
- public function testProcessIsMarkedAsCrashedWhenItFinishesWithNonZeroExitCode()
+ /**
+ * @requires OSFAMILY Linux
+ */
+ public function testProcessIsMarkedAsCrashedWhenItFinishesWithNonZeroExitCode(): void
{
// fake state: process has already exited (with non-zero exit code) but worker did not yet notice
$worker = new WrapperWorker();
@@ -98,6 +131,9 @@ public function testProcessIsMarkedAsCrashedWhenItFinishesWithNonZeroExitCode()
$this->assertTrue($worker->isCrashed());
}
+ /**
+ * @return resource
+ */
private function createSomeClosedProcess()
{
$descriptorspec = [
@@ -106,36 +142,39 @@ private function createSomeClosedProcess()
2 => ['pipe', 'w'],
];
- $proc = proc_open('thisCommandHasAnExitcodeNotEqualZero', $descriptorspec, $pipes, '/tmp');
+ $proc = proc_open('thisCommandHasAnExitcodeNotEqualZero', $descriptorspec, $pipes, '/tmp');
$running = true;
while ($running) {
- $status = proc_get_status($proc);
+ $status = proc_get_status($proc);
$running = $status['running'];
}
return $proc;
}
- private function setPerReflection($instance, $property, $value)
+ /**
+ * @param mixed $value
+ */
+ private function setPerReflection(object $instance, string $property, $value): void
{
- $reflectionProperty = new \ReflectionProperty(\get_class($instance), $property);
+ $reflectionProperty = new ReflectionProperty(get_class($instance), $property);
$reflectionProperty->setAccessible(true);
$reflectionProperty->setValue($instance, $value);
}
- public function testCanExecuteMultiplePHPUnitCommands()
+ public function testCanExecuteMultiplePHPUnitCommands(): void
{
- $bin = 'bin/phpunit-wrapper';
+ $bin = 'bin/phpunit-wrapper.php';
$worker = new WrapperWorker();
$worker->start($this->phpunitWrapper);
- $testLog = '/tmp/test.xml';
- $testCmd = $this->getCommand('passing-tests/TestOfUnits.php', $testLog);
+ $testLog = sys_get_temp_dir() . DS . 'test.xml';
+ $testCmd = $this->getCommand('passing-tests' . DS . 'TestOfUnits.php', $testLog);
$worker->execute($testCmd);
- $testLog2 = '/tmp/test2.xml';
- $testCmd2 = $this->getCommand('failing-tests/UnitTestWithErrorTest.php', $testLog2);
+ $testLog2 = sys_get_temp_dir() . DS . 'test2.xml';
+ $testCmd2 = $this->getCommand('failing-tests' . DS . 'UnitTestWithErrorTest.php', $testLog2);
$worker->execute($testCmd2);
$worker->stop();
@@ -145,22 +184,26 @@ public function testCanExecuteMultiplePHPUnitCommands()
$this->assertJUnitLogIsValid($testLog2);
}
- private function getCommand($testFile, $logFile)
+ /**
+ * @return string[]
+ */
+ private function getCommand(string $testFile, string $logFile): array
{
- return sprintf(
- "'%s' '--bootstrap' '%s' '--log-junit' '%s' '%s'",
- 'vendor/bin/phpunit',
+ return [
+ PHPUNIT,
+ '--bootstrap',
$this->bootstrap,
+ '--log-junit',
$logFile,
- $this->fixture($testFile)
- );
+ $this->fixture($testFile),
+ ];
}
- private function assertJUnitLogIsValid($logFile)
+ private function assertJUnitLogIsValid(string $logFile): void
{
- $this->assertFileExists($logFile, "Failed asserting that $logFile exists.");
- $log = new SimpleXMLElement(file_get_contents($logFile));
- $count = \count($log->testsuite->testcase);
+ $this->assertFileExists($logFile);
+ $log = new SimpleXMLElement(file_get_contents($logFile));
+ $count = count($log->testsuite->testcase);
$this->assertGreaterThan(1, $count, 'Not even a test has been executed');
}
}
diff --git a/test/Functional/SkippedOrIncompleteTest.php b/test/Functional/SkippedOrIncompleteTest.php
index c29ce56..d4bd668 100644
--- a/test/Functional/SkippedOrIncompleteTest.php
+++ b/test/Functional/SkippedOrIncompleteTest.php
@@ -4,13 +4,16 @@
namespace ParaTest\Tests\Functional;
+use function preg_match;
+use function substr_count;
+
/**
* @todo SkippedOrIncompleteTest can't be used in default mode with group filter
* (not implemented yet) so we have to split tests per file.
*/
class SkippedOrIncompleteTest extends FunctionalTestBase
{
- /** @var ParatestInvoker */
+ /** @var ParaTestInvoker */
private $invoker;
public function setUp(): void
@@ -22,7 +25,7 @@ public function setUp(): void
);
}
- public function testSkippedInFunctionalMode()
+ public function testSkippedInFunctionalMode(): void
{
$proc = $this->invoker->execute([
'functional' => null,
@@ -36,7 +39,7 @@ public function testSkippedInFunctionalMode()
$this->assertContainsNSkippedTests(1, $proc->getOutput());
}
- public function testIncompleteInFunctionalMode()
+ public function testIncompleteInFunctionalMode(): void
{
$proc = $this->invoker->execute([
'functional' => null,
@@ -50,7 +53,7 @@ public function testIncompleteInFunctionalMode()
$this->assertContainsNSkippedTests(1, $proc->getOutput());
}
- public function testDataProviderWithSkippedInFunctionalMode()
+ public function testDataProviderWithSkippedInFunctionalMode(): void
{
$proc = $this->invoker->execute([
'functional' => null,
@@ -64,7 +67,7 @@ public function testDataProviderWithSkippedInFunctionalMode()
$this->assertContainsNSkippedTests(67, $proc->getOutput());
}
- public function testSkippedInDefaultMode()
+ public function testSkippedInDefaultMode(): void
{
// amount of tests is known, based on amount of methods, so
// we can identify skipped tests
@@ -82,7 +85,7 @@ public function testSkippedInDefaultMode()
$this->assertContainsNSkippedTests(1, $proc->getOutput());
}
- public function testIncompleteInDefaultMode()
+ public function testIncompleteInDefaultMode(): void
{
// amount of tests is known, based on amount of methods, so
// we can identify skipped tests
@@ -101,7 +104,7 @@ public function testIncompleteInDefaultMode()
$this->assertContainsNSkippedTests(1, $proc->getOutput());
}
- public function testDataProviderWithSkippedInDefaultMode()
+ public function testDataProviderWithSkippedInDefaultMode(): void
{
// TODO: update comments
// amount of tests is known, but based on amount of methods,
@@ -119,7 +122,7 @@ public function testDataProviderWithSkippedInDefaultMode()
$this->assertStringContainsString($expected, $proc->getOutput());
}
- protected function assertContainsNSkippedTests($n, $output)
+ protected function assertContainsNSkippedTests(int $n, string $output): void
{
preg_match('/\n\n([\.ISEF].*)\n\nTime/s', $output, $matches);
$this->assertCount(2, $matches);
diff --git a/test/Functional/SqliteRunnerTest.php b/test/Functional/SqliteRunnerTest.php
index 6f4d5d0..c640f0b 100644
--- a/test/Functional/SqliteRunnerTest.php
+++ b/test/Functional/SqliteRunnerTest.php
@@ -16,7 +16,7 @@ protected function setUp(): void
parent::setUp();
}
- public function testResultsAreCorrect()
+ public function testResultsAreCorrect(): void
{
$generator = new TestGenerator();
$generator->generate(self::TEST_CLASSES, self::TEST_METHODS_PER_CLASS);
@@ -27,10 +27,10 @@ public function testResultsAreCorrect()
]);
$expected = self::TEST_CLASSES * self::TEST_METHODS_PER_CLASS;
- $this->assertTestsPassed($proc, $expected, $expected);
+ $this->assertTestsPassed($proc, (string) $expected, (string) $expected);
}
- public function testRunningFewerTestsThanTheWorkersIsPossible()
+ public function testRunningFewerTestsThanTheWorkersIsPossible(): void
{
$generator = new TestGenerator();
$generator->generate(1, 1);
@@ -40,24 +40,24 @@ public function testRunningFewerTestsThanTheWorkersIsPossible()
'processes' => 2,
]);
- $this->assertTestsPassed($proc, 1, 1);
+ $this->assertTestsPassed($proc, '1', '1');
}
- public function testExitCodes()
+ public function testExitCodes(): void
{
$options = [
'runner' => 'SqliteRunner',
'processes' => 1,
];
- $proc = $this->invokeParatest('wrapper-runner-exit-code-tests/ErrorTest.php', $options);
- $output = $proc->getOutput();
+ $proc = $this->invokeParatest('wrapper-runner-exit-code-tests/ErrorTest.php', $options);
+ $output = $proc->getOutput();
$this->assertStringContainsString('Tests: 1', $output);
$this->assertStringContainsString('Failures: 0', $output);
$this->assertStringContainsString('Errors: 1', $output);
$this->assertEquals(2, $proc->getExitCode());
- $proc = $this->invokeParatest('wrapper-runner-exit-code-tests/FailureTest.php', $options);
+ $proc = $this->invokeParatest('wrapper-runner-exit-code-tests/FailureTest.php', $options);
$output = $proc->getOutput();
$this->assertStringContainsString('Tests: 1', $output);
@@ -65,15 +65,15 @@ public function testExitCodes()
$this->assertStringContainsString('Errors: 0', $output);
$this->assertEquals(1, $proc->getExitCode());
- $proc = $this->invokeParatest('wrapper-runner-exit-code-tests/SuccessTest.php', $options);
+ $proc = $this->invokeParatest('wrapper-runner-exit-code-tests/SuccessTest.php', $options);
$output = $proc->getOutput();
$this->assertStringContainsString('OK (1 test, 1 assertion)', $output);
$this->assertEquals(0, $proc->getExitCode());
$options['processes'] = 3;
- $proc = $this->invokeParatest('wrapper-runner-exit-code-tests', $options);
- $output = $proc->getOutput();
+ $proc = $this->invokeParatest('wrapper-runner-exit-code-tests', $options);
+ $output = $proc->getOutput();
$this->assertStringContainsString('Tests: 3', $output);
$this->assertStringContainsString('Failures: 1', $output);
$this->assertStringContainsString('Errors: 1', $output);
diff --git a/test/Functional/TestGenerator.php b/test/Functional/TestGenerator.php
index 0097ffe..c2ef839 100644
--- a/test/Functional/TestGenerator.php
+++ b/test/Functional/TestGenerator.php
@@ -4,22 +4,31 @@
namespace ParaTest\Tests\Functional;
+use function file_put_contents;
+use function is_dir;
+use function mkdir;
+use function uniqid;
+
class TestGenerator
{
+ /** @var string */
public $path;
+ /** @var string */
private $fullPath;
public function __construct()
{
- $this->path = 'generated-tests' . DS . uniqid();
+ $this->path = 'generated-tests' . DS . uniqid();
$this->fullPath = FIXTURES . DS . $this->path;
- if (!is_dir($this->fullPath)) {
- mkdir($this->fullPath, 0777, true);
+ if (is_dir($this->fullPath)) {
+ return;
}
+
+ mkdir($this->fullPath, 0777, true);
}
- public function generate($tests = 1, $methods = 1)
+ public function generate(int $tests = 1, int $methods = 1): void
{
for ($i = 0; $i < $tests; ++$i) {
$name = "Generated{$i}Test";
@@ -28,12 +37,12 @@ public function generate($tests = 1, $methods = 1)
}
}
- private function generateTestString($testName, $methods = 1)
+ private function generateTestString(string $testName, int $methods = 1): string
{
$php = '<' . "?php\n\nclass $testName extends PHPUnit\\Framework\\TestCase\n{\n";
for ($i = 0; $i < $methods; ++$i) {
- $php .= "\tpublic function testMethod{$i}(){";
+ $php .= "\tpublic function testMethod{$i}(): void{";
$php .= "\$this->assertTrue(true);}\n";
}
diff --git a/test/Functional/WrapperRunnerTest.php b/test/Functional/WrapperRunnerTest.php
index 0a569b9..03bfae7 100644
--- a/test/Functional/WrapperRunnerTest.php
+++ b/test/Functional/WrapperRunnerTest.php
@@ -4,13 +4,16 @@
namespace ParaTest\Tests\Functional;
+/**
+ * @requires OSFAMILY Linux
+ */
class WrapperRunnerTest extends FunctionalTestBase
{
private const TEST_METHODS_PER_CLASS = 5;
private const TEST_CLASSES = 6;
- public function testResultsAreCorrect()
+ public function testResultsAreCorrect(): void
{
$generator = new TestGenerator();
$generator->generate(self::TEST_CLASSES, self::TEST_METHODS_PER_CLASS);
@@ -21,10 +24,10 @@ public function testResultsAreCorrect()
]);
$expected = self::TEST_CLASSES * self::TEST_METHODS_PER_CLASS;
- $this->assertTestsPassed($proc, $expected, $expected);
+ $this->assertTestsPassed($proc, (string) $expected, (string) $expected);
}
- public function testRunningFewerTestsThanTheWorkersIsPossible()
+ public function testRunningFewerTestsThanTheWorkersIsPossible(): void
{
$generator = new TestGenerator();
$generator->generate(1, 1);
@@ -34,34 +37,24 @@ public function testRunningFewerTestsThanTheWorkersIsPossible()
'processes' => 2,
]);
- $this->assertTestsPassed($proc, 1, 1);
+ $this->assertTestsPassed($proc, '1', '1');
}
- public function functionalModeEnabledDataProvider()
- {
- return [[false]];
- }
-
- /**
- * @dataProvider functionalModeEnabledDataProvider
- *
- * @param mixed $functionalModeEnabled
- */
- public function testExitCodes($functionalModeEnabled)
+ public function testExitCodes(): void
{
$options = [
'runner' => 'WrapperRunner',
'processes' => 1,
];
- $proc = $this->invokeParatest('wrapper-runner-exit-code-tests/ErrorTest.php', $options);
- $output = $proc->getOutput();
+ $proc = $this->invokeParatest('wrapper-runner-exit-code-tests/ErrorTest.php', $options);
+ $output = $proc->getOutput();
$this->assertStringContainsString('Tests: 1', $output);
$this->assertStringContainsString('Failures: 0', $output);
$this->assertStringContainsString('Errors: 1', $output);
$this->assertEquals(2, $proc->getExitCode());
- $proc = $this->invokeParatest('wrapper-runner-exit-code-tests/FailureTest.php', $options);
+ $proc = $this->invokeParatest('wrapper-runner-exit-code-tests/FailureTest.php', $options);
$output = $proc->getOutput();
$this->assertStringContainsString('Tests: 1', $output);
@@ -69,15 +62,15 @@ public function testExitCodes($functionalModeEnabled)
$this->assertStringContainsString('Errors: 0', $output);
$this->assertEquals(1, $proc->getExitCode());
- $proc = $this->invokeParatest('wrapper-runner-exit-code-tests/SuccessTest.php', $options);
+ $proc = $this->invokeParatest('wrapper-runner-exit-code-tests/SuccessTest.php', $options);
$output = $proc->getOutput();
$this->assertStringContainsString('OK (1 test, 1 assertion)', $output);
$this->assertEquals(0, $proc->getExitCode());
$options['processes'] = 3;
- $proc = $this->invokeParatest('wrapper-runner-exit-code-tests', $options);
- $output = $proc->getOutput();
+ $proc = $this->invokeParatest('wrapper-runner-exit-code-tests', $options);
+ $output = $proc->getOutput();
$this->assertStringContainsString('Tests: 3', $output);
$this->assertStringContainsString('Failures: 1', $output);
$this->assertStringContainsString('Errors: 1', $output);
diff --git a/test/TestBase.php b/test/TestBase.php
index d3f9e5f..05d5692 100644
--- a/test/TestBase.php
+++ b/test/TestBase.php
@@ -6,65 +6,90 @@
use Exception;
use PHPUnit;
+use PHPUnit\Framework\SkippedTestError;
use PHPUnit\Runner\Version;
use RecursiveDirectoryIterator;
use RecursiveIteratorIterator;
use ReflectionClass;
+use ReflectionObject;
+use ReflectionProperty;
use SebastianBergmann\Environment\Runtime;
+use SplFileObject;
+
+use function copy;
+use function file_exists;
+use function get_class;
+use function is_dir;
+use function is_object;
+use function is_string;
+use function preg_match;
+use function rmdir;
+use function str_replace;
+use function uniqid;
+use function unlink;
class TestBase extends PHPUnit\Framework\TestCase
{
/**
* Get PHPUnit version.
- *
- * @return string
*/
- protected static function getPhpUnitVersion()
+ protected static function getPhpUnitVersion(): string
{
return Version::id();
}
- protected function fixture($fixture)
+ protected function fixture(string $fixture): string
{
$fixture = FIXTURES . DS . $fixture;
- if (!file_exists($fixture)) {
+ if (! file_exists($fixture)) {
throw new Exception("Fixture $fixture not found");
}
return $fixture;
}
- protected function findTests($dir)
+ /**
+ * @return string[]
+ */
+ protected function findTests(string $dir): array
{
- $it = new \RecursiveDirectoryIterator($dir, \RecursiveIteratorIterator::SELF_FIRST);
- $it = new \RecursiveIteratorIterator($it);
+ $it = new RecursiveDirectoryIterator($dir, RecursiveIteratorIterator::SELF_FIRST);
+ $it = new RecursiveIteratorIterator($it);
$files = [];
foreach ($it as $file) {
- if (preg_match('/Test\.php$/', $file->getPathname())) {
- $files[] = $file->getPathname();
+ if (! preg_match('/Test\.php$/', $file->getPathname())) {
+ continue;
}
+
+ $files[] = $file->getPathname();
}
return $files;
}
- protected function getObjectValue($object, $property)
+ /**
+ * @return mixed
+ */
+ protected function getObjectValue(object $object, string $property)
{
$prop = $this->getAccessibleProperty($object, $property);
return $prop->getValue($object);
}
- protected function setObjectValue($object, $property, $value)
+ /**
+ * @param mixed $value
+ */
+ protected function setObjectValue(object $object, string $property, $value): void
{
$prop = $this->getAccessibleProperty($object, $property);
- return $prop->setValue($object, $value);
+ $prop->setValue($object, $value);
}
- private function getAccessibleProperty($object, $property)
+ private function getAccessibleProperty(object $object, string $property): ReflectionProperty
{
- $refl = new \ReflectionObject($object);
+ $refl = new ReflectionObject($object);
$prop = $refl->getProperty($property);
$prop->setAccessible(true);
@@ -74,13 +99,13 @@ private function getAccessibleProperty($object, $property)
/**
* Calls an object method even if it is protected or private.
*
- * @param object $object the object to call a method on
+ * @param object $object the object to call a method on
* @param string $methodName the method name to be called
- * @param mixed $args 0 or more arguments passed in the function
+ * @param mixed $args 0 or more arguments passed in the function
*
* @return mixed returns what the object's method call will return
*/
- public function call($object, $methodName, ...$args)
+ public function call(object $object, string $methodName, ...$args)
{
return self::callMethod($object, $methodName, $args);
}
@@ -88,69 +113,75 @@ public function call($object, $methodName, ...$args)
/**
* Calls a class method even if it is protected or private.
*
- * @param string $class the class to call a method on
+ * @param string $class the class to call a method on
* @param string $methodName the method name to be called
- * @param mixed $args 0 or more arguments passed in the function
+ * @param mixed $args 0 or more arguments passed in the function
*
* @return mixed returns what the object's method call will return
*/
- public function callStatic($class, $methodName, ...$args)
+ public function callStatic(string $class, string $methodName, ...$args)
{
return self::callMethod($class, $methodName, $args);
}
- protected static function callMethod($objectOrClassName, $methodName, $args = null)
+ /**
+ * @param string|object $objectOrClassName
+ * @param mixed[]|null $args
+ *
+ * @return mixed
+ */
+ protected static function callMethod($objectOrClassName, string $methodName, ?array $args = null)
{
$isStatic = is_string($objectOrClassName);
- if (!$isStatic) {
- if (!is_object($objectOrClassName)) {
+ if (! $isStatic) {
+ if (! is_object($objectOrClassName)) {
throw new Exception('Method call on non existent object or class');
}
}
- $class = $isStatic ? $objectOrClassName : get_class($objectOrClassName);
+ $class = $isStatic ? $objectOrClassName : get_class($objectOrClassName);
$object = $isStatic ? null : $objectOrClassName;
$reflectionClass = new ReflectionClass($class);
- $method = $reflectionClass->getMethod($methodName);
+ $method = $reflectionClass->getMethod($methodName);
$method->setAccessible(true);
return $method->invokeArgs($object, $args);
}
/**
- * @throws \PHPUnit\Framework\SkippedTestError When code coverage library is not found
+ * @throws SkippedTestError When code coverage library is not found.
*/
- protected static function skipIfCodeCoverageNotEnabled()
+ protected static function skipIfCodeCoverageNotEnabled(): void
{
static $runtime;
- if (null === $runtime) {
+ if ($runtime === null) {
$runtime = new Runtime();
}
- if (!$runtime->canCollectCodeCoverage()) {
- static::markTestSkipped('No code coverage driver available');
+ if ($runtime->canCollectCodeCoverage()) {
+ return;
}
+
+ static::markTestSkipped('No code coverage driver available');
}
/**
* Remove dir and its files.
- *
- * @param string $dirname
*/
- protected function removeDirectory($dirname)
+ protected function removeDirectory(string $dirname): void
{
- if (!file_exists($dirname) || !is_dir($dirname)) {
+ if (! file_exists($dirname) || ! is_dir($dirname)) {
return;
}
- $directory = new \RecursiveDirectoryIterator(
+ $directory = new RecursiveDirectoryIterator(
$dirname,
RecursiveDirectoryIterator::SKIP_DOTS
);
- /** @var \SplFileObject[] $iterator */
- $iterator = new \RecursiveIteratorIterator(
+ /** @var SplFileObject[] $iterator */
+ $iterator = new RecursiveIteratorIterator(
$directory,
RecursiveIteratorIterator::CHILD_FIRST
);
@@ -161,6 +192,7 @@ protected function removeDirectory($dirname)
unlink($file->getRealPath());
}
}
+
rmdir($dirname);
}
@@ -168,14 +200,13 @@ protected function removeDirectory($dirname)
* Copy fixture file to tmp folder, cause coverage file will be deleted by merger.
*
* @param string $fixture Fixture coverage file name
- * @param string $directory
*
* @return string Copied coverage file
*/
- protected function copyCoverageFile($fixture, $directory = '/tmp')
+ protected function copyCoverageFile(string $fixture, string $directory): string
{
$fixturePath = $this->fixture($fixture);
- $filename = str_replace('.', '_', uniqid($directory . '/cov-', true));
+ $filename = str_replace('.', '_', $directory . DS . uniqid('cov-', true));
copy($fixturePath, $filename);
return $filename;
diff --git a/test/Unit/Console/Commands/ParaTestCommandTest.php b/test/Unit/Console/Commands/ParaTestCommandTest.php
index 8f9a00e..5052451 100644
--- a/test/Unit/Console/Commands/ParaTestCommandTest.php
+++ b/test/Unit/Console/Commands/ParaTestCommandTest.php
@@ -7,24 +7,27 @@
use ParaTest\Console\Commands\ParaTestCommand;
use ParaTest\Console\Testers\PHPUnit;
use ParaTest\Console\Testers\Tester;
+use ParaTest\Tests\TestBase;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputDefinition;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
-class ParaTestCommandTest extends \ParaTest\Tests\TestBase
+class ParaTestCommandTest extends TestBase
{
+ /** @var PHPUnit */
protected $tester;
+ /** @var ParaTestCommand */
protected $command;
public function setUp(): void
{
- $this->tester = new PHPUnit();
+ $this->tester = new PHPUnit();
$this->command = new ParaTestCommand($this->tester);
}
- public function testConstructor()
+ public function testConstructor(): void
{
$this->assertEquals('paratest', $this->command->getName());
$this->assertSame($this->tester, $this->getObjectValue($this->command, 'tester'));
@@ -34,9 +37,9 @@ public function testConstructor()
* Should be configured from the ParaTest command
* as well as the Tester it is composed of.
*/
- public function testConfiguredDefinitionWithPHPUnitTester()
+ public function testConfiguredDefinitionWithPHPUnitTester(): void
{
- $options = [
+ $options = [
new InputOption(
'processes',
'p',
@@ -192,14 +195,14 @@ public function testConfiguredDefinitionWithPHPUnitTester()
'Directory to add to the coverage whitelist.'
),
];
- $expected = new InputDefinition($options);
+ $expected = new InputDefinition($options);
$definition = $this->command->getDefinition();
$this->assertEquals($expected, $definition);
}
- public function testExecuteInvokesTestersExecuteMethod()
+ public function testExecuteInvokesTestersExecuteMethod(): void
{
- $input = $this->getMockBuilder(InputInterface::class)->getMock();
+ $input = $this->getMockBuilder(InputInterface::class)->getMock();
$output = $this->getMockBuilder(OutputInterface::class)->getMock();
$tester = $this->getMockBuilder(Tester::class)->getMock();
$tester
@@ -208,8 +211,7 @@ public function testExecuteInvokesTestersExecuteMethod()
->with(
$this->equalTo($input),
$this->equalTo($output)
- )
- ;
+ );
$command = new ParaTestCommand($tester);
$command->execute($input, $output);
}
diff --git a/test/Unit/Console/Testers/PHPUnitTest.php b/test/Unit/Console/Testers/PHPUnitTest.php
index 0d47488..8e2a660 100644
--- a/test/Unit/Console/Testers/PHPUnitTest.php
+++ b/test/Unit/Console/Testers/PHPUnitTest.php
@@ -5,16 +5,19 @@
namespace ParaTest\Tests\Unit\Console\Testers;
use ParaTest\Console\Testers\PHPUnit;
+use ParaTest\Tests\TestBase;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputDefinition;
use Symfony\Component\Console\Input\InputOption;
-class PHPUnitTest extends \ParaTest\Tests\TestBase
+use function getcwd;
+
+class PHPUnitTest extends TestBase
{
- public function testConfigureAddsOptionsAndArgumentsToCommand()
+ public function testConfigureAddsOptionsAndArgumentsToCommand(): void
{
$testCommand = new TestCommand();
- $definition = new InputDefinition([
+ $definition = new InputDefinition([
new InputOption(
'phpunit',
null,
@@ -67,16 +70,16 @@ public function testConfigureAddsOptionsAndArgumentsToCommand()
new InputOption('path', null, InputOption::VALUE_REQUIRED, 'An alias for the path argument.'),
new InputOption('testsuite', null, InputOption::VALUE_OPTIONAL, 'Filter which testsuite to run'),
]);
- $tester = new PHPUnit();
+ $tester = new PHPUnit();
$tester->configure($testCommand);
$this->assertEquals($definition, $testCommand->getDefinition());
}
- public function testRequireBootstrapIsChdirResistent()
+ public function testRequireBootstrapIsChdirResistent(): void
{
- $file = __DIR__ . '/../../../fixtures/chdirBootstrap.php';
+ $file = __DIR__ . '/../../../fixtures/chdirBootstrap.php';
$tester = new PHPUnit();
- $cwd = getcwd();
+ $cwd = getcwd();
$tester->requireBootstrap($file);
$this->assertEquals($cwd, getcwd());
diff --git a/test/Unit/Console/VersionProviderTest.php b/test/Unit/Console/VersionProviderTest.php
index bd513ff..e24e7fa 100644
--- a/test/Unit/Console/VersionProviderTest.php
+++ b/test/Unit/Console/VersionProviderTest.php
@@ -8,42 +8,32 @@
use PHPUnit\Framework\TestCase;
/**
- * Class VersionProviderTest.
- *
* @covers \ParaTest\Console\VersionProvider
*/
class VersionProviderTest extends TestCase
{
- public function testCreation()
+ public function testCreation(): void
{
$provider = new VersionProvider();
$this->assertInstanceOf(VersionProvider::class, $provider);
}
- public function testStaticCall()
+ public function testStaticCall(): void
{
$provider = new VersionProvider();
$this->assertSame($provider::getVersion(), $provider->getParaTestVersion());
}
- public function testComposerInstalledVersion()
+ public function testComposerInstalledVersion(): void
{
$provider = new VersionProvider();
- $actual = $provider->getComposerInstalledVersion('phpunit/phpunit');
+ $actual = $provider->getComposerInstalledVersion('phpunit/phpunit');
$this->assertIsString($actual, 'Version of phpunit package was found installed');
// dev-master is included here as the phpunit package is checked and there is a dev-master used on travis
- $this->assertRegExp("~^dev-master|\d.\d.(.)+$~", $actual, 'Actual version number');
+ $this->assertMatchesRegularExpression('~^dev-master|\d.\d.(.)+$~', $actual, 'Actual version number');
$actual = $provider->getComposerInstalledVersion('foooo/barazzoraz');
$this->assertNull($actual, 'No version for non-existent package');
}
-
- public function testGitVersion()
- {
- $provider = new VersionProvider();
- $actual = $provider->getGitVersion();
- $this->assertIsString($actual, 'Git is enabled and works');
- $this->assertRegExp("~^\d.\d(?:.\d+)?(?:-\d+-g[\da-f]+)?$~", $actual, 'Git gives a version');
- }
}
diff --git a/test/Unit/Coverage/CoverageMergerTest.php b/test/Unit/Coverage/CoverageMergerTest.php
index 5ccc94f..9e9b325 100644
--- a/test/Unit/Coverage/CoverageMergerTest.php
+++ b/test/Unit/Coverage/CoverageMergerTest.php
@@ -5,10 +5,15 @@
namespace ParaTest\Tests\Unit\Coverage;
use ParaTest\Coverage\CoverageMerger;
+use ParaTest\Tests\TestBase;
use SebastianBergmann\CodeCoverage\CodeCoverage;
+use SebastianBergmann\CodeCoverage\Driver\Driver;
use SebastianBergmann\CodeCoverage\Filter;
+use SebastianBergmann\CodeCoverage\RawCodeCoverageData;
-class CoverageMergerTest extends \ParaTest\Tests\TestBase
+use function assert;
+
+class CoverageMergerTest extends TestBase
{
protected function setUp(): void
{
@@ -20,31 +25,35 @@ protected function setUp(): void
*
* @requires function \SebastianBergmann\CodeCoverage\CodeCoverage::merge
*/
- public function testSimpleMerge()
+ public function testSimpleMerge(): void
{
- $firstFile = PARATEST_ROOT . '/src/Logging/LogInterpreter.php';
- $secondFile = PARATEST_ROOT . '/src/Logging/MetaProvider.php';
+ $firstFile = PARATEST_ROOT . DS . 'src' . DS . 'Logging' . DS . 'LogInterpreter.php';
+ $secondFile = PARATEST_ROOT . DS . 'src' . DS . 'Logging' . DS . 'MetaProvider.php';
// Every time the two above files are changed, the line numbers
// may change, and so these two numbers may need adjustments
- $firstFileFirstLine = 39;
- $secondFileFirstLine = 39;
+ $firstFileFirstLine = 46;
+ $secondFileFirstLine = 53;
$filter = new Filter();
- $filter->addFilesToWhitelist([$firstFile, $secondFile]);
- $coverage1 = new CodeCoverage(null, $filter);
+ $filter->includeFiles([$firstFile, $secondFile]);
+
+ $data = RawCodeCoverageData::fromXdebugWithoutPathCoverage([
+ $firstFile => [$firstFileFirstLine => 1],
+ $secondFile => [$secondFileFirstLine => 1],
+ ]);
+ $coverage1 = new CodeCoverage(Driver::forLineCoverage($filter), $filter);
$coverage1->append(
- [
- $firstFile => [$firstFileFirstLine => 1],
- $secondFile => [$secondFileFirstLine => 1],
- ],
+ $data,
'Test1'
);
- $coverage2 = new CodeCoverage(null, $filter);
+
+ $data = RawCodeCoverageData::fromXdebugWithoutPathCoverage([
+ $firstFile => [$firstFileFirstLine => 1, 1 + $firstFileFirstLine => 1],
+ ]);
+ $coverage2 = new CodeCoverage(Driver::forLineCoverage($filter), $filter);
$coverage2->append(
- [
- $firstFile => [$firstFileFirstLine => 1, 1 + $firstFileFirstLine => 1],
- ],
+ $data,
'Test2'
);
@@ -52,12 +61,12 @@ public function testSimpleMerge()
$this->call($merger, 'addCoverage', $coverage1);
$this->call($merger, 'addCoverage', $coverage2);
- /** @var CodeCoverage $coverage */
$coverage = $this->getObjectValue($merger, 'coverage');
+ assert($coverage instanceof CodeCoverage);
$this->assertInstanceOf(CodeCoverage::class, $coverage);
- $data = $coverage->getData();
+ $data = $coverage->getData()->lineCoverage();
$this->assertCount(2, $data[$firstFile][$firstFileFirstLine]);
$this->assertEquals('Test1', $data[$firstFile][$firstFileFirstLine][0]);
@@ -72,31 +81,35 @@ public function testSimpleMerge()
*
* @requires function \SebastianBergmann\CodeCoverage\CodeCoverage::merge
*/
- public function testSimpleMergeLimited()
+ public function testSimpleMergeLimited(): void
{
- $firstFile = PARATEST_ROOT . '/src/Logging/LogInterpreter.php';
- $secondFile = PARATEST_ROOT . '/src/Logging/MetaProvider.php';
+ $firstFile = PARATEST_ROOT . DS . 'src' . DS . 'Logging' . DS . 'LogInterpreter.php';
+ $secondFile = PARATEST_ROOT . DS . 'src' . DS . 'Logging' . DS . 'MetaProvider.php';
// Every time the two above files are changed, the line numbers
// may change, and so these two numbers may need adjustments
- $firstFileFirstLine = 39;
- $secondFileFirstLine = 39;
+ $firstFileFirstLine = 46;
+ $secondFileFirstLine = 53;
$filter = new Filter();
- $filter->addFilesToWhitelist([$firstFile, $secondFile]);
- $coverage1 = new CodeCoverage(null, $filter);
+ $filter->includeFiles([$firstFile, $secondFile]);
+
+ $data = RawCodeCoverageData::fromXdebugWithoutPathCoverage([
+ $firstFile => [$firstFileFirstLine => 1],
+ $secondFile => [$secondFileFirstLine => 1],
+ ]);
+ $coverage1 = new CodeCoverage(Driver::forLineCoverage($filter), $filter);
$coverage1->append(
- [
- $firstFile => [$firstFileFirstLine => 1],
- $secondFile => [$secondFileFirstLine => 1],
- ],
+ $data,
'Test1'
);
- $coverage2 = new CodeCoverage(null, $filter);
+
+ $data = RawCodeCoverageData::fromXdebugWithoutPathCoverage([
+ $firstFile => [$firstFileFirstLine => 1, 1 + $firstFileFirstLine => 1],
+ ]);
+ $coverage2 = new CodeCoverage(Driver::forLineCoverage($filter), $filter);
$coverage2->append(
- [
- $firstFile => [$firstFileFirstLine => 1, 1 + $firstFileFirstLine => 1],
- ],
+ $data,
'Test2'
);
@@ -104,11 +117,11 @@ public function testSimpleMergeLimited()
$this->call($merger, 'addCoverage', $coverage1);
$this->call($merger, 'addCoverage', $coverage2);
- /** @var CodeCoverage $coverage */
$coverage = $this->getObjectValue($merger, 'coverage');
+ assert($coverage instanceof CodeCoverage);
$this->assertInstanceOf(CodeCoverage::class, $coverage);
- $data = $coverage->getData();
+ $data = $coverage->getData()->lineCoverage();
$this->assertCount(1, $data[$firstFile][$firstFileFirstLine]);
$this->assertCount(1, $data[$secondFile][$secondFileFirstLine]);
diff --git a/test/Unit/Logging/JUnit/ReaderTest.php b/test/Unit/Logging/JUnit/ReaderTest.php
index e0ed6e9..df2fbbb 100644
--- a/test/Unit/Logging/JUnit/ReaderTest.php
+++ b/test/Unit/Logging/JUnit/ReaderTest.php
@@ -4,46 +4,59 @@
namespace ParaTest\Tests\Unit\Logging\JUnit;
+use InvalidArgumentException;
use ParaTest\Logging\JUnit\Reader;
+use ParaTest\Logging\JUnit\TestSuite;
+use ParaTest\Tests\TestBase;
use PHPUnit\Framework\ExpectationFailedException;
+use stdClass;
-class ReaderTest extends \ParaTest\Tests\TestBase
+use function file_get_contents;
+use function file_put_contents;
+
+class ReaderTest extends TestBase
{
+ /** @var string */
protected $mixedPath;
+ /** @var Reader */
protected $mixed;
+ /** @var Reader */
protected $single;
+ /** @var Reader */
protected $empty;
+ /** @var Reader */
+ protected $multi_errors;
public function setUp(): void
{
- $this->mixedPath = FIXTURES . DS . 'results' . DS . 'mixed-results.xml';
- $this->mixed = new Reader($this->mixedPath);
- $single = FIXTURES . DS . 'results' . DS . 'single-wfailure.xml';
- $this->single = new Reader($single);
- $empty = FIXTURES . DS . 'results' . DS . 'empty-test-suite.xml';
- $this->empty = new Reader($empty);
- $multi_errors = FIXTURES . DS . 'results' . DS . 'multiple-errors-with-system-out.xml';
+ $this->mixedPath = FIXTURES . DS . 'results' . DS . 'mixed-results.xml';
+ $this->mixed = new Reader($this->mixedPath);
+ $single = FIXTURES . DS . 'results' . DS . 'single-wfailure.xml';
+ $this->single = new Reader($single);
+ $empty = FIXTURES . DS . 'results' . DS . 'empty-test-suite.xml';
+ $this->empty = new Reader($empty);
+ $multi_errors = FIXTURES . DS . 'results' . DS . 'multiple-errors-with-system-out.xml';
$this->multi_errors = new Reader($multi_errors);
}
- public function testInvalidPathThrowsException()
+ public function testInvalidPathThrowsException(): void
{
- $this->expectException(\InvalidArgumentException::class);
+ $this->expectException(InvalidArgumentException::class);
$reader = new Reader('/path/to/nowhere');
}
- public function testIsSingleSuiteReturnsTrueForSingleSuite()
+ public function testIsSingleSuiteReturnsTrueForSingleSuite(): void
{
$this->assertTrue($this->single->isSingleSuite());
}
- public function testIsSingleSuiteReturnsFalseForMultipleSuites()
+ public function testIsSingleSuiteReturnsFalseForMultipleSuites(): void
{
$this->assertFalse($this->mixed->isSingleSuite());
}
- public function testMixedSuiteShouldConstructRootSuite()
+ public function testMixedSuiteShouldConstructRootSuite(): TestSuite
{
$suites = $this->mixed->getSuites();
$this->assertCount(1, $suites);
@@ -59,10 +72,8 @@ public function testMixedSuiteShouldConstructRootSuite()
/**
* @depends testMixedSuiteShouldConstructRootSuite
- *
- * @param mixed $suite
*/
- public function testMixedSuiteConstructsChildSuites($suite)
+ public function testMixedSuiteConstructsChildSuites(TestSuite $suite): TestSuite
{
$this->assertCount(3, $suite->suites);
$first = $suite->suites[0];
@@ -82,10 +93,8 @@ public function testMixedSuiteConstructsChildSuites($suite)
/**
* @depends testMixedSuiteConstructsChildSuites
- *
- * @param mixed $suite
*/
- public function testMixedSuiteConstructsTestCases($suite)
+ public function testMixedSuiteConstructsTestCases(TestSuite $suite): void
{
$this->assertCount(3, $suite->cases);
$first = $suite->cases[0];
@@ -100,35 +109,35 @@ public function testMixedSuiteConstructsTestCases($suite)
$this->assertEquals('0.001760', $first->time);
}
- public function testMixedSuiteCasesLoadFailures()
+ public function testMixedSuiteCasesLoadFailures(): void
{
$suites = $this->mixed->getSuites();
- $case = $suites[0]->suites[0]->cases[1];
+ $case = $suites[0]->suites[0]->cases[1];
$this->assertCount(1, $case->failures);
$failure = $case->failures[0];
$this->assertEquals(ExpectationFailedException::class, $failure['type']);
$this->assertEquals(
"UnitTestWithClassAnnotationTest::testFalsehood\nFailed asserting that true is false.\n\n" .
- "/home/brian/Projects/parallel-phpunit/test/fixtures/tests/UnitTestWithClassAnnotationTest.php:20",
+ '/home/brian/Projects/parallel-phpunit/test/fixtures/tests/UnitTestWithClassAnnotationTest.php:20',
$failure['text']
);
}
- public function testMixedSuiteCasesLoadErrors()
+ public function testMixedSuiteCasesLoadErrors(): void
{
$suites = $this->mixed->getSuites();
- $case = $suites[0]->suites[1]->cases[0];
+ $case = $suites[0]->suites[1]->cases[0];
$this->assertCount(1, $case->errors);
$error = $case->errors[0];
$this->assertEquals('Exception', $error['type']);
$this->assertEquals(
"UnitTestWithErrorTest::testTruth\nException: Error!!!\n\n" .
- "/home/brian/Projects/parallel-phpunit/test/fixtures/tests/UnitTestWithErrorTest.php:12",
+ '/home/brian/Projects/parallel-phpunit/test/fixtures/tests/UnitTestWithErrorTest.php:12',
$error['text']
);
}
- public function testSingleSuiteShouldConstructRootSuite()
+ public function testSingleSuiteShouldConstructRootSuite(): TestSuite
{
$suites = $this->single->getSuites();
$this->assertCount(1, $suites);
@@ -147,21 +156,21 @@ public function testSingleSuiteShouldConstructRootSuite()
}
/**
- * @depends testSingleSuiteShouldConstructRootSuite
- *
* @param mixed $suite
+ *
+ * @depends testSingleSuiteShouldConstructRootSuite
*/
- public function testSingleSuiteShouldHaveNoChildSuites($suite)
+ public function testSingleSuiteShouldHaveNoChildSuites($suite): void
{
$this->assertCount(0, $suite->suites);
}
/**
- * @depends testSingleSuiteShouldConstructRootSuite
- *
* @param mixed $suite
+ *
+ * @depends testSingleSuiteShouldConstructRootSuite
*/
- public function testSingleSuiteConstructsTestCases($suite)
+ public function testSingleSuiteConstructsTestCases($suite): void
{
$this->assertCount(3, $suite->cases);
$first = $suite->cases[0];
@@ -176,21 +185,21 @@ public function testSingleSuiteConstructsTestCases($suite)
$this->assertEquals('0.001632', $first->time);
}
- public function testSingleSuiteCasesLoadFailures()
+ public function testSingleSuiteCasesLoadFailures(): void
{
$suites = $this->single->getSuites();
- $case = $suites[0]->cases[1];
+ $case = $suites[0]->cases[1];
$this->assertCount(1, $case->failures);
$failure = $case->failures[0];
$this->assertEquals(ExpectationFailedException::class, $failure['type']);
$this->assertEquals(
"UnitTestWithMethodAnnotationsTest::testFalsehood\nFailed asserting that true is false.\n\n" .
- "/home/brian/Projects/parallel-phpunit/test/fixtures/tests/UnitTestWithMethodAnnotationsTest.php:18",
+ '/home/brian/Projects/parallel-phpunit/test/fixtures/tests/UnitTestWithMethodAnnotationsTest.php:18',
$failure['text']
);
}
- public function testEmptySuiteConstructsTestCase()
+ public function testEmptySuiteConstructsTestCase(): void
{
$suites = $this->empty->getSuites();
$this->assertCount(1, $suites);
@@ -205,7 +214,7 @@ public function testEmptySuiteConstructsTestCase()
$this->assertEquals(0, $suite->time);
}
- public function testMixedGetTotals()
+ public function testMixedGetTotals(): void
{
$this->assertEquals(7, $this->mixed->getTotalTests());
$this->assertEquals(6, $this->mixed->getTotalAssertions());
@@ -214,7 +223,7 @@ public function testMixedGetTotals()
$this->assertEquals(0.007625, $this->mixed->getTotalTime());
}
- public function testSingleGetTotals()
+ public function testSingleGetTotals(): void
{
$this->assertEquals(3, $this->single->getTotalTests());
$this->assertEquals(3, $this->single->getTotalAssertions());
@@ -223,41 +232,41 @@ public function testSingleGetTotals()
$this->assertEquals(0.005895, $this->single->getTotalTime());
}
- public function testMixedGetFailureMessages()
+ public function testMixedGetFailureMessages(): void
{
$failures = $this->mixed->getFailures();
$this->assertCount(2, $failures);
$this->assertEquals(
"UnitTestWithClassAnnotationTest::testFalsehood\nFailed asserting that true is false.\n\n" .
- "/home/brian/Projects/parallel-phpunit/test/fixtures/tests/UnitTestWithClassAnnotationTest.php:20",
+ '/home/brian/Projects/parallel-phpunit/test/fixtures/tests/UnitTestWithClassAnnotationTest.php:20',
$failures[0]
);
$this->assertEquals(
"UnitTestWithMethodAnnotationsTest::testFalsehood\nFailed asserting that true is false." .
"\n\n/home/brian/Projects/parallel-phpunit/test/fixtures/tests/UnitTestWithMethodAnnotationsTest." .
- "php:18",
+ 'php:18',
$failures[1]
);
}
- public function testMixedGetErrorMessages()
+ public function testMixedGetErrorMessages(): void
{
$errors = $this->mixed->getErrors();
$this->assertCount(1, $errors);
$this->assertEquals(
"UnitTestWithErrorTest::testTruth\nException: Error!!!\n\n" .
- "/home/brian/Projects/parallel-phpunit/test/fixtures/tests/UnitTestWithErrorTest.php:12",
+ '/home/brian/Projects/parallel-phpunit/test/fixtures/tests/UnitTestWithErrorTest.php:12',
$errors[0]
);
}
- public function testSingleGetMessages()
+ public function testSingleGetMessages(): void
{
$failures = $this->single->getFailures();
$this->assertCount(1, $failures);
$this->assertEquals(
"UnitTestWithMethodAnnotationsTest::testFalsehood\nFailed asserting that true is false.\n\n" .
- "/home/brian/Projects/parallel-phpunit/test/fixtures/tests/UnitTestWithMethodAnnotationsTest.php:18",
+ '/home/brian/Projects/parallel-phpunit/test/fixtures/tests/UnitTestWithMethodAnnotationsTest.php:18',
$failures[0]
);
}
@@ -265,7 +274,7 @@ public function testSingleGetMessages()
/**
* https://github.com/paratestphp/paratest/issues/352
*/
- public function testGetMultiErrorsMessages()
+ public function testGetMultiErrorsMessages(): void
{
$errors = $this->multi_errors->getErrors();
$this->assertCount(2, $errors);
@@ -273,60 +282,58 @@ public function testGetMultiErrorsMessages()
"Risky Test\n" .
"/project/vendor/phpunit/phpunit/src/TextUI/Command.php:200\n" .
"/project/vendor/phpunit/phpunit/src/TextUI/Command.php:159\n" .
- "Custom error log on result test with multiple errors!",
+ 'Custom error log on result test with multiple errors!',
$errors[0]
);
$this->assertEquals(
"Risky Test\n" .
"/project/vendor/phpunit/phpunit/src/TextUI/Command.php:200\n" .
"/project/vendor/phpunit/phpunit/src/TextUI/Command.php:159\n" .
- "Custom error log on result test with multiple errors!",
+ 'Custom error log on result test with multiple errors!',
$errors[1]
);
}
- public function testMixedGetFeedback()
+ public function testMixedGetFeedback(): void
{
- $totalCases = 7;
- $casesProcessed = 0;
- $feedback = $this->mixed->getFeedback($totalCases, $casesProcessed);
+ $feedback = $this->mixed->getFeedback();
$this->assertEquals(['.', 'F', '.', 'E', '.', 'F', '.'], $feedback);
}
- public function testRemoveLog()
+ public function testRemoveLog(): void
{
$contents = file_get_contents($this->mixedPath);
- $tmp = FIXTURES . DS . 'results' . DS . 'dummy.xml';
+ $tmp = FIXTURES . DS . 'results' . DS . 'dummy.xml';
file_put_contents($tmp, $contents);
$reader = new Reader($tmp);
$reader->removeLog();
- $this->assertFileNotExists($tmp);
+ $this->assertFileDoesNotExist($tmp);
}
/**
* Extraction of log from xml file to use in test of validation "SystemOut" result.
*
- * @return \stdClass $log
+ * @return stdClass $log
*/
- public static function extractLog()
+ public static function extractLog(): stdClass
{
- $log = new \stdClass();
- $result = FIXTURES . DS . 'results' . DS . 'mixed-results-with-system-out.xml';
- $node = new Reader($result);
+ $log = new stdClass();
+ $result = FIXTURES . DS . 'results' . DS . 'mixed-results-with-system-out.xml';
+ $node = new Reader($result);
$log->failure = $node->getSuites()[0]->suites[0]->cases[1]->failures[0]['text'];
- $log->error = $node->getSuites()[0]->suites[1]->cases[0]->errors[0]['text'];
+ $log->error = $node->getSuites()[0]->suites[1]->cases[0]->errors[0]['text'];
return $log;
}
- public function testResultWithSystemOut()
+ public function testResultWithSystemOut(): void
{
- $customLog = "\nCustom error log on result test with ";
- $result = FIXTURES . DS . 'results' . DS . 'mixed-results-with-system-out.xml';
- $failLog = self::extractLog()->failure . $customLog . 'failure!';
- $errorLog = self::extractLog()->error . $customLog . 'error!';
- $node = new Reader($result);
- $resultFail = $node->getSuites()[0]->suites[2]->cases[1]->failures[0]['text'];
+ $customLog = "\nCustom error log on result test with ";
+ $result = FIXTURES . DS . 'results' . DS . 'mixed-results-with-system-out.xml';
+ $failLog = self::extractLog()->failure . $customLog . 'failure!';
+ $errorLog = self::extractLog()->error . $customLog . 'error!';
+ $node = new Reader($result);
+ $resultFail = $node->getSuites()[0]->suites[2]->cases[1]->failures[0]['text'];
$resultError = $node->getSuites()[0]->suites[1]->cases[1]->errors[0]['text'];
$this->assertEquals($failLog, $resultFail);
diff --git a/test/Unit/Logging/JUnit/WriterTest.php b/test/Unit/Logging/JUnit/WriterTest.php
index 21ec331..c4631bd 100644
--- a/test/Unit/Logging/JUnit/WriterTest.php
+++ b/test/Unit/Logging/JUnit/WriterTest.php
@@ -7,23 +7,29 @@
use ParaTest\Logging\JUnit\Reader;
use ParaTest\Logging\JUnit\Writer;
use ParaTest\Logging\LogInterpreter;
+use ParaTest\Tests\TestBase;
-class WriterTest extends \ParaTest\Tests\TestBase
+use function file_exists;
+use function file_get_contents;
+use function unlink;
+
+class WriterTest extends TestBase
{
+ /** @var Writer */
protected $writer;
-
/** @var LogInterpreter */
protected $interpreter;
+ /** @var string */
protected $passing;
public function setUp(): void
{
$this->interpreter = new LogInterpreter();
- $this->writer = new Writer($this->interpreter, 'test/fixtures/tests/');
- $this->passing = FIXTURES . DS . 'results' . DS . 'single-passing.xml';
+ $this->writer = new Writer($this->interpreter, 'test/fixtures/tests/');
+ $this->passing = FIXTURES . DS . 'results' . DS . 'single-passing.xml';
}
- public function testConstructor()
+ public function testConstructor(): void
{
$this->assertInstanceOf(
LogInterpreter::class,
@@ -32,45 +38,47 @@ public function testConstructor()
$this->assertEquals('test/fixtures/tests/', $this->writer->getName());
}
- public function testSingleFileLog()
+ public function testSingleFileLog(): void
{
$this->addPassingReader();
$xml = $this->writer->getXml();
$this->assertXmlStringEqualsXmlString(file_get_contents($this->passing), $xml);
}
- public function testMixedFileLog()
+ public function testMixedFileLog(): void
{
- $mixed = FIXTURES . DS . 'results' . DS . 'mixed-results.xml';
+ $mixed = FIXTURES . DS . 'results' . DS . 'mixed-results.xml';
$reader = new Reader($mixed);
$this->interpreter->addReader($reader);
$writer = new Writer($this->interpreter, 'test/fixtures/tests/');
- $xml = $writer->getXml();
+ $xml = $writer->getXml();
$this->assertXmlStringEqualsXmlString(file_get_contents($mixed), $xml);
}
- public function testDataProviderWithSpecialCharacters()
+ public function testDataProviderWithSpecialCharacters(): void
{
- $mixed = FIXTURES . DS . 'results' . DS . 'data-provider-with-special-chars.xml';
+ $mixed = FIXTURES . DS . 'results' . DS . 'data-provider-with-special-chars.xml';
$reader = new Reader($mixed);
$this->interpreter->addReader($reader);
$writer = new Writer($this->interpreter, 'test/fixtures/tests/');
- $xml = $writer->getXml();
+ $xml = $writer->getXml();
$this->assertXmlStringEqualsXmlString(file_get_contents($mixed), $xml);
}
- public function testWrite()
+ public function testWrite(): void
{
$output = FIXTURES . DS . 'logs' . DS . 'passing.xml';
$this->addPassingReader();
$this->writer->write($output);
$this->assertXmlStringEqualsXmlString(file_get_contents($this->passing), file_get_contents($output));
- if (file_exists($output)) {
- unlink($output);
+ if (! file_exists($output)) {
+ return;
}
+
+ unlink($output);
}
- protected function addPassingReader()
+ protected function addPassingReader(): void
{
$reader = new Reader($this->passing);
$this->interpreter->addReader($reader);
@@ -80,13 +88,13 @@ protected function addPassingReader()
* Empty line attributes, e.g. line="" breaks Jenkins parsing since it needs to be an integer.
* To repair, ensure that empty line attributes are actually written as 0 instead of empty string.
*/
- public function testThatEmptyLineAttributesConvertToZero()
+ public function testThatEmptyLineAttributesConvertToZero(): void
{
- $mixed = FIXTURES . DS . 'results' . DS . 'junit-example-result.xml';
+ $mixed = FIXTURES . DS . 'results' . DS . 'junit-example-result.xml';
$reader = new Reader($mixed);
$this->interpreter->addReader($reader);
$writer = new Writer($this->interpreter, 'test/fixtures/tests/');
- $xml = $writer->getXml();
+ $xml = $writer->getXml();
$this->assertStringNotContainsString(
'line=""',
diff --git a/test/Unit/Logging/LogInterpreterTest.php b/test/Unit/Logging/LogInterpreterTest.php
index 303e110..65ca9b4 100644
--- a/test/Unit/Logging/LogInterpreterTest.php
+++ b/test/Unit/Logging/LogInterpreterTest.php
@@ -5,11 +5,16 @@
namespace ParaTest\Tests\Unit\Logging;
use ParaTest\Logging\JUnit\Reader;
+use ParaTest\Logging\JUnit\TestSuite;
use ParaTest\Logging\LogInterpreter;
use ParaTest\Tests\Unit\ResultTester;
+use PHPUnit\Framework\MockObject\MockObject;
+
+use function array_pop;
class LogInterpreterTest extends ResultTester
{
+ /** @var LogInterpreter */
protected $interpreter;
public function setUp(): void
@@ -21,27 +26,27 @@ public function setUp(): void
->addReader($this->getReader('passingSuite'));
}
- public function testConstructor()
+ public function testConstructor(): void
{
$interpreter = new LogInterpreter();
$this->assertEquals([], $this->getObjectValue($interpreter, 'readers'));
}
- public function testAddReaderIncrementsReaders()
+ public function testAddReaderIncrementsReaders(): void
{
$reader = $this->getMockReader();
$this->interpreter->addReader($reader);
$this->assertCount(3, $this->getObjectValue($this->interpreter, 'readers'));
}
- public function testAddReaderReturnsSelf()
+ public function testAddReaderReturnsSelf(): void
{
$reader = $this->getMockReader();
- $self = $this->interpreter->addReader($reader);
+ $self = $this->interpreter->addReader($reader);
$this->assertSame($self, $this->interpreter);
}
- public function testGetReaders()
+ public function testGetReaders(): void
{
$reader = $this->getMockReader();
$this->interpreter->addReader($reader);
@@ -51,82 +56,82 @@ public function testGetReaders()
$this->assertSame($reader, $last);
}
- public function testGetTotalTests()
+ public function testGetTotalTests(): void
{
$this->assertEquals(10, $this->interpreter->getTotalTests());
}
- public function testGetTotalAssertions()
+ public function testGetTotalAssertions(): void
{
$this->assertEquals(9, $this->interpreter->getTotalAssertions());
}
- public function testGetTotalFailures()
+ public function testGetTotalFailures(): void
{
$this->assertEquals(2, $this->interpreter->getTotalFailures());
}
- public function testGetTotalErrors()
+ public function testGetTotalErrors(): void
{
$this->assertEquals(1, $this->interpreter->getTotalErrors());
}
- public function testIsSuccessfulReturnsFalseIfFailuresPresentAndNoErrors()
+ public function testIsSuccessfulReturnsFalseIfFailuresPresentAndNoErrors(): void
{
$interpreter = new LogInterpreter();
$interpreter->addReader($this->getReader('failureSuite'));
$this->assertFalse($interpreter->isSuccessful());
}
- public function testIsSuccessfulReturnsFalseIfErrorsPresentAndNoFailures()
+ public function testIsSuccessfulReturnsFalseIfErrorsPresentAndNoFailures(): void
{
$interpreter = new LogInterpreter();
$interpreter->addReader($this->getReader('errorSuite'));
$this->assertFalse($interpreter->isSuccessful());
}
- public function testIsSuccessfulReturnsFalseIfErrorsAndFailuresPresent()
+ public function testIsSuccessfulReturnsFalseIfErrorsAndFailuresPresent(): void
{
$this->assertFalse($this->interpreter->isSuccessful());
}
- public function testIsSuccessfulReturnsTrueIfNoErrorsOrFailures()
+ public function testIsSuccessfulReturnsTrueIfNoErrorsOrFailures(): void
{
$interpreter = new LogInterpreter();
$interpreter->addReader($this->getReader('passingSuite'));
$this->assertTrue($interpreter->isSuccessful());
}
- public function testGetErrorsReturnsArrayOfErrorMessages()
+ public function testGetErrorsReturnsArrayOfErrorMessages(): void
{
$errors = [
"UnitTestWithErrorTest::testTruth\nException: Error!!!\n\n/home/brian/Projects/parallel-phpunit/" .
- "test/fixtures/tests/UnitTestWithErrorTest.php:12"
+ 'test/fixtures/tests/UnitTestWithErrorTest.php:12',
];
$this->assertEquals($errors, $this->interpreter->getErrors());
}
- public function testGetFailuresReturnsArrayOfFailureMessages()
+ public function testGetFailuresReturnsArrayOfFailureMessages(): void
{
$failures = [
"UnitTestWithClassAnnotationTest::testFalsehood\nFailed asserting that true is false.\n\n/" .
- "home/brian/Projects/parallel-phpunit/test/fixtures/tests/UnitTestWithClassAnnotationTest.php:20",
+ 'home/brian/Projects/parallel-phpunit/test/fixtures/tests/UnitTestWithClassAnnotationTest.php:20',
"UnitTestWithMethodAnnotationsTest::testFalsehood\nFailed asserting that true is false.\n\n" .
- "/home/brian/Projects/parallel-phpunit/test/fixtures/tests/UnitTestWithMethodAnnotationsTest.php:18",
+ '/home/brian/Projects/parallel-phpunit/test/fixtures/tests/UnitTestWithMethodAnnotationsTest.php:18',
];
$this->assertEquals($failures, $this->interpreter->getFailures());
}
- public function testGetCasesReturnsAllCases()
+ public function testGetCasesReturnsAllCases(): void
{
$cases = $this->interpreter->getCases();
$this->assertCount(10, $cases);
}
- public function testGetCasesExtendEmptyCasesFromSuites()
+ public function testGetCasesExtendEmptyCasesFromSuites(): void
{
- $interpreter = new LogInterpreter();
+ $interpreter = new LogInterpreter();
$dataProviderReader = $this->getReader('dataProviderSuite');
$interpreter->addReader($dataProviderReader);
$cases = $interpreter->getCases();
@@ -141,6 +146,7 @@ public function testGetCasesExtendEmptyCasesFromSuites()
} else {
$this->assertEquals($case->class, 'DataProviderTest');
}
+
if ($case->name === 'testNumericDataProvider5 with data set #4') {
$this->assertEquals(
$case->file,
@@ -160,7 +166,10 @@ public function testGetCasesExtendEmptyCasesFromSuites()
}
}
- public function testFlattenCasesReturnsCorrectNumberOfSuites()
+ /**
+ * @return TestSuite[]
+ */
+ public function testFlattenCasesReturnsCorrectNumberOfSuites(): array
{
$suites = $this->interpreter->flattenCases();
$this->assertCount(4, $suites);
@@ -169,11 +178,11 @@ public function testFlattenCasesReturnsCorrectNumberOfSuites()
}
/**
- * @depends testFlattenCasesReturnsCorrectNumberOfSuites
+ * @param TestSuite[] $suites
*
- * @param mixed $suites
+ * @depends testFlattenCasesReturnsCorrectNumberOfSuites
*/
- public function testFlattenedSuiteHasCorrectTotals($suites)
+ public function testFlattenedSuiteHasCorrectTotals(array $suites): void
{
$first = $suites[0];
$this->assertEquals('UnitTestWithClassAnnotationTest', $first->name);
@@ -188,12 +197,15 @@ public function testFlattenedSuiteHasCorrectTotals($suites)
$this->assertEquals('0.006109', $first->time);
}
- protected function getReader($suiteName)
+ protected function getReader(string $suiteName): Reader
{
return new Reader($this->$suiteName->getTempFile());
}
- protected function getMockReader()
+ /**
+ * @return Reader&MockObject
+ */
+ protected function getMockReader(): Reader
{
return $this->getMockBuilder(Reader::class)
->disableOriginalConstructor()
diff --git a/test/Unit/Parser/GetClassTest.php b/test/Unit/Parser/GetClassTest.php
index 2dfb7b8..497243f 100644
--- a/test/Unit/Parser/GetClassTest.php
+++ b/test/Unit/Parser/GetClassTest.php
@@ -6,10 +6,11 @@
use ParaTest\Parser\ParsedClass;
use ParaTest\Parser\Parser;
+use ParaTest\Tests\TestBase;
-class GetClassTest extends \ParaTest\Tests\TestBase
+class GetClassTest extends TestBase
{
- public function testPreviouslyLoadedTestClassCanBeParsed()
+ public function testPreviouslyLoadedTestClassCanBeParsed(): void
{
$testFile = $this->fixture('passing-tests/PreviouslyLoadedTest.php');
require_once $testFile;
@@ -18,19 +19,19 @@ public function testPreviouslyLoadedTestClassCanBeParsed()
$this->assertEquals('PreviouslyLoadedTest', $class->getName());
}
- public function testParsedClassHasName()
+ public function testParsedClassHasName(): void
{
$class = $this->parseFile($this->fixture('failing-tests/UnitTestWithClassAnnotationTest.php'));
$this->assertEquals('Fixtures\\Tests\\UnitTestWithClassAnnotationTest', $class->getName());
}
- public function testParsedAnonymousClassNameHasNoNullByte()
+ public function testParsedAnonymousClassNameHasNoNullByte(): void
{
$class = $this->parseFile($this->fixture('failing-tests/AnonymousClass.inc'));
$this->assertStringNotContainsString("\x00", $class->getName());
}
- public function testParsedClassHasDocBlock()
+ public function testParsedClassHasDocBlock(): void
{
$class = $this->parseFile($this->fixture('failing-tests/UnitTestWithClassAnnotationTest.php'));
$this->assertEquals('/**
@@ -39,19 +40,19 @@ public function testParsedClassHasDocBlock()
*/', $class->getDocBlock());
}
- public function testParsedClassHasNamespace()
+ public function testParsedClassHasNamespace(): void
{
$class = $this->parseFile($this->fixture('failing-tests/UnitTestWithClassAnnotationTest.php'));
$this->assertEquals('Fixtures\\Tests', $class->getNamespace());
}
- public function testParsedClassHasCorrectNumberOfTestMethods()
+ public function testParsedClassHasCorrectNumberOfTestMethods(): void
{
$class = $this->parseFile($this->fixture('failing-tests/UnitTestWithClassAnnotationTest.php'));
$this->assertCount(4, $class->getMethods());
}
- public function testParsedClassWithParentHasCorrectNumberOfTestMethods()
+ public function testParsedClassWithParentHasCorrectNumberOfTestMethods(): void
{
$class = $this->parseFile($this->fixture('failing-tests/UnitTestWithErrorTest.php'));
$this->assertCount(4, $class->getMethods());
@@ -61,10 +62,8 @@ public function testParsedClassWithParentHasCorrectNumberOfTestMethods()
* Parses a test case and returns the test class.
*
* @param mixed $path
- *
- * @return ParsedClass
*/
- protected function parseFile($path)
+ protected function parseFile($path): ParsedClass
{
$parser = new Parser($path);
diff --git a/test/Unit/Parser/ParsedClassTest.php b/test/Unit/Parser/ParsedClassTest.php
index 1375e85..17aded3 100644
--- a/test/Unit/Parser/ParsedClassTest.php
+++ b/test/Unit/Parser/ParsedClassTest.php
@@ -6,10 +6,13 @@
use ParaTest\Parser\ParsedClass;
use ParaTest\Parser\ParsedFunction;
+use ParaTest\Tests\TestBase;
-class ParsedClassTest extends \ParaTest\Tests\TestBase
+class ParsedClassTest extends TestBase
{
+ /** @var ParsedClass */
protected $class;
+ /** @var ParsedFunction[] */
protected $methods;
public function setUp(): void
@@ -31,31 +34,31 @@ public function setUp(): void
),
new ParsedFunction('', 'public', 'testFunction3'),
];
- $this->class = new ParsedClass('', 'MyTestClass', '', $this->methods);
+ $this->class = new ParsedClass('', 'MyTestClass', '', $this->methods);
}
- public function testGetMethodsReturnsMethods()
+ public function testGetMethodsReturnsMethods(): void
{
$this->assertEquals($this->methods, $this->class->getMethods());
}
- public function testGetMethodsMultipleAnnotationsReturnsMethods()
+ public function testGetMethodsMultipleAnnotationsReturnsMethods(): void
{
- $goodMethod = new ParsedFunction(
+ $goodMethod = new ParsedFunction(
'/**
* @group group1
*/',
'public',
'testFunction'
);
- $goodMethod2 = new ParsedFunction(
+ $goodMethod2 = new ParsedFunction(
'/**
* @group group2
*/',
'public',
'testFunction2'
);
- $badMethod = new ParsedFunction(
+ $badMethod = new ParsedFunction(
'/**
* @group group3
*/',
@@ -63,11 +66,11 @@ public function testGetMethodsMultipleAnnotationsReturnsMethods()
'testFunction2'
);
$annotatedClass = new ParsedClass('', 'MyTestClass', '', [$goodMethod, $goodMethod2, $badMethod]);
- $methods = $annotatedClass->getMethods(['group' => 'group1,group2']);
+ $methods = $annotatedClass->getMethods(['group' => 'group1,group2']);
$this->assertEquals([$goodMethod, $goodMethod2], $methods);
}
- public function testGetMethodsExceptsAdditionalAnnotationFilter()
+ public function testGetMethodsExceptsAdditionalAnnotationFilter(): void
{
$group1 = $this->class->getMethods(['group' => 'group1']);
$this->assertCount(1, $group1);
diff --git a/test/Unit/Parser/ParsedObjectTest.php b/test/Unit/Parser/ParsedObjectTest.php
index cd1a4f0..f3d15f6 100644
--- a/test/Unit/Parser/ParsedObjectTest.php
+++ b/test/Unit/Parser/ParsedObjectTest.php
@@ -5,9 +5,11 @@
namespace ParaTest\Tests\Unit\Parser;
use ParaTest\Parser\ParsedClass;
+use ParaTest\Tests\TestBase;
-class ParsedObjectTest extends \ParaTest\Tests\TestBase
+class ParsedObjectTest extends TestBase
{
+ /** @var ParsedClass */
protected $parsedClass;
public function setUp(): void
@@ -15,25 +17,25 @@ public function setUp(): void
$this->parsedClass = new ParsedClass("/**\n * @test\n @group group1\n*\/", 'MyClass', 'My\\Name\\Space');
}
- public function testHasAnnotationReturnsTrueWhenAnnotationPresent()
+ public function testHasAnnotationReturnsTrueWhenAnnotationPresent(): void
{
$hasAnnotation = $this->parsedClass->hasAnnotation('test');
$this->assertTrue($hasAnnotation);
}
- public function testHasAnnotationReturnsFalseWhenAnnotationNotPresent()
+ public function testHasAnnotationReturnsFalseWhenAnnotationNotPresent(): void
{
$hasAnnotation = $this->parsedClass->hasAnnotation('pizza');
$this->assertFalse($hasAnnotation);
}
- public function testHasAnnotationReturnsTrueWhenAnnotationAndValueMatch()
+ public function testHasAnnotationReturnsTrueWhenAnnotationAndValueMatch(): void
{
$hasAnnotation = $this->parsedClass->hasAnnotation('group', 'group1');
$this->assertTrue($hasAnnotation);
}
- public function testHasAnnotationReturnsFalseWhenAnnotationAndValueDontMatch()
+ public function testHasAnnotationReturnsFalseWhenAnnotationAndValueDontMatch(): void
{
$hasAnnotation = $this->parsedClass->hasAnnotation('group', 'group2');
$this->assertFalse($hasAnnotation);
diff --git a/test/Unit/Parser/ParserTest.php b/test/Unit/Parser/ParserTest.php
index ba9656c..3fde825 100644
--- a/test/Unit/Parser/ParserTest.php
+++ b/test/Unit/Parser/ParserTest.php
@@ -4,36 +4,39 @@
namespace ParaTest\Tests\Unit\Parser;
+use InvalidArgumentException;
+use ParaTest\Parser\NoClassInFileException;
use ParaTest\Parser\Parser;
+use ParaTest\Tests\TestBase;
-class ParserTest extends \ParaTest\Tests\TestBase
+class ParserTest extends TestBase
{
- public function testConstructorThrowsExceptionIfFileNotFound()
+ public function testConstructorThrowsExceptionIfFileNotFound(): void
{
- $this->expectException(\InvalidArgumentException::class);
+ $this->expectException(InvalidArgumentException::class);
$parser = new Parser('/path/to/nowhere');
}
- public function testConstructorThrowsExceptionIfClassNotFoundInFile()
+ public function testConstructorThrowsExceptionIfClassNotFoundInFile(): void
{
- $this->expectException(\ParaTest\Parser\NoClassInFileException::class);
+ $this->expectException(NoClassInFileException::class);
$fileWithoutAClass = FIXTURES . DS . 'chdirBootstrap.php';
- $parser = new Parser($fileWithoutAClass);
+ $parser = new Parser($fileWithoutAClass);
}
- public function testPrefersClassByFileName()
+ public function testPrefersClassByFileName(): void
{
$filename = FIXTURES . DS . 'special-classes' . DS . 'SomeNamespace' . DS . 'ParserTestClass.php';
- $parser = new Parser($filename);
+ $parser = new Parser($filename);
$this->assertEquals('SomeNamespace\\ParserTestClass', $parser->getClass()->getName());
}
- public function testClassFallsBackOnExisting()
+ public function testClassFallsBackOnExisting(): void
{
$filename = FIXTURES . DS . 'special-classes' . DS . 'NameDoesNotMatch.php';
- $parser = new Parser($filename);
+ $parser = new Parser($filename);
$this->assertEquals('ParserTestClassFallsBack', $parser->getClass()->getName());
}
}
diff --git a/test/Unit/ResultTester.php b/test/Unit/ResultTester.php
index 1e15a46..c5aecad 100644
--- a/test/Unit/ResultTester.php
+++ b/test/Unit/ResultTester.php
@@ -6,40 +6,48 @@
use ParaTest\Parser\ParsedFunction;
use ParaTest\Runners\PHPUnit\Suite;
+use ParaTest\Tests\TestBase;
-abstract class ResultTester extends \ParaTest\Tests\TestBase
+abstract class ResultTester extends TestBase
{
- protected $errorSuite;
+ /** @var Suite */
protected $failureSuite;
+ /** @var Suite */
protected $otherErrorSuite;
+ /** @var Suite */
protected $mixedSuite;
+ /** @var Suite */
protected $passingSuite;
+ /** @var Suite */
protected $dataProviderSuite;
+ /** @var Suite */
+ protected $errorSuite;
public function setUp(): void
{
- $this->errorSuite = $this->getSuiteWithResult('single-werror.xml', 1);
- $this->otherErrorSuite = $this->getSuiteWithResult('single-werror2.xml', 1);
- $this->failureSuite = $this->getSuiteWithResult('single-wfailure.xml', 3);
- $this->mixedSuite = $this->getSuiteWithResult('mixed-results.xml', 7);
- $this->passingSuite = $this->getSuiteWithResult('single-passing.xml', 3);
+ $this->errorSuite = $this->getSuiteWithResult('single-werror.xml', 1);
+ $this->otherErrorSuite = $this->getSuiteWithResult('single-werror2.xml', 1);
+ $this->failureSuite = $this->getSuiteWithResult('single-wfailure.xml', 3);
+ $this->mixedSuite = $this->getSuiteWithResult('mixed-results.xml', 7);
+ $this->passingSuite = $this->getSuiteWithResult('single-passing.xml', 3);
$this->dataProviderSuite = $this->getSuiteWithResult('data-provider-result.xml', 50);
}
- public function getSuiteWithResult($result, $methodCount)
+ public function getSuiteWithResult(string $result, int $methodCount): Suite
{
- $result = FIXTURES . DS . 'results' . DS . $result;
+ $result = FIXTURES . DS . 'results' . DS . $result;
$functions = [];
for ($i = 0; $i < $methodCount; ++$i) {
- $functions[] = $this->mockFunction($i);
+ $functions[] = $this->mockFunction((string) $i);
}
+
$suite = new Suite('', $functions);
$suite->setTempFile($result);
return $suite;
}
- protected function mockFunction($functionCount)
+ protected function mockFunction(string $functionCount): ParsedFunction
{
return new ParsedFunction('doc', 'public', 'func' . $functionCount);
}
diff --git a/test/Unit/Runners/PHPUnit/ConfigurationTest.php b/test/Unit/Runners/PHPUnit/ConfigurationTest.php
index a96000a..06cb4e6 100644
--- a/test/Unit/Runners/PHPUnit/ConfigurationTest.php
+++ b/test/Unit/Runners/PHPUnit/ConfigurationTest.php
@@ -4,32 +4,40 @@
namespace ParaTest\Tests\Unit\Runners\PHPUnit;
+use Exception;
use ParaTest\Runners\PHPUnit\Configuration;
use ParaTest\Runners\PHPUnit\SuitePath;
+use ParaTest\Tests\TestBase;
+use Throwable;
-class ConfigurationTest extends \ParaTest\Tests\TestBase
+use function getcwd;
+use function getenv;
+use function libxml_disable_entity_loader;
+use function putenv;
+use function realpath;
+
+class ConfigurationTest extends TestBase
{
- /**
- * @var string
- */
+ /** @var string */
protected $path;
- /**
- * @var Configuration
- */
+ /** @var Configuration */
protected $config;
public function setUp(): void
{
- $this->path = realpath(PARATEST_ROOT . '/phpunit.xml.dist');
+ $this->path = realpath(PARATEST_ROOT . '/phpunit.xml.dist');
$this->config = new Configuration($this->path);
}
- public function testToStringReturnsPath()
+ public function testToStringReturnsPath(): void
{
$this->assertEquals($this->path, (string) $this->config);
}
- public function testGetSuitesShouldReturnCorrectNumberOfSuites()
+ /**
+ * @return SuitePath[][]
+ */
+ public function testGetSuitesShouldReturnCorrectNumberOfSuites(): array
{
$suites = $this->config->getSuites();
$this->assertCount(2, $suites);
@@ -37,36 +45,20 @@ public function testGetSuitesShouldReturnCorrectNumberOfSuites()
return $suites;
}
- public function testHasSuites()
+ public function testHasSuites(): void
{
$actual = $this->config->hasSuites();
$this->assertTrue($actual);
}
- public function testGlobbingSupport()
- {
- $basePath = getcwd() . DS;
- $configuration = new Configuration($this->fixture('phpunit-globbing.xml'));
- /** @var SuitePath[][] $suites */
- $suites = $configuration->getSuites();
- $this->assertEquals(
- $basePath . 'test' . DS . 'fixtures' . DS . 'globbing-support-tests' . DS . 'some-dir',
- $suites['ParaTest Fixtures'][0]->getPath()
- );
- $this->assertEquals(
- $basePath . 'test' . DS . 'fixtures' . DS . 'globbing-support-tests' . DS . 'some-dir2',
- $suites['ParaTest Fixtures'][1]->getPath()
- );
-
- return $suites;
- }
-
/**
- * @depends testGetSuitesShouldReturnCorrectNumberOfSuites
+ * @param SuitePath[][] $suites
*
- * @param mixed $suites
+ * @return SuitePath[][]
+ *
+ * @depends testGetSuitesShouldReturnCorrectNumberOfSuites
*/
- public function testSuitesContainSuiteNameAtKey($suites)
+ public function testSuitesContainSuiteNameAtKey(array $suites): array
{
$this->assertArrayHasKey('ParaTest Unit Tests', $suites);
$this->assertArrayHasKey('ParaTest Functional Tests', $suites);
@@ -75,13 +67,13 @@ public function testSuitesContainSuiteNameAtKey($suites)
}
/**
- * @depends testSuitesContainSuiteNameAtKey
+ * @param SuitePath[][] $suites
*
- * @param mixed $suites
+ * @depends testSuitesContainSuiteNameAtKey
*/
- public function testSuitesContainPathAsValue($suites)
+ public function testSuitesContainPathAsValue(array $suites): void
{
- $basePath = getcwd() . DS;
+ $basePath = getcwd() . DS;
$unitSuite = $suites['ParaTest Unit Tests'];
$this->assertIsArray($unitSuite);
$this->assertCount(1, $unitSuite);
@@ -96,7 +88,7 @@ public function testSuitesContainPathAsValue($suites)
$this->assertEquals($basePath . 'test' . DS . 'Functional', $functionalSuitePath->getPath());
}
- public function testGetEnvironmentVariables()
+ public function testGetEnvironmentVariables(): void
{
$this->assertCount(4, $this->config->getEnvironmentVariables());
$this->assertArrayHasKey('APP_ENV', $this->config->getEnvironmentVariables());
@@ -104,18 +96,34 @@ public function testGetEnvironmentVariables()
$this->assertArrayHasKey('DB_CONNECTION', $this->config->getEnvironmentVariables());
$this->assertArrayHasKey('DB_DATABASE', $this->config->getEnvironmentVariables());
- $config = new Configuration(realpath(__DIR__ . '/phpunit.xml.dist'));
+ $config = new Configuration(realpath(__DIR__ . '/phpunit-ConfigurationTest.xml'));
$this->assertCount(0, $config->getEnvironmentVariables());
}
- public function testLoadConfigEvenIfLibXmlEntityLoaderIsDisabled()
+ public function testGlobbingSupport(): void
+ {
+ $basePath = getcwd() . DS;
+ $configuration = new Configuration($this->fixture('phpunit-globbing.xml'));
+ /** @var SuitePath[][] $suites */
+ $suites = $configuration->getSuites();
+ $this->assertEquals(
+ $basePath . 'test' . DS . 'fixtures' . DS . 'globbing-support-tests' . DS . 'some-dir',
+ $suites['ParaTest Fixtures'][0]->getPath()
+ );
+ $this->assertEquals(
+ $basePath . 'test' . DS . 'fixtures' . DS . 'globbing-support-tests' . DS . 'some-dir2',
+ $suites['ParaTest Fixtures'][1]->getPath()
+ );
+ }
+
+ public function testLoadConfigEvenIfLibXmlEntityLoaderIsDisabled(): void
{
$before = libxml_disable_entity_loader();
- $e = null;
+ $e = null;
try {
$this->config = new Configuration($this->path);
- } catch (\Exception $exc) {
+ } catch (Throwable $exc) {
$e = $exc;
}
@@ -123,18 +131,18 @@ public function testLoadConfigEvenIfLibXmlEntityLoaderIsDisabled()
$this->assertNull(
$e,
- 'Could not instantiate Configuration: ' . ($e instanceof \Exception ? $e->getMessage() : 'no error given')
+ 'Could not instantiate Configuration: ' . ($e instanceof Exception ? $e->getMessage() : 'no error given')
);
}
- public function testLoadedEnvironmentVariablesWillNotBeOverwritten()
+ public function testLoadedEnvironmentVariablesWillNotBeOverwritten(): void
{
- \putenv('DB_CONNECTION=mysql');
- \putenv('DB_DATABASE=localhost');
+ putenv('DB_CONNECTION=mysql');
+ putenv('DB_DATABASE=localhost');
- $config = new Configuration(realpath(__DIR__ . '/phpunit.xml.dist'));
+ $config = new Configuration(realpath(__DIR__ . '/phpunit-ConfigurationTest.xml'));
- $this->assertSame('mysql', \getenv('DB_CONNECTION'));
- $this->assertSame('localhost', \getenv('DB_DATABASE'));
+ $this->assertSame('mysql', getenv('DB_CONNECTION'));
+ $this->assertSame('localhost', getenv('DB_DATABASE'));
}
}
diff --git a/test/Unit/Runners/PHPUnit/ExecutableTestChild.php b/test/Unit/Runners/PHPUnit/ExecutableTestChild.php
index acc9a7b..d6494e6 100644
--- a/test/Unit/Runners/PHPUnit/ExecutableTestChild.php
+++ b/test/Unit/Runners/PHPUnit/ExecutableTestChild.php
@@ -10,8 +10,6 @@ class ExecutableTestChild extends ExecutableTest
{
/**
* Get the expected count of tests to be executed.
- *
- * @return int
*/
public function getTestCount(): int
{
diff --git a/test/Unit/Runners/PHPUnit/ExecutableTestTest.php b/test/Unit/Runners/PHPUnit/ExecutableTestTest.php
index c9aa457..f85d571 100644
--- a/test/Unit/Runners/PHPUnit/ExecutableTestTest.php
+++ b/test/Unit/Runners/PHPUnit/ExecutableTestTest.php
@@ -4,13 +4,18 @@
namespace ParaTest\Tests\Unit\Runners\PHPUnit;
+use ParaTest\Tests\TestBase;
use Symfony\Component\Process\PhpExecutableFinder;
-class ExecutableTestTest extends \ParaTest\Tests\TestBase
+use function defined;
+use function preg_quote;
+use function preg_replace;
+use function str_replace;
+use function unlink;
+
+class ExecutableTestTest extends TestBase
{
- /**
- * @var ExecutableTestChild
- */
+ /** @var ExecutableTestChild */
protected $executableTestChild;
public function setUp(): void
@@ -19,29 +24,17 @@ public function setUp(): void
parent::setUp();
}
- public function testConstructor()
+ public function testConstructor(): void
{
$this->assertEquals('pathToFile', $this->getObjectValue($this->executableTestChild, 'path'));
}
- public function testGetCommandStringIncludesOptions()
- {
- $options = ['bootstrap' => 'test/bootstrap.php'];
- $binary = '/usr/bin/phpunit';
-
- $command = $this->call($this->executableTestChild, 'getCommandString', $binary, $options);
- $this->assertEquals(
- "'/usr/bin/phpunit' '--bootstrap' 'test/bootstrap.php' 'pathToFile'",
- $command
- );
- }
-
- public function testGetCommandStringIncludesPassthruOptions()
+ public function testGetCommandStringIncludesPassthruOptions(): void
{
- $options = ['bootstrap' => 'test/bootstrap.php'];
- $binary = '/usr/bin/phpunit';
- $passthru = "'--prepend' 'xdebug-filter.php'";
- $passthruPhp = "'-d' 'zend_extension=xdebug.so'";
+ $options = ['bootstrap' => 'test' . DS . 'bootstrap.php'];
+ $binary = '/usr/bin/phpunit';
+ $passthru = ['--prepend', 'xdebug-filter.php'];
+ $passthruPhp = ['-d', 'zend_extension=xdebug.so'];
$command = $this->call(
$this->executableTestChild,
@@ -54,52 +47,77 @@ public function testGetCommandStringIncludesPassthruOptions()
// Note:
// '--log-junit' '/tmp/PT_LKnfzA'
// is appended by default where PT_LKnfzA is randomly generated - so we remove it from the resulting command
- $command = preg_replace("# '--log-junit' '[^']+?'#", '', $command);
+ if (defined('PHP_WINDOWS_VERSION_BUILD')) {
+ $command = preg_replace('# --log-junit [^ ]+#', '', $command);
+ } else {
+ $command = preg_replace("# '--log-junit' '[^']+?'#", '', $command);
+ }
+
// Note:
// The pass to the php executable depends on the system,
// so we need to keep it flexible in the test
- $finder = new PhpExecutableFinder();
+ $finder = new PhpExecutableFinder();
$phpExecutable = $finder->find();
- $this->assertEquals(
- "$phpExecutable '-d' 'zend_extension=xdebug.so' '/usr/bin/phpunit' '--prepend' 'xdebug-filter.php' " .
- "'--bootstrap' 'test/bootstrap.php' 'pathToFile'",
- $command
- );
+
+ if (defined('PHP_WINDOWS_VERSION_BUILD')) {
+ $this->assertEquals(
+ "$phpExecutable -d zend_extension=xdebug.so \"/usr/bin/phpunit\" --prepend xdebug-filter.php " .
+ '--bootstrap test' . DS . 'bootstrap.php pathToFile',
+ $command
+ );
+ } else {
+ $this->assertEquals(
+ "'$phpExecutable' '-d' 'zend_extension=xdebug.so' '/usr/bin/phpunit' '--prepend' 'xdebug-filter.php' " .
+ "'--bootstrap' 'test" . DS . "bootstrap.php' 'pathToFile'",
+ $command
+ );
+ }
}
- public function testCommandRedirectsCoverage()
+ public function testCommandRedirectsCoverage(): void
{
- $options = ['a' => 'b', 'coverage-php' => 'target_html', 'coverage-php' => 'target.php'];
- $binary = '/usr/bin/phpunit';
+ $options = ['a' => 'b', 'coverage-php' => 'target.php'];
+ $binary = '/usr/bin/phpunit';
- $command = $this->executableTestChild->command($binary, $options);
+ $command = $this->executableTestChild->command($binary, $options);
$coverageFileName = str_replace('/', '\/', $this->executableTestChild->getCoverageFileName());
- $this->assertRegExp("/^'\/usr\/bin\/phpunit' '--a' 'b' '--coverage-php' '$coverageFileName' '.*'/", $command);
+
+ if (defined('PHP_WINDOWS_VERSION_BUILD')) {
+ $this->assertMatchesRegularExpression(
+ '#^"/usr/bin/phpunit" --a b --coverage-php ' . preg_quote($coverageFileName, '#') . ' .*#',
+ $command
+ );
+ } else {
+ $this->assertMatchesRegularExpression(
+ "#^'/usr/bin/phpunit' '--a' 'b' '--coverage-php' '" . $coverageFileName . "' '.*'#",
+ $command
+ );
+ }
}
- public function testHandleEnvironmentVariablesAssignsToken()
+ public function testHandleEnvironmentVariablesAssignsToken(): void
{
$environmentVariables = ['TEST_TOKEN' => 3, 'APPLICATION_ENVIRONMENT_VAR' => 'abc'];
$this->call($this->executableTestChild, 'handleEnvironmentVariables', $environmentVariables);
$this->assertEquals(3, $this->getObjectValue($this->executableTestChild, 'token'));
}
- public function testGetTokenReturnsValidToken()
+ public function testGetTokenReturnsValidToken(): void
{
$this->setObjectValue($this->executableTestChild, 'token', 3);
$this->assertEquals(3, $this->executableTestChild->getToken());
}
- public function testGetTempFileShouldCreateTempFile()
+ public function testGetTempFileShouldCreateTempFile(): void
{
$file = $this->executableTestChild->getTempFile();
$this->assertFileExists($file);
unlink($file);
}
- public function testGetTempFileShouldReturnSameFileIfAlreadyCalled()
+ public function testGetTempFileShouldReturnSameFileIfAlreadyCalled(): void
{
- $file = $this->executableTestChild->getTempFile();
+ $file = $this->executableTestChild->getTempFile();
$fileAgain = $this->executableTestChild->getTempFile();
$this->assertEquals($file, $fileAgain);
unlink($file);
diff --git a/test/Unit/Runners/PHPUnit/OptionsTest.php b/test/Unit/Runners/PHPUnit/OptionsTest.php
index 0370b9b..8ecf199 100644
--- a/test/Unit/Runners/PHPUnit/OptionsTest.php
+++ b/test/Unit/Runners/PHPUnit/OptionsTest.php
@@ -5,11 +5,25 @@
namespace ParaTest\Tests\Unit\Runners\PHPUnit;
use ParaTest\Runners\PHPUnit\Options;
-
-class OptionsTest extends \ParaTest\Tests\TestBase
+use ParaTest\Tests\TestBase;
+
+use function chdir;
+use function file_put_contents;
+use function getcwd;
+use function glob;
+use function intdiv;
+use function is_dir;
+use function mkdir;
+use function unlink;
+
+class OptionsTest extends TestBase
{
+ /** @var Options */
protected $options;
+ /** @var array */
protected $unfiltered;
+ /** @var string */
+ private $currentCwd;
public function setUp(): void
{
@@ -21,17 +35,37 @@ public function setUp(): void
'group' => 'group1',
'bootstrap' => '/path/to/bootstrap',
];
- $this->options = new Options($this->unfiltered);
- $this->cleanUpConfigurations();
+ $this->options = new Options($this->unfiltered);
+ $this->currentCwd = getcwd();
+ $testCwd = __DIR__ . DS . 'generated-configs';
+ if (! is_dir($testCwd)) {
+ mkdir($testCwd, 0777, true);
+ }
+
+ chdir($testCwd);
+ $this->cleanUpGeneratedFiles();
+ }
+
+ protected function tearDown(): void
+ {
+ $this->cleanUpGeneratedFiles();
+ chdir($this->currentCwd);
}
- public function testFilteredOptionsShouldContainExtraneousOptions()
+ private function cleanUpGeneratedFiles(): void
+ {
+ foreach (glob(getcwd() . DS . '*') as $file) {
+ unlink($file);
+ }
+ }
+
+ public function testFilteredOptionsShouldContainExtraneousOptions(): void
{
$this->assertEquals('group1', $this->options->filtered['group']);
$this->assertEquals('/path/to/bootstrap', $this->options->filtered['bootstrap']);
}
- public function testFilteredOptionsIsSet()
+ public function testFilteredOptionsIsSet(): void
{
$this->assertEquals($this->unfiltered['processes'], $this->options->processes);
$this->assertEquals($this->unfiltered['path'], $this->options->path);
@@ -40,19 +74,19 @@ public function testFilteredOptionsIsSet()
$this->assertEquals([$this->unfiltered['group']], $this->options->groups);
}
- public function testAnnotationsReturnsAnnotations()
+ public function testAnnotationsReturnsAnnotations(): void
{
$this->assertCount(1, $this->options->annotations);
$this->assertEquals('group1', $this->options->annotations['group']);
}
- public function testAnnotationsDefaultsToEmptyArray()
+ public function testAnnotationsDefaultsToEmptyArray(): void
{
$options = new Options([]);
$this->assertEmpty($options->annotations);
}
- public function testDefaults()
+ public function testDefaults(): void
{
$options = new Options();
$this->assertEquals(Options::getNumberOfCPUCores(), $options->processes);
@@ -61,87 +95,67 @@ public function testDefaults()
$this->assertFalse($options->functional);
}
- public function testHalfProcessesMode()
+ public function testHalfProcessesMode(): void
{
$options = new Options(['processes' => 'half']);
$this->assertEquals(intdiv(Options::getNumberOfCPUCores(), 2), $options->processes);
}
- public function testConfigurationShouldReturnXmlIfConfigNotSpecifiedAndFileExistsInCwd()
+ public function testConfigurationShouldReturnXmlIfConfigNotSpecifiedAndFileExistsInCwd(): void
{
$this->assertConfigurationFileFiltered('phpunit.xml', getcwd());
}
- public function testConfigurationShouldReturnXmlDistIfConfigAndXmlNotSpecifiedAndFileExistsInCwd()
+ public function testConfigurationShouldReturnXmlDistIfConfigAndXmlNotSpecifiedAndFileExistsInCwd(): void
{
$this->assertConfigurationFileFiltered('phpunit.xml.dist', getcwd());
}
- public function testConfigurationShouldReturnSpecifiedConfigurationIfFileExists()
+ public function testConfigurationShouldReturnSpecifiedConfigurationIfFileExists(): void
{
- $this->assertConfigurationFileFiltered('myconfig.xml', getcwd(), 'myconfig.xml');
+ $this->assertConfigurationFileFiltered('phpunit-myconfig.xml', getcwd(), 'phpunit-myconfig.xml');
}
- public function testConfigurationShouldBeSetEvenIfFileDoesNotExist()
+ public function testConfigurationShouldBeSetEvenIfFileDoesNotExist(): void
{
- $this->unfiltered['path'] = getcwd();
+ $this->unfiltered['path'] = getcwd();
$this->unfiltered['configuration'] = '/path/to/config';
- $options = new Options($this->unfiltered);
+ $options = new Options($this->unfiltered);
$this->assertEquals('/path/to/config', $options->filtered['configuration']->getPath());
}
- public function testConfigurationKeyIsNotPresentIfNoConfigGiven()
+ public function testConfigurationKeyIsNotPresentIfNoConfigGiven(): void
{
$this->unfiltered['path'] = getcwd();
- $options = new Options($this->unfiltered);
+ $options = new Options($this->unfiltered);
$this->assertArrayNotHasKey('configuration', $options->filtered);
}
- /**
- * Sets the current working directory to this source
- * directory so we can test configuration details without
- * using ParaTest's own configuration.
- *
- * Performs any cleanup to make sure no config files are
- * present when a test starts
- */
- protected function cleanUpConfigurations()
- {
- chdir(__DIR__);
- if (file_exists('phpunit.xml')) {
- unlink('phpunit.xml');
- }
- if (file_exists('phpunit.xml.dist')) {
- unlink('phpunit.xml.dist');
- }
- if (file_exists('myconfig.xml')) {
- unlink('myconfig.xml');
- }
- }
-
- public function testConfigurationShouldReturnXmlIfConfigSpecifiedAsDirectoryAndFileExists()
+ public function testConfigurationShouldReturnXmlIfConfigSpecifiedAsDirectoryAndFileExists(): void
{
$this->assertConfigurationFileFiltered('phpunit.xml', getcwd(), getcwd());
}
- public function testConfigurationShouldReturnXmlDistIfConfigSpecifiedAsDirectoryAndFileExists()
+ public function testConfigurationShouldReturnXmlDistIfConfigSpecifiedAsDirectoryAndFileExists(): void
{
$this->assertConfigurationFileFiltered('phpunit.xml.dist', getcwd(), getcwd());
}
- /**
- * @param $configFileName
- * @param $path
- * @param $configurationParameter
- */
- private function assertConfigurationFileFiltered($configFileName, $path, $configurationParameter = null)
- {
- file_put_contents($configFileName, '');
+ private function assertConfigurationFileFiltered(
+ string $configFileName,
+ string $path,
+ ?string $configurationParameter = null
+ ): void {
+ file_put_contents($configFileName, '');
$this->unfiltered['path'] = $path;
if ($configurationParameter !== null) {
$this->unfiltered['configuration'] = $configurationParameter;
}
+
$options = new Options($this->unfiltered);
- $this->assertEquals(__DIR__ . DS . $configFileName, $options->filtered['configuration']->getPath());
+ $this->assertEquals(
+ __DIR__ . DS . 'generated-configs' . DS . $configFileName,
+ $options->filtered['configuration']->getPath()
+ );
}
}
diff --git a/test/Unit/Runners/PHPUnit/ResultPrinterTest.php b/test/Unit/Runners/PHPUnit/ResultPrinterTest.php
index 7151a46..82278db 100644
--- a/test/Unit/Runners/PHPUnit/ResultPrinterTest.php
+++ b/test/Unit/Runners/PHPUnit/ResultPrinterTest.php
@@ -6,35 +6,38 @@
use ParaTest\Logging\LogInterpreter;
use ParaTest\Parser\ParsedFunction;
-use ParaTest\Tests\Unit\ResultTester;
use ParaTest\Runners\PHPUnit\Options;
use ParaTest\Runners\PHPUnit\ResultPrinter;
use ParaTest\Runners\PHPUnit\Suite;
use ParaTest\Runners\PHPUnit\TestMethod;
+use ParaTest\Tests\Unit\ResultTester;
+
+use function defined;
+use function file_exists;
+use function file_put_contents;
+use function ob_end_clean;
+use function ob_get_clean;
+use function ob_start;
+use function sprintf;
+use function unlink;
class ResultPrinterTest extends ResultTester
{
- /**
- * @var ResultPrinter
- */
+ /** @var ResultPrinter */
protected $printer;
- /**
- * @var LogInterpreter
- */
+ /** @var LogInterpreter */
protected $interpreter;
- /**
- * @var Suite
- */
+ /** @var Suite */
protected $passingSuiteWithWrongTestCountEstimation;
public function setUp(): void
{
parent::setUp();
$this->interpreter = new LogInterpreter();
- $this->printer = new ResultPrinter($this->interpreter);
- $pathToConfig = $this->getPathToConfig();
+ $this->printer = new ResultPrinter($this->interpreter);
+ $pathToConfig = $this->getPathToConfig();
if (file_exists($pathToConfig)) {
unlink($pathToConfig);
}
@@ -42,15 +45,12 @@ public function setUp(): void
$this->passingSuiteWithWrongTestCountEstimation = $this->getSuiteWithResult('single-passing.xml', 1);
}
- /**
- * @return string
- */
- protected function getPathToConfig()
+ protected function getPathToConfig(): string
{
- return __DIR__ . DS . 'myconfig.xml';
+ return __DIR__ . DS . 'phpunit-myconfig.xml';
}
- public function testConstructor()
+ public function testConstructor(): void
{
$this->assertEquals([], $this->getObjectValue($this->printer, 'suites'));
$this->assertInstanceOf(
@@ -59,7 +59,7 @@ public function testConstructor()
);
}
- public function testAddTestShouldAddTest()
+ public function testAddTestShouldAddTest(): void
{
$suite = new Suite('/path/to/ResultSuite.php', []);
@@ -68,7 +68,7 @@ public function testAddTestShouldAddTest()
$this->assertEquals([$suite], $this->getObjectValue($this->printer, 'suites'));
}
- public function testAddTestReturnsSelf()
+ public function testAddTestReturnsSelf(): void
{
$suite = new Suite('/path/to/ResultSuite.php', []);
@@ -77,9 +77,9 @@ public function testAddTestReturnsSelf()
$this->assertSame($this->printer, $self);
}
- public function testStartPrintsOptionInfo()
+ public function testStartPrintsOptionInfo(): void
{
- $options = new Options();
+ $options = new Options();
$contents = $this->getStartOutput($options);
$expected = sprintf(
"\nRunning phpunit in %s processes with %s\n\n",
@@ -89,26 +89,32 @@ public function testStartPrintsOptionInfo()
$this->assertStringStartsWith($expected, $contents);
}
- public function testStartSetsWidthAndMaxColumn()
+ public function testStartSetsWidthAndMaxColumn(): void
{
$funcs = [];
for ($i = 0; $i < 120; ++$i) {
$funcs[] = new ParsedFunction('doc', 'public', 'function' . $i);
}
+
$suite = new Suite('/path', $funcs);
$this->printer->addTest($suite);
$this->getStartOutput(new Options());
$numTestsWidth = $this->getObjectValue($this->printer, 'numTestsWidth');
- $maxColumn = $this->getObjectValue($this->printer, 'maxColumn');
$this->assertEquals(3, $numTestsWidth);
- $this->assertEquals(63, $maxColumn);
+ $maxExpectedColumun = 63;
+ if (defined('PHP_WINDOWS_VERSION_BUILD')) {
+ $maxExpectedColumun -= 1;
+ }
+
+ $maxColumn = $this->getObjectValue($this->printer, 'maxColumn');
+ $this->assertEquals($maxExpectedColumun, $maxColumn);
}
- public function testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent()
+ public function testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent(): void
{
$pathToConfig = $this->getPathToConfig();
file_put_contents($pathToConfig, '');
- $options = new Options(['configuration' => $pathToConfig]);
+ $options = new Options(['configuration' => $pathToConfig]);
$contents = $this->getStartOutput($options);
$expected = sprintf(
"\nRunning phpunit in %s processes with %s\n\nConfiguration read from %s\n\n",
@@ -119,9 +125,9 @@ public function testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePres
$this->assertStringStartsWith($expected, $contents);
}
- public function testStartPrintsOptionInfoWithFunctionalMode()
+ public function testStartPrintsOptionInfoWithFunctionalMode(): void
{
- $options = new Options(['functional' => true]);
+ $options = new Options(['functional' => true]);
$contents = $this->getStartOutput($options);
$expected = sprintf(
"\nRunning phpunit in %s processes with %s. Functional mode is ON.\n\n",
@@ -131,15 +137,15 @@ public function testStartPrintsOptionInfoWithFunctionalMode()
$this->assertStringStartsWith($expected, $contents);
}
- public function testStartPrintsOptionInfoWithSingularForOneProcess()
+ public function testStartPrintsOptionInfoWithSingularForOneProcess(): void
{
- $options = new Options(['processes' => 1]);
+ $options = new Options(['processes' => 1]);
$contents = $this->getStartOutput($options);
$expected = sprintf("\nRunning phpunit in 1 process with %s\n\n", $options->phpunit);
$this->assertStringStartsWith($expected, $contents);
}
- public function testAddSuiteAddsFunctionCountToTotalTestCases()
+ public function testAddSuiteAddsFunctionCountToTotalTestCases(): void
{
$suite = new Suite('/path', [
new ParsedFunction('doc', 'public', 'funcOne'),
@@ -149,14 +155,14 @@ public function testAddSuiteAddsFunctionCountToTotalTestCases()
$this->assertEquals(2, $this->printer->getTotalCases());
}
- public function testAddTestMethodIncrementsCountByOne()
+ public function testAddTestMethodIncrementsCountByOne(): void
{
$method = new TestMethod('/path', ['testThisMethod']);
$this->printer->addTest($method);
$this->assertEquals(1, $this->printer->getTotalCases());
}
- public function testGetHeader()
+ public function testGetHeader(): void
{
$this->printer->addTest($this->errorSuite)
->addTest($this->failureSuite);
@@ -165,7 +171,7 @@ public function testGetHeader()
$header = $this->printer->getHeader();
- $this->assertRegExp(
+ $this->assertMatchesRegularExpression(
"/\n\nTime: ([.:]?[0-9]{1,3})+ ?" .
'(minute|minutes|second|seconds|ms|)?,' .
" Memory:[\s][0-9]+([.][0-9]{1,2})? ?M[Bb]\n\n/",
@@ -173,7 +179,7 @@ public function testGetHeader()
);
}
- public function testGetErrorsSingleError()
+ public function testGetErrorsSingleError(): void
{
$this->printer->addTest($this->errorSuite)
->addTest($this->failureSuite);
@@ -182,7 +188,7 @@ public function testGetErrorsSingleError()
$errors = $this->printer->getErrors();
- $eq = "There was 1 error:\n\n";
+ $eq = "There was 1 error:\n\n";
$eq .= "1) UnitTestWithErrorTest::testTruth\n";
$eq .= "Exception: Error!!!\n\n";
$eq .= "/home/brian/Projects/parallel-phpunit/test/fixtures/tests/UnitTestWithErrorTest.php:12\n";
@@ -190,7 +196,7 @@ public function testGetErrorsSingleError()
$this->assertEquals($eq, $errors);
}
- public function testGetErrorsMultipleErrors()
+ public function testGetErrorsMultipleErrors(): void
{
$this->printer->addTest($this->errorSuite)
->addTest($this->otherErrorSuite);
@@ -199,7 +205,7 @@ public function testGetErrorsMultipleErrors()
$errors = $this->printer->getErrors();
- $eq = "There were 2 errors:\n\n";
+ $eq = "There were 2 errors:\n\n";
$eq .= "1) UnitTestWithErrorTest::testTruth\n";
$eq .= "Exception: Error!!!\n\n";
$eq .= "/home/brian/Projects/parallel-phpunit/test/fixtures/tests/UnitTestWithErrorTest.php:12\n";
@@ -210,7 +216,7 @@ public function testGetErrorsMultipleErrors()
$this->assertEquals($eq, $errors);
}
- public function testGetFailures()
+ public function testGetFailures(): void
{
$this->printer->addTest($this->mixedSuite);
@@ -218,7 +224,7 @@ public function testGetFailures()
$failures = $this->printer->getFailures();
- $eq = "There were 2 failures:\n\n";
+ $eq = "There were 2 failures:\n\n";
$eq .= "1) UnitTestWithClassAnnotationTest::testFalsehood\n";
$eq .= "Failed asserting that true is false.\n\n";
$eq .= "/home/brian/Projects/parallel-phpunit/test/fixtures/tests/UnitTestWithClassAnnotationTest.php:20\n";
@@ -229,7 +235,7 @@ public function testGetFailures()
$this->assertEquals($eq, $failures);
}
- public function testGetFooterWithFailures()
+ public function testGetFooterWithFailures(): void
{
$this->printer->addTest($this->errorSuite)
->addTest($this->mixedSuite);
@@ -238,13 +244,13 @@ public function testGetFooterWithFailures()
$footer = $this->printer->getFooter();
- $eq = "\nFAILURES!\n";
+ $eq = "\nFAILURES!\n";
$eq .= "Tests: 8, Assertions: 6, Failures: 2, Errors: 2.\n";
$this->assertEquals($eq, $footer);
}
- public function testGetFooterWithSuccess()
+ public function testGetFooterWithSuccess(): void
{
$this->printer->addTest($this->passingSuite);
@@ -257,7 +263,7 @@ public function testGetFooterWithSuccess()
$this->assertEquals($eq, $footer);
}
- public function testPrintFeedbackForMixed()
+ public function testPrintFeedbackForMixed(): void
{
$this->printer->addTest($this->mixedSuite);
ob_start();
@@ -266,7 +272,7 @@ public function testPrintFeedbackForMixed()
$this->assertEquals('.F.E.F.', $contents);
}
- public function testPrintFeedbackForMoreThan100Suites()
+ public function testPrintFeedbackForMoreThan100Suites(): void
{
//add tests
for ($i = 0; $i < 40; ++$i) {
@@ -283,21 +289,31 @@ public function testPrintFeedbackForMoreThan100Suites()
for ($i = 0; $i < 40; ++$i) {
$this->printer->printFeedback($this->passingSuite);
}
+
$feedback = ob_get_clean();
+ $firstRowColumns = 63;
+ $secondRowColumns = 57;
+ if (defined('PHP_WINDOWS_VERSION_BUILD')) {
+ $firstRowColumns -= 1;
+ $secondRowColumns += 1;
+ }
+
//assert it is as expected
$expected = '';
- for ($i = 0; $i < 63; ++$i) {
+ for ($i = 0; $i < $firstRowColumns; ++$i) {
$expected .= '.';
}
- $expected .= " 63 / 120 ( 52%)\n";
- for ($i = 0; $i < 57; ++$i) {
+
+ $expected .= sprintf(" %s / 120 ( %s%%)\n", $firstRowColumns, (int) ($firstRowColumns / 120 * 100));
+ for ($i = 0; $i < $secondRowColumns; ++$i) {
$expected .= '.';
}
+
$this->assertEquals($expected, $feedback);
}
- public function testResultPrinterAdjustsTotalCountForDataProviders()
+ public function testResultPrinterAdjustsTotalCountForDataProviders(): void
{
//add tests
for ($i = 0; $i < 22; ++$i) {
@@ -314,36 +330,46 @@ public function testResultPrinterAdjustsTotalCountForDataProviders()
for ($i = 0; $i < 22; ++$i) {
$this->printer->printFeedback($this->passingSuiteWithWrongTestCountEstimation);
}
+
$feedback = ob_get_clean();
+ $firstRowColumns = 65;
+ $secondRowColumns = 1;
+ if (defined('PHP_WINDOWS_VERSION_BUILD')) {
+ $firstRowColumns -= 1;
+ $secondRowColumns += 1;
+ }
+
//assert it is as expected
$expected = '';
- for ($i = 0; $i < 65; ++$i) {
+ for ($i = 0; $i < $firstRowColumns; ++$i) {
$expected .= '.';
}
- $expected .= " 65 / 66 ( 98%)\n";
- for ($i = 0; $i < 1; ++$i) {
+
+ $expected .= sprintf(" %s / 66 ( %s%%)\n", $firstRowColumns, (int) ($firstRowColumns / 66 * 100));
+ for ($i = 0; $i < $secondRowColumns; ++$i) {
$expected .= '.';
}
+
$this->assertEquals($expected, $feedback);
}
- protected function getStartOutput(Options $options)
+ protected function getStartOutput(Options $options): string
{
ob_start();
$this->printer->start($options);
- $contents = ob_get_clean();
- return $contents;
+ return ob_get_clean();
}
- private function prepareReaders()
+ private function prepareReaders(): void
{
$suites = $this->getObjectValue($this->printer, 'suites');
ob_start();
foreach ($suites as $suite) {
$this->printer->printFeedback($suite);
}
+
ob_end_clean();
}
}
diff --git a/test/Unit/Runners/PHPUnit/RunnerTest.php b/test/Unit/Runners/PHPUnit/RunnerTest.php
index dd735db..6ac55b0 100644
--- a/test/Unit/Runners/PHPUnit/RunnerTest.php
+++ b/test/Unit/Runners/PHPUnit/RunnerTest.php
@@ -8,22 +8,25 @@
use ParaTest\Runners\PHPUnit\Configuration;
use ParaTest\Runners\PHPUnit\ResultPrinter;
use ParaTest\Runners\PHPUnit\Runner;
+use ParaTest\Tests\TestBase;
-class RunnerTest extends \ParaTest\Tests\TestBase
+use function getcwd;
+use function uniqid;
+
+class RunnerTest extends TestBase
{
+ /** @var Runner */
protected $runner;
- protected $files;
- protected $testDir;
public function setUp(): void
{
$this->runner = new Runner();
}
- public function testConstructor()
+ public function testConstructor(): void
{
- $opts = ['processes' => 4, 'path' => FIXTURES . DS . 'tests', 'bootstrap' => 'hello', 'functional' => true];
- $runner = new Runner($opts);
+ $opts = ['processes' => 4, 'path' => FIXTURES . DS . 'tests', 'bootstrap' => 'hello', 'functional' => true];
+ $runner = new Runner($opts);
$options = $this->getObjectValue($runner, 'options');
$this->assertEquals(4, $options->processes);
@@ -39,20 +42,20 @@ public function testConstructor()
$this->assertInstanceOf(ResultPrinter::class, $this->getObjectValue($runner, 'printer'));
}
- public function testGetExitCode()
+ public function testGetExitCode(): void
{
$this->assertEquals(-1, $this->runner->getExitCode());
}
- public function testConstructorAssignsTokens()
+ public function testConstructorAssignsTokens(): void
{
- $opts = ['processes' => 4, 'path' => FIXTURES . DS . 'tests', 'bootstrap' => 'hello', 'functional' => true];
+ $opts = ['processes' => 4, 'path' => FIXTURES . DS . 'tests', 'bootstrap' => 'hello', 'functional' => true];
$runner = new Runner($opts);
$tokens = $this->getObjectValue($runner, 'tokens');
$this->assertCount(4, $tokens);
}
- public function testGetsNextAvailableTokenReturnsTokenIdentifier()
+ public function testGetsNextAvailableTokenReturnsTokenIdentifier(): void
{
$tokens = [
0 => ['token' => 0, 'unique' => uniqid(), 'available' => false],
@@ -60,7 +63,7 @@ public function testGetsNextAvailableTokenReturnsTokenIdentifier()
2 => ['token' => 2, 'unique' => uniqid(), 'available' => true],
3 => ['token' => 3, 'unique' => uniqid(), 'available' => false],
];
- $opts = ['processes' => 4, 'path' => FIXTURES . DS . 'tests', 'bootstrap' => 'hello', 'functional' => true];
+ $opts = ['processes' => 4, 'path' => FIXTURES . DS . 'tests', 'bootstrap' => 'hello', 'functional' => true];
$runner = new Runner($opts);
$this->setObjectValue($runner, 'tokens', $tokens);
@@ -68,7 +71,7 @@ public function testGetsNextAvailableTokenReturnsTokenIdentifier()
$this->assertEquals(2, $tokenData['token']);
}
- public function testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable()
+ public function testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable(): void
{
$tokens = [
0 => ['token' => 0, 'unique' => uniqid(), 'available' => false],
@@ -76,7 +79,7 @@ public function testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable()
2 => ['token' => 2, 'unique' => uniqid(), 'available' => false],
3 => ['token' => 3, 'unique' => uniqid(), 'available' => false],
];
- $opts = ['processes' => 4, 'path' => FIXTURES . DS . 'tests', 'bootstrap' => 'hello', 'functional' => true];
+ $opts = ['processes' => 4, 'path' => FIXTURES . DS . 'tests', 'bootstrap' => 'hello', 'functional' => true];
$runner = new Runner($opts);
$this->setObjectValue($runner, 'tokens', $tokens);
@@ -84,7 +87,7 @@ public function testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable()
$this->assertFalse($tokenData);
}
- public function testReleaseTokenMakesTokenAvailable()
+ public function testReleaseTokenMakesTokenAvailable(): void
{
$tokens = [
0 => ['token' => 0, 'unique' => uniqid(), 'available' => false],
@@ -92,7 +95,7 @@ public function testReleaseTokenMakesTokenAvailable()
2 => ['token' => 2, 'unique' => uniqid(), 'available' => false],
3 => ['token' => 3, 'unique' => uniqid(), 'available' => false],
];
- $opts = ['processes' => 4, 'path' => FIXTURES . DS . 'tests', 'bootstrap' => 'hello', 'functional' => true];
+ $opts = ['processes' => 4, 'path' => FIXTURES . DS . 'tests', 'bootstrap' => 'hello', 'functional' => true];
$runner = new Runner($opts);
$this->setObjectValue($runner, 'tokens', $tokens);
diff --git a/test/Unit/Runners/PHPUnit/SuiteLoaderTest.php b/test/Unit/Runners/PHPUnit/SuiteLoaderTest.php
index 7131fc7..f80400b 100644
--- a/test/Unit/Runners/PHPUnit/SuiteLoaderTest.php
+++ b/test/Unit/Runners/PHPUnit/SuiteLoaderTest.php
@@ -4,47 +4,57 @@
namespace ParaTest\Tests\Unit\Runners\PHPUnit;
+use InvalidArgumentException;
+use ParaTest\Runners\PHPUnit\ExecutableTest;
use ParaTest\Runners\PHPUnit\Options;
+use ParaTest\Runners\PHPUnit\Suite;
use ParaTest\Runners\PHPUnit\SuiteLoader;
+use ParaTest\Tests\TestBase;
+use RuntimeException;
-class SuiteLoaderTest extends \ParaTest\Tests\TestBase
+use function array_keys;
+use function array_shift;
+use function count;
+use function strstr;
+
+class SuiteLoaderTest extends TestBase
{
- public function testConstructor()
+ public function testConstructor(): void
{
$options = new Options(['group' => 'group1']);
- $loader = new SuiteLoader($options);
+ $loader = new SuiteLoader($options);
$this->assertEquals($options, $this->getObjectValue($loader, 'options'));
}
- public function testOptionsCanBeNull()
+ public function testOptionsCanBeNull(): void
{
$loader = new SuiteLoader();
$this->assertNull($this->getObjectValue($loader, 'options'));
}
- public function testLoadThrowsExceptionWithInvalidPath()
+ public function testLoadThrowsExceptionWithInvalidPath(): void
{
- $this->expectException(\InvalidArgumentException::class);
+ $this->expectException(InvalidArgumentException::class);
$loader = new SuiteLoader();
$loader->load('/path/to/nowhere');
}
- public function testLoadBarePathWithNoPathAndNoConfiguration()
+ public function testLoadBarePathWithNoPathAndNoConfiguration(): void
{
- $this->expectException(\RuntimeException::class);
+ $this->expectException(RuntimeException::class);
$this->expectExceptionMessage('No path or configuration provided (tests must end with Test.php)');
$loader = new SuiteLoader();
$loader->load();
}
- public function testLoadTestsuiteFileFromConfig()
+ public function testLoadTestsuiteFileFromConfig(): void
{
$options = new Options(
['configuration' => $this->fixture('phpunit-file.xml'), 'testsuite' => ['ParaTest Fixtures']]
);
- $loader = new SuiteLoader($options);
+ $loader = new SuiteLoader($options);
$loader->load();
$files = $this->getObjectValue($loader, 'files');
@@ -52,13 +62,13 @@ public function testLoadTestsuiteFileFromConfig()
$this->assertCount($expected, $files);
}
- public function testLoadTestsuiteFilesFromConfigWhileIgnoringExcludeTag()
+ public function testLoadTestsuiteFilesFromConfigWhileIgnoringExcludeTag(): void
{
$options = new Options([
'configuration' => $this->fixture('phpunit-excluded-including-file.xml'),
- 'testsuite' => ['ParaTest Fixtures']
+ 'testsuite' => ['ParaTest Fixtures'],
]);
- $loader = new SuiteLoader($options);
+ $loader = new SuiteLoader($options);
$loader->load();
$files = $this->getObjectValue($loader, 'files');
@@ -66,13 +76,13 @@ public function testLoadTestsuiteFilesFromConfigWhileIgnoringExcludeTag()
$this->assertCount($expected, $files);
}
- public function testLoadTestsuiteFilesFromDirFromConfigWhileRespectingExcludeTag()
+ public function testLoadTestsuiteFilesFromDirFromConfigWhileRespectingExcludeTag(): void
{
$options = new Options([
'configuration' => $this->fixture('phpunit-excluded-including-dir.xml'),
- 'testsuite' => ['ParaTest Fixtures']
+ 'testsuite' => ['ParaTest Fixtures'],
]);
- $loader = new SuiteLoader($options);
+ $loader = new SuiteLoader($options);
$loader->load();
$files = $this->getObjectValue($loader, 'files');
@@ -80,13 +90,13 @@ public function testLoadTestsuiteFilesFromDirFromConfigWhileRespectingExcludeTag
$this->assertCount($expected, $files);
}
- public function testLoadTestsuiteFilesFromConfigWhileIncludingAndExcludingTheSameDirectory()
+ public function testLoadTestsuiteFilesFromConfigWhileIncludingAndExcludingTheSameDirectory(): void
{
$options = new Options([
'configuration' => $this->fixture('phpunit-excluded-including-excluding-same-dir.xml'),
- 'testsuite' => ['ParaTest Fixtures']
+ 'testsuite' => ['ParaTest Fixtures'],
]);
- $loader = new SuiteLoader($options);
+ $loader = new SuiteLoader($options);
$loader->load();
$files = $this->getObjectValue($loader, 'files');
@@ -94,13 +104,13 @@ public function testLoadTestsuiteFilesFromConfigWhileIncludingAndExcludingTheSam
$this->assertCount($expected, $files);
}
- public function testLoadTestsuiteFilesFromConfig()
+ public function testLoadTestsuiteFilesFromConfig(): void
{
$options = new Options([
'configuration' => $this->fixture('phpunit-multifile.xml'),
- 'testsuite' => ['ParaTest Fixtures']
+ 'testsuite' => ['ParaTest Fixtures'],
]);
- $loader = new SuiteLoader($options);
+ $loader = new SuiteLoader($options);
$loader->load();
$files = $this->getObjectValue($loader, 'files');
@@ -108,137 +118,142 @@ public function testLoadTestsuiteFilesFromConfig()
$this->assertCount($expected, $files);
}
- public function testLoadTestsuiteWithDirectory()
+ public function testLoadTestsuiteWithDirectory(): void
{
$options = new Options([
'configuration' => $this->fixture('phpunit-passing.xml'),
- 'testsuite' => ['ParaTest Fixtures']
+ 'testsuite' => ['ParaTest Fixtures'],
]);
- $loader = new SuiteLoader($options);
+ $loader = new SuiteLoader($options);
$loader->load();
$files = $this->getObjectValue($loader, 'files');
- $expected = \count($this->findTests(FIXTURES . DS . 'passing-tests'));
+ $expected = count($this->findTests(FIXTURES . DS . 'passing-tests'));
$this->assertCount($expected, $files);
}
- public function testLoadTestsuiteWithDirectories()
+ public function testLoadTestsuiteWithDirectories(): void
{
$options = new Options([
'configuration' => $this->fixture('phpunit-multidir.xml'),
- 'testsuite' => ['ParaTest Fixtures']
+ 'testsuite' => ['ParaTest Fixtures'],
]);
- $loader = new SuiteLoader($options);
+ $loader = new SuiteLoader($options);
$loader->load();
$files = $this->getObjectValue($loader, 'files');
- $expected = \count($this->findTests(FIXTURES . DS . 'passing-tests')) +
- \count($this->findTests(FIXTURES . DS . 'failing-tests'));
+ $expected = count($this->findTests(FIXTURES . DS . 'passing-tests')) +
+ count($this->findTests(FIXTURES . DS . 'failing-tests'));
$this->assertCount($expected, $files);
}
- public function testLoadTestsuiteWithFilesDirsMixed()
+ public function testLoadTestsuiteWithFilesDirsMixed(): void
{
$options = new Options(
['configuration' => $this->fixture('phpunit-files-dirs-mix.xml'), 'testsuite' => ['ParaTest Fixtures']]
);
- $loader = new SuiteLoader($options);
+ $loader = new SuiteLoader($options);
$loader->load();
$files = $this->getObjectValue($loader, 'files');
- $expected = \count($this->findTests(FIXTURES . DS . 'failing-tests')) + 2;
+ $expected = count($this->findTests(FIXTURES . DS . 'failing-tests')) + 2;
$this->assertCount($expected, $files);
}
- public function testLoadTestsuiteWithNestedSuite()
+ public function testLoadTestsuiteWithNestedSuite(): void
{
$options = new Options([
'configuration' => $this->fixture('phpunit-files-dirs-mix-nested.xml'),
- 'testsuite' => ['ParaTest Fixtures']
+ 'testsuite' => ['ParaTest Fixtures'],
]);
- $loader = new SuiteLoader($options);
+ $loader = new SuiteLoader($options);
$loader->load();
$files = $this->getObjectValue($loader, 'files');
- $expected = \count($this->findTests(FIXTURES . DS . 'passing-tests')) +
- \count($this->findTests(FIXTURES . DS . 'failing-tests')) + 1;
+ $expected = count($this->findTests(FIXTURES . DS . 'passing-tests')) +
+ count($this->findTests(FIXTURES . DS . 'failing-tests')) + 1;
$this->assertCount($expected, $files);
}
- public function testLoadTestsuiteWithDuplicateFilesDirMixed()
+ public function testLoadTestsuiteWithDuplicateFilesDirMixed(): void
{
$options = new Options([
'configuration' => $this->fixture('phpunit-files-dirs-mix-duplicates.xml'),
- 'testsuite' => ['ParaTest Fixtures']
+ 'testsuite' => ['ParaTest Fixtures'],
]);
- $loader = new SuiteLoader($options);
+ $loader = new SuiteLoader($options);
$loader->load();
$files = $this->getObjectValue($loader, 'files');
- $expected = \count($this->findTests(FIXTURES . DS . 'passing-tests')) + 1;
+ $expected = count($this->findTests(FIXTURES . DS . 'passing-tests')) + 1;
$this->assertCount($expected, $files);
}
- public function testLoadSuiteFromConfig()
+ public function testLoadSuiteFromConfig(): void
{
$options = new Options(['configuration' => $this->fixture('phpunit-passing.xml')]);
- $loader = new SuiteLoader($options);
+ $loader = new SuiteLoader($options);
$loader->load();
$files = $this->getObjectValue($loader, 'files');
- $expected = \count($this->findTests(FIXTURES . DS . 'passing-tests'));
+ $expected = count($this->findTests(FIXTURES . DS . 'passing-tests'));
$this->assertCount($expected, $files);
}
- public function testLoadSuiteFromConfigWithMultipleDirs()
+ public function testLoadSuiteFromConfigWithMultipleDirs(): void
{
$options = new Options(['configuration' => $this->fixture('phpunit-multidir.xml')]);
- $loader = new SuiteLoader($options);
+ $loader = new SuiteLoader($options);
$loader->load();
$files = $this->getObjectValue($loader, 'files');
- $expected = \count($this->findTests(FIXTURES . DS . 'passing-tests')) +
- \count($this->findTests(FIXTURES . DS . 'failing-tests'));
+ $expected = count($this->findTests(FIXTURES . DS . 'passing-tests')) +
+ count($this->findTests(FIXTURES . DS . 'failing-tests'));
$this->assertCount($expected, $files);
}
- public function testLoadSuiteFromConfigWithBadSuitePath()
+ public function testLoadSuiteFromConfigWithBadSuitePath(): void
{
- $this->expectException(\RuntimeException::class);
+ $this->expectException(RuntimeException::class);
$this->expectExceptionMessage('Suite path ./nope/ could not be found');
$options = new Options(['configuration' => $this->fixture('phpunit-non-existent-testsuite-dir.xml')]);
- $loader = new SuiteLoader($options);
+ $loader = new SuiteLoader($options);
$loader->load();
}
- public function testLoadFileGetsPathOfFile()
+ public function testLoadFileGetsPathOfFile(): void
{
- $path = $this->fixture('failing-tests/UnitTestWithClassAnnotationTest.php');
+ $path = $this->fixture('failing-tests/UnitTestWithClassAnnotationTest.php');
$paths = $this->getLoadedPaths($path);
$this->assertEquals($path, array_shift($paths));
}
- protected function getLoadedPaths($path, $loader = null)
+ /**
+ * @return string[]
+ */
+ protected function getLoadedPaths(string $path, ?SuiteLoader $loader = null): array
{
$loader = $loader ?: new SuiteLoader();
$loader->load($path);
$loaded = $this->getObjectValue($loader, 'loadedSuites');
- $paths = array_keys($loaded);
- return $paths;
+ return array_keys($loaded);
}
- public function testLoadFileShouldLoadFileWhereNameDoesNotEndInTest()
+ public function testLoadFileShouldLoadFileWhereNameDoesNotEndInTest(): void
{
- $path = $this->fixture('passing-tests/TestOfUnits.php');
+ $path = $this->fixture('passing-tests/TestOfUnits.php');
$paths = $this->getLoadedPaths($path);
$this->assertEquals($path, array_shift($paths));
}
- public function testLoadDirGetsPathOfAllTestsWithKeys()
+ /**
+ * @return ExecutableTest[]
+ */
+ public function testLoadDirGetsPathOfAllTestsWithKeys(): array
{
- $path = $this->fixture('passing-tests');
+ $path = $this->fixture('passing-tests');
$files = $this->findTests($path);
$loader = new SuiteLoader();
@@ -252,13 +267,13 @@ public function testLoadDirGetsPathOfAllTestsWithKeys()
}
/**
- * @depends testLoadDirGetsPathOfAllTestsWithKeys
+ * @param ExecutableTest[] $paraSuites
*
- * @param mixed $paraSuites
+ * @depends testLoadDirGetsPathOfAllTestsWithKeys
*/
- public function testFirstParallelSuiteHasCorrectFunctions($paraSuites)
+ public function testFirstParallelSuiteHasCorrectFunctions(array $paraSuites): void
{
- $first = $this->suiteByPath('GroupsTest.php', $paraSuites);
+ $first = $this->suiteByPath('GroupsTest.php', $paraSuites);
$functions = $first->getFunctions();
$this->assertCount(5, $functions);
$this->assertEquals('testTruth', $functions[0]->getName());
@@ -268,32 +283,38 @@ public function testFirstParallelSuiteHasCorrectFunctions($paraSuites)
$this->assertEquals('testAddition', $functions[4]->getName());
}
- private function suiteByPath($path, array $paraSuites)
+ /**
+ * @param ExecutableTest[] $paraSuites
+ */
+ private function suiteByPath(string $path, array $paraSuites): Suite
{
foreach ($paraSuites as $completePath => $suite) {
if (strstr($completePath, $path)) {
+ $this->assertInstanceOf(Suite::class, $suite);
+
return $suite;
}
}
- throw new \RuntimeException("Suite $path not found.");
+
+ throw new RuntimeException("Suite $path not found.");
}
/**
- * @depends testLoadDirGetsPathOfAllTestsWithKeys
+ * @param ExecutableTest[] $paraSuites
*
- * @param mixed $paraSuites
+ * @depends testLoadDirGetsPathOfAllTestsWithKeys
*/
- public function testSecondParallelSuiteHasCorrectFunctions($paraSuites)
+ public function testSecondParallelSuiteHasCorrectFunctions(array $paraSuites): void
{
- $second = $this->suiteByPath('LegacyNamespaceTest.php', $paraSuites);
+ $second = $this->suiteByPath('LegacyNamespaceTest.php', $paraSuites);
$functions = $second->getFunctions();
$this->assertCount(1, $functions);
}
- public function testGetTestMethodsOnlyReturnsMethodsOfGroupIfOptionIsSpecified()
+ public function testGetTestMethodsOnlyReturnsMethodsOfGroupIfOptionIsSpecified(): void
{
- $options = new Options(['group' => 'group1']);
- $loader = new SuiteLoader($options);
+ $options = new Options(['group' => 'group1']);
+ $loader = new SuiteLoader($options);
$groupsTest = $this->fixture('passing-tests/GroupsTest.php');
$loader->load($groupsTest);
$methods = $loader->getTestMethods();
@@ -302,10 +323,10 @@ public function testGetTestMethodsOnlyReturnsMethodsOfGroupIfOptionIsSpecified()
$this->assertEquals('testFalsehood', $methods[1]->getName());
}
- public function testGetTestMethodsOnlyReturnsMethodsOfClassGroup()
+ public function testGetTestMethodsOnlyReturnsMethodsOfClassGroup(): void
{
- $options = new Options(['group' => 'group4']);
- $loader = new SuiteLoader($options);
+ $options = new Options(['group' => 'group4']);
+ $loader = new SuiteLoader($options);
$groupsTest = $this->fixture('passing-tests/GroupsTest.php');
$loader->load($groupsTest);
$methods = $loader->getTestMethods();
@@ -313,27 +334,27 @@ public function testGetTestMethodsOnlyReturnsMethodsOfClassGroup()
$this->assertCount(5, $methods);
}
- public function testGetSuitesForNonMatchingGroups()
+ public function testGetSuitesForNonMatchingGroups(): void
{
- $options = new Options(['group' => 'non-existent']);
- $loader = new SuiteLoader($options);
+ $options = new Options(['group' => 'non-existent']);
+ $loader = new SuiteLoader($options);
$groupsTest = $this->fixture('passing-tests/GroupsTest.php');
$loader->load($groupsTest);
$this->assertCount(0, $loader->getSuites());
$this->assertCount(0, $loader->getTestMethods());
}
- public function testLoadIgnoresFilesWithoutClasses()
+ public function testLoadIgnoresFilesWithoutClasses(): void
{
- $loader = new SuiteLoader();
+ $loader = new SuiteLoader();
$fileWithoutClass = $this->fixture('special-classes/FileWithoutClass.php');
$loader->load($fileWithoutClass);
$this->assertCount(0, $loader->getTestMethods());
}
- public function testExecutableTestsForFunctionalModeUse()
+ public function testExecutableTestsForFunctionalModeUse(): void
{
- $path = $this->fixture('passing-tests/DependsOnChain.php');
+ $path = $this->fixture('passing-tests/DependsOnChain.php');
$loader = new SuiteLoader();
$loader->load($path);
$tests = $loader->getTestMethods();
diff --git a/test/Unit/Runners/PHPUnit/SuiteTest.php b/test/Unit/Runners/PHPUnit/SuiteTest.php
index 2e5bfd0..416575a 100644
--- a/test/Unit/Runners/PHPUnit/SuiteTest.php
+++ b/test/Unit/Runners/PHPUnit/SuiteTest.php
@@ -5,9 +5,11 @@
namespace ParaTest\Tests\Unit\Runners\PHPUnit;
use ParaTest\Runners\PHPUnit\Suite;
+use ParaTest\Tests\TestBase;
-class SuiteTest extends \ParaTest\Tests\TestBase
+class SuiteTest extends TestBase
{
+ /** @var Suite */
protected $suite;
public function setUp(): void
@@ -15,7 +17,7 @@ public function setUp(): void
$this->suite = new Suite('/path/to/UnitTest.php', []);
}
- public function testConstruction()
+ public function testConstruction(): void
{
$this->assertNull($this->getObjectValue($this->suite, 'process'));
}
diff --git a/test/Unit/Runners/PHPUnit/TestFileLoaderTest.php b/test/Unit/Runners/PHPUnit/TestFileLoaderTest.php
index 988a7b6..2d031db 100644
--- a/test/Unit/Runners/PHPUnit/TestFileLoaderTest.php
+++ b/test/Unit/Runners/PHPUnit/TestFileLoaderTest.php
@@ -4,30 +4,32 @@
namespace ParaTest\Tests\Unit\Runners\PHPUnit;
+use InvalidArgumentException;
use ParaTest\Runners\PHPUnit\Options;
use ParaTest\Runners\PHPUnit\TestFileLoader;
+use ParaTest\Tests\TestBase;
/**
* The functionnalities of this class is tested in SuiteLoaderTest.php.
*/
-class TestFileLoaderTest extends \ParaTest\Tests\TestBase
+class TestFileLoaderTest extends TestBase
{
- public function testConstructor()
+ public function testConstructor(): void
{
- $options = new Options(['group' => 'group1']);
+ $options = new Options(['group' => 'group1']);
$testFileLoader = new TestFileLoader($options);
$this->assertEquals($options, $this->getObjectValue($testFileLoader, 'options'));
}
- public function testOptionsCanBeNull()
+ public function testOptionsCanBeNull(): void
{
$testFileLoader = new TestFileLoader();
$this->assertNull($this->getObjectValue($testFileLoader, 'options'));
}
- public function testLoadThrowsExceptionWithInvalidPath()
+ public function testLoadThrowsExceptionWithInvalidPath(): void
{
- $this->expectException(\InvalidArgumentException::class);
+ $this->expectException(InvalidArgumentException::class);
$testFileLoader = new TestFileLoader();
$testFileLoader->loadPath('path/to/nowhere');
diff --git a/test/Unit/Runners/PHPUnit/TestMethodTest.php b/test/Unit/Runners/PHPUnit/TestMethodTest.php
index 6171ee2..09ae7df 100644
--- a/test/Unit/Runners/PHPUnit/TestMethodTest.php
+++ b/test/Unit/Runners/PHPUnit/TestMethodTest.php
@@ -5,10 +5,11 @@
namespace ParaTest\Tests\Unit\Runners\PHPUnit;
use ParaTest\Runners\PHPUnit\TestMethod;
+use ParaTest\Tests\TestBase;
-class TestMethodTest extends \ParaTest\Tests\TestBase
+class TestMethodTest extends TestBase
{
- public function testConstructor()
+ public function testConstructor(): void
{
$testMethod = new TestMethod('pathToFile', ['methodName']);
$this->assertEquals('pathToFile', $this->getObjectValue($testMethod, 'path'));
diff --git a/test/Unit/Runners/PHPUnit/WrapperRunnerTest.php b/test/Unit/Runners/PHPUnit/WrapperRunnerTest.php
new file mode 100644
index 0000000..93d4909
--- /dev/null
+++ b/test/Unit/Runners/PHPUnit/WrapperRunnerTest.php
@@ -0,0 +1,22 @@
+expectException(RuntimeException::class);
+
+ new WrapperRunner();
+ }
+}
diff --git a/test/Unit/Runners/PHPUnit/phpunit-ConfigurationTest.xml b/test/Unit/Runners/PHPUnit/phpunit-ConfigurationTest.xml
new file mode 100644
index 0000000..5d3daed
--- /dev/null
+++ b/test/Unit/Runners/PHPUnit/phpunit-ConfigurationTest.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/test/Unit/Runners/PHPUnit/phpunit.xml.dist b/test/Unit/Runners/PHPUnit/phpunit.xml.dist
deleted file mode 100644
index 635b93e..0000000
--- a/test/Unit/Runners/PHPUnit/phpunit.xml.dist
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/test/Unit/Util/StrTest.php b/test/Unit/Util/StrTest.php
index e497d41..aa0669f 100644
--- a/test/Unit/Util/StrTest.php
+++ b/test/Unit/Util/StrTest.php
@@ -7,15 +7,16 @@
use ParaTest\Util\Str;
use PHPUnit\Framework\TestCase;
+use function array_values;
+
class StrTest extends TestCase
{
/**
- * @param string $delimiter
- * @param string $valueString
- * @param array $expected
+ * @param array> $expected
+ *
* @dataProvider explodeWithCleanupDataProvider
*/
- public function testExplodeWithCleanup(string $delimiter, string $valueString, array $expected)
+ public function testExplodeWithCleanup(string $delimiter, string $valueString, array $expected): void
{
$actual = Str::explodeWithCleanup($delimiter, $valueString);
$actual = array_values($actual);
@@ -23,7 +24,10 @@ public function testExplodeWithCleanup(string $delimiter, string $valueString, a
$this->assertEquals($expected, $actual);
}
- public function explodeWithCleanupDataProvider()
+ /**
+ * @return array>
+ */
+ public function explodeWithCleanupDataProvider(): array
{
return [
'default' => [
diff --git a/test/bootstrap.php b/test/bootstrap.php
index 7d4cd16..ac2bc39 100644
--- a/test/bootstrap.php
+++ b/test/bootstrap.php
@@ -2,26 +2,6 @@
declare(strict_types=1);
-if (!defined('DS')) {
- define('DS', DIRECTORY_SEPARATOR);
-}
-
-require_once dirname(__DIR__) . DS . 'vendor' . DS . 'autoload.php';
-
-//TEST CONSTANTS
-define('FIXTURES', __DIR__ . DS . 'fixtures');
-
-$pb = dirname(__DIR__) . DS . 'bin' . DS . 'paratest';
-if (defined('PHP_WINDOWS_VERSION_BUILD')) {
- $pb .= '.bat';
-}
-define('PARA_BINARY', $pb);
-define('PARATEST_ROOT', dirname(__DIR__));
-
-$phpunit_path = PARATEST_ROOT . DS . 'vendor' . DS . 'phpunit' . DS . 'phpunit' . DS . 'phpunit';
-define('PHPUNIT', $phpunit_path);
-
-define('BOOTSTRAP', __FILE__);
-define('PHPUNIT_CONFIGURATION', dirname(__DIR__) . DS . 'phpunit.xml.dist');
-
-require_once __DIR__ . DS . 'TestBase.php';
+require_once __DIR__ . DIRECTORY_SEPARATOR . 'constants.php';
+require_once PARATEST_ROOT . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
+require_once __DIR__ . DIRECTORY_SEPARATOR . 'TestBase.php';
diff --git a/test/constants.php b/test/constants.php
new file mode 100644
index 0000000..917bfd2
--- /dev/null
+++ b/test/constants.php
@@ -0,0 +1,15 @@
+includeFiles(array (
+ 'C:\\paratest\\src\\ParaTest\\Console\\Commands\\ParaTestCommand.php',
+ 'C:\\paratest\\src\\ParaTest\\Console\\ParaTestApplication.php',
+ 'C:\\paratest\\src\\ParaTest\\Console\\Testers\\PHPUnit.php',
+ 'C:\\paratest\\src\\ParaTest\\Console\\Testers\\Tester.php',
+ 'C:\\paratest\\src\\ParaTest\\Coverage\\CoverageMerger.php',
+ 'C:\\paratest\\src\\ParaTest\\Coverage\\CoverageReporter.php',
+ 'C:\\paratest\\src\\ParaTest\\Coverage\\CoverageReporterInterface.php',
+ 'C:\\paratest\\src\\ParaTest\\Coverage\\CoverageReporterLegacy.php',
+ 'C:\\paratest\\src\\ParaTest\\Logging\\JUnit\\Reader.php',
+ 'C:\\paratest\\src\\ParaTest\\Logging\\JUnit\\TestCase.php',
+ 'C:\\paratest\\src\\ParaTest\\Logging\\JUnit\\TestSuite.php',
+ 'C:\\paratest\\src\\ParaTest\\Logging\\JUnit\\Writer.php',
+ 'C:\\paratest\\src\\ParaTest\\Logging\\LogInterpreter.php',
+ 'C:\\paratest\\src\\ParaTest\\Logging\\MetaProvider.php',
+ 'C:\\paratest\\src\\ParaTest\\Parser\\NoClassInFileException.php',
+ 'C:\\paratest\\src\\ParaTest\\Parser\\ParsedClass.php',
+ 'C:\\paratest\\src\\ParaTest\\Parser\\ParsedFunction.php',
+ 'C:\\paratest\\src\\ParaTest\\Parser\\ParsedObject.php',
+ 'C:\\paratest\\src\\ParaTest\\Parser\\Parser.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\BaseRunner.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\Configuration.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\ExecutableTest.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\Options.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\ResultPrinter.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\Runner.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\Suite.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\SuiteLoader.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\SuitePath.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\TestFileLoader.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\TestMethod.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\Worker.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\WrapperRunner.php',
+));
+
+$coverage = new \SebastianBergmann\CodeCoverage\CodeCoverage(new \SebastianBergmann\CodeCoverage\Driver\PcovDriver($filter), $filter);
+$data = array (
+ 'C:\\paratest\\src\\ParaTest\\Console\\ParaTestApplication.php' =>
+ array (
+ 18 =>
+ array (
+ ),
+ 19 =>
+ array (
+ ),
+ 28 =>
+ array (
+ ),
+ 29 =>
+ array (
+ ),
+ 30 => NULL,
+ 40 =>
+ array (
+ ),
+ 41 =>
+ array (
+ ),
+ 43 => NULL,
+ 51 =>
+ array (
+ ),
+ 52 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Coverage\\CoverageReporter.php' =>
+ array (
+ 22 =>
+ array (
+ ),
+ 23 =>
+ array (
+ ),
+ 32 =>
+ array (
+ ),
+ 33 =>
+ array (
+ ),
+ 34 =>
+ array (
+ ),
+ 43 =>
+ array (
+ ),
+ 44 =>
+ array (
+ ),
+ 45 =>
+ array (
+ ),
+ 53 =>
+ array (
+ ),
+ 54 =>
+ array (
+ ),
+ 55 =>
+ array (
+ ),
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Parser\\ParsedClass.php' =>
+ array (
+ 21 =>
+ array (
+ ),
+ 22 =>
+ array (
+ ),
+ 23 =>
+ array (
+ ),
+ 24 =>
+ array (
+ ),
+ 45 =>
+ array (
+ ),
+ 46 =>
+ array (
+ ),
+ 47 => NULL,
+ 56 =>
+ array (
+ ),
+ 57 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Coverage\\CoverageReporterInterface.php' =>
+ array (
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\Suite.php' =>
+ array (
+ 23 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 13 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 14 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 15 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 16 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 17 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 18 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 19 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 24 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 13 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 14 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 15 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 16 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 17 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 18 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 19 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 25 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 13 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 14 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 15 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 16 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 17 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 18 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 19 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 44 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Console\\Commands\\ParaTestCommand.php' =>
+ array (
+ 19 =>
+ array (
+ ),
+ 20 =>
+ array (
+ ),
+ 21 =>
+ array (
+ ),
+ 22 =>
+ array (
+ ),
+ 29 =>
+ array (
+ ),
+ 30 => NULL,
+ 38 =>
+ array (
+ ),
+ 39 =>
+ array (
+ ),
+ 40 =>
+ array (
+ ),
+ 41 =>
+ array (
+ ),
+ 42 =>
+ array (
+ ),
+ 43 =>
+ array (
+ ),
+ 44 =>
+ array (
+ ),
+ 45 =>
+ array (
+ ),
+ 46 =>
+ array (
+ ),
+ 48 =>
+ array (
+ ),
+ 49 =>
+ array (
+ ),
+ 51 =>
+ array (
+ ),
+ 62 =>
+ array (
+ ),
+ 63 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Logging\\MetaProvider.php' =>
+ array (
+ 35 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 36 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 38 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 39 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 41 =>
+ array (
+ ),
+ 51 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 52 =>
+ array (
+ ),
+ 53 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 54 => NULL,
+ 64 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 65 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 66 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 72 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 74 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 75 => NULL,
+ 69 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 70 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 71 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Parser\\NoClassInFileException.php' =>
+ array (
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\SuitePath.php' =>
+ array (
+ 28 =>
+ array (
+ ),
+ 29 =>
+ array (
+ ),
+ 31 =>
+ array (
+ ),
+ 32 =>
+ array (
+ ),
+ 33 =>
+ array (
+ ),
+ 34 =>
+ array (
+ ),
+ 41 =>
+ array (
+ ),
+ 42 => NULL,
+ 49 =>
+ array (
+ ),
+ 50 => NULL,
+ 57 =>
+ array (
+ ),
+ 58 => NULL,
+ 65 =>
+ array (
+ ),
+ 66 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\Configuration.php' =>
+ array (
+ 39 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 40 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 41 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 43 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 52 =>
+ array (
+ ),
+ 53 =>
+ array (
+ ),
+ 55 =>
+ array (
+ ),
+ 57 => NULL,
+ 67 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 68 => NULL,
+ 78 =>
+ array (
+ ),
+ 79 =>
+ array (
+ ),
+ 81 =>
+ array (
+ ),
+ 82 =>
+ array (
+ ),
+ 84 =>
+ array (
+ ),
+ 85 =>
+ array (
+ ),
+ 87 =>
+ array (
+ ),
+ 88 => NULL,
+ 100 =>
+ array (
+ ),
+ 102 =>
+ array (
+ ),
+ 103 =>
+ array (
+ ),
+ 104 =>
+ array (
+ ),
+ 105 =>
+ array (
+ ),
+ 106 =>
+ array (
+ ),
+ 108 =>
+ array (
+ ),
+ 109 =>
+ array (
+ ),
+ 110 =>
+ array (
+ ),
+ 112 =>
+ array (
+ ),
+ 113 =>
+ array (
+ ),
+ 114 =>
+ array (
+ ),
+ 115 =>
+ array (
+ ),
+ 116 =>
+ array (
+ ),
+ 119 =>
+ array (
+ ),
+ 120 =>
+ array (
+ ),
+ 121 =>
+ array (
+ ),
+ 126 =>
+ array (
+ ),
+ 127 =>
+ array (
+ ),
+ 130 =>
+ array (
+ ),
+ 133 =>
+ array (
+ ),
+ 139 =>
+ array (
+ ),
+ 140 => NULL,
+ 150 =>
+ array (
+ ),
+ 151 => NULL,
+ 161 =>
+ array (
+ ),
+ 163 =>
+ array (
+ ),
+ 164 =>
+ array (
+ ),
+ 167 =>
+ array (
+ ),
+ 168 =>
+ array (
+ ),
+ 169 =>
+ array (
+ ),
+ 170 =>
+ array (
+ ),
+ 171 =>
+ array (
+ ),
+ 174 =>
+ array (
+ ),
+ 177 =>
+ array (
+ ),
+ 178 => NULL,
+ 188 =>
+ array (
+ ),
+ 189 => NULL,
+ 199 =>
+ array (
+ ),
+ 200 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\Options.php' =>
+ array (
+ 70 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 71 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 74 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 75 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 76 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 77 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 78 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 79 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 80 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 81 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 82 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 83 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 84 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 91 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 93 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 94 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 96 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 98 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 102 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 103 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 104 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 114 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 126 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 127 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 128 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 131 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 134 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 135 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 150 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 151 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 152 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 154 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 158 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 159 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 172 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 173 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 177 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 188 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 189 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 190 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 191 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 192 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 193 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 194 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 195 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 196 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 197 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 198 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 199 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 201 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 202 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 205 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 217 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 220 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 233 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 237 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 238 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 240 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 241 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 242 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 254 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 255 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 256 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 257 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 260 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 268 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 218 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ ),
+ 234 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ ),
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\Runner.php' =>
+ array (
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Parser\\ParsedFunction.php' =>
+ array (
+ 12 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 13 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 14 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 15 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 16 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 17 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 18 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 19 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 13 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 13 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 14 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 15 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 16 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 17 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 18 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 19 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 14 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 13 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 14 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 15 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 16 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 17 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 18 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 19 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\Worker.php' =>
+ array (
+ 28 =>
+ array (
+ ),
+ 29 =>
+ array (
+ ),
+ 30 =>
+ array (
+ ),
+ 32 =>
+ array (
+ ),
+ 33 =>
+ array (
+ ),
+ 35 =>
+ array (
+ ),
+ 36 =>
+ array (
+ ),
+ 37 =>
+ array (
+ ),
+ 38 =>
+ array (
+ ),
+ 39 =>
+ array (
+ ),
+ 40 =>
+ array (
+ ),
+ 44 =>
+ array (
+ ),
+ 45 => NULL,
+ 49 =>
+ array (
+ ),
+ 50 =>
+ array (
+ ),
+ 51 =>
+ array (
+ ),
+ 52 =>
+ array (
+ ),
+ 53 =>
+ array (
+ ),
+ 57 =>
+ array (
+ ),
+ 58 =>
+ array (
+ ),
+ 60 =>
+ array (
+ ),
+ 61 =>
+ array (
+ ),
+ 62 =>
+ array (
+ ),
+ 66 =>
+ array (
+ ),
+ 67 =>
+ array (
+ ),
+ 69 =>
+ array (
+ ),
+ 73 =>
+ array (
+ ),
+ 74 =>
+ array (
+ ),
+ 78 =>
+ array (
+ ),
+ 79 => NULL,
+ 83 =>
+ array (
+ ),
+ 84 =>
+ array (
+ ),
+ 86 =>
+ array (
+ ),
+ 90 =>
+ array (
+ ),
+ 91 =>
+ array (
+ ),
+ 92 =>
+ array (
+ ),
+ 100 =>
+ array (
+ ),
+ 101 =>
+ array (
+ ),
+ 103 =>
+ array (
+ ),
+ 104 =>
+ array (
+ ),
+ 105 =>
+ array (
+ ),
+ 106 =>
+ array (
+ ),
+ 107 =>
+ array (
+ ),
+ 108 =>
+ array (
+ ),
+ 109 =>
+ array (
+ ),
+ 112 =>
+ array (
+ ),
+ 113 =>
+ array (
+ ),
+ 115 =>
+ array (
+ ),
+ 119 =>
+ array (
+ ),
+ 120 =>
+ array (
+ ),
+ 121 =>
+ array (
+ ),
+ 122 => NULL,
+ 132 =>
+ array (
+ ),
+ 133 =>
+ array (
+ ),
+ 134 =>
+ array (
+ ),
+ 135 =>
+ array (
+ ),
+ 137 =>
+ array (
+ ),
+ 141 =>
+ array (
+ ),
+ 142 =>
+ array (
+ ),
+ 144 =>
+ array (
+ ),
+ 146 => NULL,
+ 150 =>
+ array (
+ ),
+ 151 =>
+ array (
+ ),
+ 152 =>
+ array (
+ ),
+ 155 =>
+ array (
+ ),
+ 159 =>
+ array (
+ ),
+ 160 =>
+ array (
+ ),
+ 161 =>
+ array (
+ ),
+ 162 => NULL,
+ 166 =>
+ array (
+ ),
+ 167 =>
+ array (
+ ),
+ 169 =>
+ array (
+ ),
+ 171 =>
+ array (
+ ),
+ 172 =>
+ array (
+ ),
+ 173 =>
+ array (
+ ),
+ 176 =>
+ array (
+ ),
+ 177 =>
+ array (
+ ),
+ 178 =>
+ array (
+ ),
+ 180 =>
+ array (
+ ),
+ 181 => NULL,
+ 185 =>
+ array (
+ ),
+ 186 =>
+ array (
+ ),
+ 187 =>
+ array (
+ ),
+ 188 =>
+ array (
+ ),
+ 189 =>
+ array (
+ ),
+ 190 =>
+ array (
+ ),
+ 191 =>
+ array (
+ ),
+ 192 =>
+ array (
+ ),
+ 195 =>
+ array (
+ ),
+ 199 =>
+ array (
+ ),
+ 200 => NULL,
+ 209 =>
+ array (
+ ),
+ 210 =>
+ array (
+ ),
+ 211 =>
+ array (
+ ),
+ 212 =>
+ array (
+ ),
+ 213 =>
+ array (
+ ),
+ 215 =>
+ array (
+ ),
+ 218 =>
+ array (
+ ),
+ 219 =>
+ array (
+ ),
+ 221 =>
+ array (
+ ),
+ 222 =>
+ array (
+ ),
+ 223 =>
+ array (
+ ),
+ 224 =>
+ array (
+ ),
+ 226 =>
+ array (
+ ),
+ 227 =>
+ array (
+ ),
+ 230 =>
+ array (
+ ),
+ 232 =>
+ array (
+ ),
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Logging\\JUnit\\TestSuite.php' =>
+ array (
+ 73 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 74 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 75 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 76 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 77 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 78 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 79 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 80 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 91 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 92 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 93 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 94 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 95 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 96 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 97 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 98 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 100 => NULL,
+ 110 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 111 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 112 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 113 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 114 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 115 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 116 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 117 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 119 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Console\\Testers\\Tester.php' =>
+ array (
+ 43 =>
+ array (
+ ),
+ 44 =>
+ array (
+ ),
+ 45 =>
+ array (
+ ),
+ 46 =>
+ array (
+ ),
+ 49 =>
+ array (
+ ),
+ 50 => NULL,
+ 60 =>
+ array (
+ ),
+ 61 =>
+ array (
+ ),
+ 62 =>
+ array (
+ ),
+ 63 =>
+ array (
+ ),
+ 64 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\TestMethod.php' =>
+ array (
+ 41 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ ),
+ 44 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ ),
+ 45 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ ),
+ 96 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ ),
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Coverage\\CoverageMerger.php' =>
+ array (
+ 19 =>
+ array (
+ ),
+ 20 =>
+ array (
+ ),
+ 22 =>
+ array (
+ ),
+ 24 =>
+ array (
+ ),
+ 31 =>
+ array (
+ ),
+ 32 =>
+ array (
+ ),
+ 39 =>
+ array (
+ ),
+ 40 =>
+ array (
+ ),
+ 51 =>
+ array (
+ ),
+ 53 =>
+ array (
+ ),
+ 54 =>
+ array (
+ ),
+ 57 =>
+ array (
+ ),
+ 59 =>
+ array (
+ ),
+ 60 => NULL,
+ 69 =>
+ array (
+ ),
+ 70 =>
+ array (
+ ),
+ 73 =>
+ array (
+ ),
+ 74 =>
+ array (
+ ),
+ 77 =>
+ array (
+ ),
+ 78 =>
+ array (
+ ),
+ 79 =>
+ array (
+ ),
+ 88 =>
+ array (
+ ),
+ 89 =>
+ array (
+ ),
+ 92 =>
+ array (
+ ),
+ 93 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\ResultPrinter.php' =>
+ array (
+ 107 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 13 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 14 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 15 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 16 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 17 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 18 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 19 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 108 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 13 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 14 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 15 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 16 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 17 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 18 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 19 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 109 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 13 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 14 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 15 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 16 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 17 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 18 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 19 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 119 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 13 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 120 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 13 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 121 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 13 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 123 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 13 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 124 => NULL,
+ 134 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 135 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 136 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 137 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 138 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 139 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 140 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 141 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 142 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 143 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 145 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 146 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 148 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 149 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 150 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 151 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 158 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 159 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 160 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 168 =>
+ array (
+ ),
+ 169 =>
+ array (
+ ),
+ 170 =>
+ array (
+ ),
+ 177 =>
+ array (
+ ),
+ 178 =>
+ array (
+ ),
+ 179 =>
+ array (
+ ),
+ 180 =>
+ array (
+ ),
+ 181 =>
+ array (
+ ),
+ 182 =>
+ array (
+ ),
+ 193 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 194 =>
+ array (
+ ),
+ 195 =>
+ array (
+ ),
+ 198 =>
+ array (
+ ),
+ 199 =>
+ array (
+ ),
+ 200 =>
+ array (
+ ),
+ 201 =>
+ array (
+ ),
+ 204 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 205 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 208 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 209 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 210 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 211 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 214 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 215 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 216 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 217 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 226 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ ),
+ 227 => NULL,
+ 235 =>
+ array (
+ ),
+ 236 =>
+ array (
+ ),
+ 243 =>
+ array (
+ ),
+ 244 => NULL,
+ 253 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 254 => NULL,
+ 264 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 265 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 266 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 267 => NULL,
+ 276 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 278 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 279 => NULL,
+ 288 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ ),
+ 290 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ ),
+ 291 => NULL,
+ 300 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ ),
+ 301 => NULL,
+ 311 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 313 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 315 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 317 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 318 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 321 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 322 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 324 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 333 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 334 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 335 =>
+ array (
+ ),
+ 336 =>
+ array (
+ ),
+ 337 =>
+ array (
+ ),
+ 340 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 352 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 353 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 354 => NULL,
+ 369 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 370 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 371 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 372 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 374 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 377 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 379 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 392 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 393 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 394 =>
+ array (
+ ),
+ 395 =>
+ array (
+ ),
+ 398 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 409 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 410 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 411 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 412 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 413 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 414 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 416 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 428 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 429 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 430 =>
+ array (
+ ),
+ 432 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 433 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 434 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 437 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 440 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 441 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 444 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 445 => NULL,
+ 452 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 453 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 454 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 455 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 456 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 458 => NULL,
+ 468 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ ),
+ 470 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ ),
+ 473 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ ),
+ 474 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ ),
+ 475 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ ),
+ 476 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ ),
+ 479 => NULL,
+ 489 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 490 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 492 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 495 =>
+ array (
+ ),
+ 497 =>
+ array (
+ ),
+ 500 =>
+ array (
+ ),
+ 505 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 506 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 508 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 510 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 513 => NULL,
+ 517 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 519 =>
+ array (
+ ),
+ 520 =>
+ array (
+ ),
+ 522 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 523 => NULL,
+ 527 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ ),
+ 529 =>
+ array (
+ ),
+ 530 =>
+ array (
+ ),
+ 532 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ ),
+ 533 => NULL,
+ 541 =>
+ array (
+ ),
+ 542 =>
+ array (
+ ),
+ 544 =>
+ array (
+ ),
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\SuiteLoader.php' =>
+ array (
+ 27 =>
+ array (
+ ),
+ 28 =>
+ array (
+ ),
+ 31 =>
+ array (
+ ),
+ 32 =>
+ array (
+ ),
+ 42 =>
+ array (
+ ),
+ 43 => NULL,
+ 53 =>
+ array (
+ ),
+ 54 =>
+ array (
+ ),
+ 55 =>
+ array (
+ ),
+ 58 =>
+ array (
+ ),
+ 59 => NULL,
+ 70 =>
+ array (
+ ),
+ 71 =>
+ array (
+ ),
+ 73 =>
+ array (
+ ),
+ 76 =>
+ array (
+ ),
+ 77 =>
+ array (
+ ),
+ 78 =>
+ array (
+ ),
+ 79 =>
+ array (
+ ),
+ 80 =>
+ array (
+ ),
+ 81 =>
+ array (
+ ),
+ 82 =>
+ array (
+ ),
+ 83 =>
+ array (
+ ),
+ 86 =>
+ array (
+ ),
+ 87 =>
+ array (
+ ),
+ 88 =>
+ array (
+ ),
+ 89 =>
+ array (
+ ),
+ 90 =>
+ array (
+ ),
+ 96 =>
+ array (
+ ),
+ 97 =>
+ array (
+ ),
+ 100 =>
+ array (
+ ),
+ 102 =>
+ array (
+ ),
+ 103 =>
+ array (
+ ),
+ 112 =>
+ array (
+ ),
+ 114 =>
+ array (
+ ),
+ 115 =>
+ array (
+ ),
+ 116 =>
+ array (
+ ),
+ 118 =>
+ array (
+ ),
+ 119 =>
+ array (
+ ),
+ 122 =>
+ array (
+ ),
+ 126 =>
+ array (
+ ),
+ 127 =>
+ array (
+ ),
+ 128 =>
+ array (
+ ),
+ 129 =>
+ array (
+ ),
+ 130 =>
+ array (
+ ),
+ 132 =>
+ array (
+ ),
+ 133 => NULL,
+ 146 =>
+ array (
+ ),
+ 147 =>
+ array (
+ ),
+ 148 =>
+ array (
+ ),
+ 149 =>
+ array (
+ ),
+ 150 =>
+ array (
+ ),
+ 152 =>
+ array (
+ ),
+ 153 =>
+ array (
+ ),
+ 156 =>
+ array (
+ ),
+ 157 =>
+ array (
+ ),
+ 159 =>
+ array (
+ ),
+ 162 =>
+ array (
+ ),
+ 163 => NULL,
+ 167 =>
+ array (
+ ),
+ 168 =>
+ array (
+ ),
+ 169 =>
+ array (
+ ),
+ 170 =>
+ array (
+ ),
+ 171 =>
+ array (
+ ),
+ 175 =>
+ array (
+ ),
+ 179 =>
+ array (
+ ),
+ 180 =>
+ array (
+ ),
+ 181 =>
+ array (
+ ),
+ 182 =>
+ array (
+ ),
+ 184 =>
+ array (
+ ),
+ 186 =>
+ array (
+ ),
+ 189 =>
+ array (
+ ),
+ 204 =>
+ array (
+ ),
+ 206 =>
+ array (
+ ),
+ 208 =>
+ array (
+ ),
+ 209 =>
+ array (
+ ),
+ 210 =>
+ array (
+ ),
+ 211 =>
+ array (
+ ),
+ 212 =>
+ array (
+ ),
+ 213 =>
+ array (
+ ),
+ 214 =>
+ array (
+ ),
+ 215 =>
+ array (
+ ),
+ 216 =>
+ array (
+ ),
+ 217 =>
+ array (
+ ),
+ 218 =>
+ array (
+ ),
+ 220 =>
+ array (
+ ),
+ 221 =>
+ array (
+ ),
+ 224 =>
+ array (
+ ),
+ 225 =>
+ array (
+ ),
+ 228 =>
+ array (
+ ),
+ 229 => NULL,
+ 233 =>
+ array (
+ ),
+ 234 =>
+ array (
+ ),
+ 237 =>
+ array (
+ ),
+ 238 =>
+ array (
+ ),
+ 240 =>
+ array (
+ ),
+ 243 =>
+ array (
+ ),
+ 244 =>
+ array (
+ ),
+ 246 =>
+ array (
+ ),
+ 249 =>
+ array (
+ ),
+ 250 => NULL,
+ 254 =>
+ array (
+ ),
+ 255 =>
+ array (
+ ),
+ 258 =>
+ array (
+ ),
+ 259 =>
+ array (
+ ),
+ 260 =>
+ array (
+ ),
+ 261 =>
+ array (
+ ),
+ 262 =>
+ array (
+ ),
+ 264 =>
+ array (
+ ),
+ 265 => NULL,
+ 269 =>
+ array (
+ ),
+ 270 =>
+ array (
+ ),
+ 272 =>
+ array (
+ ),
+ 273 => NULL,
+ 277 =>
+ array (
+ ),
+ 278 =>
+ array (
+ ),
+ 280 =>
+ array (
+ ),
+ 281 => NULL,
+ 285 =>
+ array (
+ ),
+ 286 =>
+ array (
+ ),
+ 288 =>
+ array (
+ ),
+ 289 => NULL,
+ 293 =>
+ array (
+ ),
+ 294 =>
+ array (
+ ),
+ 296 =>
+ array (
+ ),
+ 297 => NULL,
+ 301 =>
+ array (
+ ),
+ 303 =>
+ array (
+ ),
+ 307 =>
+ array (
+ ),
+ 309 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Coverage\\CoverageReporterLegacy.php' =>
+ array (
+ 20 =>
+ array (
+ ),
+ 21 =>
+ array (
+ ),
+ 30 =>
+ array (
+ ),
+ 31 =>
+ array (
+ ),
+ 32 =>
+ array (
+ ),
+ 41 =>
+ array (
+ ),
+ 42 =>
+ array (
+ ),
+ 43 =>
+ array (
+ ),
+ 51 =>
+ array (
+ ),
+ 52 =>
+ array (
+ ),
+ 53 =>
+ array (
+ ),
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Logging\\JUnit\\Writer.php' =>
+ array (
+ 56 =>
+ array (
+ ),
+ 57 =>
+ array (
+ ),
+ 58 =>
+ array (
+ ),
+ 59 =>
+ array (
+ ),
+ 60 =>
+ array (
+ ),
+ 69 =>
+ array (
+ ),
+ 70 => NULL,
+ 80 =>
+ array (
+ ),
+ 81 =>
+ array (
+ ),
+ 82 =>
+ array (
+ ),
+ 83 =>
+ array (
+ ),
+ 84 =>
+ array (
+ ),
+ 85 =>
+ array (
+ ),
+ 88 =>
+ array (
+ ),
+ 89 => NULL,
+ 98 =>
+ array (
+ ),
+ 99 =>
+ array (
+ ),
+ 111 =>
+ array (
+ ),
+ 112 =>
+ array (
+ ),
+ 113 =>
+ array (
+ ),
+ 114 =>
+ array (
+ ),
+ 115 =>
+ array (
+ ),
+ 118 =>
+ array (
+ ),
+ 119 =>
+ array (
+ ),
+ 120 => NULL,
+ 132 =>
+ array (
+ ),
+ 133 =>
+ array (
+ ),
+ 134 =>
+ array (
+ ),
+ 135 =>
+ array (
+ ),
+ 136 =>
+ array (
+ ),
+ 139 =>
+ array (
+ ),
+ 140 =>
+ array (
+ ),
+ 141 =>
+ array (
+ ),
+ 142 =>
+ array (
+ ),
+ 143 => NULL,
+ 154 =>
+ array (
+ ),
+ 155 =>
+ array (
+ ),
+ 156 =>
+ array (
+ ),
+ 157 =>
+ array (
+ ),
+ 159 =>
+ array (
+ ),
+ 169 =>
+ array (
+ ),
+ 170 =>
+ array (
+ ),
+ 171 =>
+ array (
+ ),
+ 172 =>
+ array (
+ ),
+ 174 =>
+ array (
+ ),
+ 175 =>
+ array (
+ ),
+ 176 =>
+ array (
+ ),
+ 177 =>
+ array (
+ ),
+ 179 =>
+ array (
+ ),
+ 180 =>
+ array (
+ ),
+ 181 => NULL,
+ 199 =>
+ array (
+ ),
+ 200 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\WrapperRunner.php' =>
+ array (
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Parser\\Parser.php' =>
+ array (
+ 35 =>
+ array (
+ ),
+ 36 =>
+ array (
+ ),
+ 39 =>
+ array (
+ ),
+ 40 =>
+ array (
+ ),
+ 41 =>
+ array (
+ ),
+ 42 =>
+ array (
+ ),
+ 43 =>
+ array (
+ ),
+ 44 =>
+ array (
+ ),
+ 47 =>
+ array (
+ ),
+ 48 =>
+ array (
+ ),
+ 49 =>
+ array (
+ ),
+ 51 =>
+ array (
+ ),
+ 61 =>
+ array (
+ ),
+ 62 =>
+ array (
+ ),
+ 63 =>
+ array (
+ ),
+ 64 =>
+ array (
+ ),
+ 65 =>
+ array (
+ ),
+ 66 =>
+ array (
+ ),
+ 67 =>
+ array (
+ ),
+ 69 => NULL,
+ 78 =>
+ array (
+ ),
+ 79 =>
+ array (
+ ),
+ 80 =>
+ array (
+ ),
+ 81 =>
+ array (
+ ),
+ 82 =>
+ array (
+ ),
+ 83 =>
+ array (
+ ),
+ 84 =>
+ array (
+ ),
+ 85 =>
+ array (
+ ),
+ 88 =>
+ array (
+ ),
+ 89 => NULL,
+ 99 =>
+ array (
+ ),
+ 100 =>
+ array (
+ ),
+ 101 =>
+ array (
+ ),
+ 103 =>
+ array (
+ ),
+ 104 =>
+ array (
+ ),
+ 105 =>
+ array (
+ ),
+ 106 =>
+ array (
+ ),
+ 107 =>
+ array (
+ ),
+ 113 =>
+ array (
+ ),
+ 114 =>
+ array (
+ ),
+ 115 =>
+ array (
+ ),
+ 116 =>
+ array (
+ ),
+ 119 =>
+ array (
+ ),
+ 128 =>
+ array (
+ ),
+ 129 =>
+ array (
+ ),
+ 130 => NULL,
+ 134 =>
+ array (
+ ),
+ 135 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Parser\\ParsedObject.php' =>
+ array (
+ 18 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 13 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 14 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 15 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 16 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 17 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 18 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 19 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 19 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 13 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 14 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 15 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 16 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 17 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 18 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 19 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 20 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 13 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 14 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 15 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 16 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 17 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 18 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 19 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 29 =>
+ array (
+ ),
+ 30 => NULL,
+ 39 =>
+ array (
+ ),
+ 40 => NULL,
+ 53 =>
+ array (
+ ),
+ 54 =>
+ array (
+ ),
+ 56 =>
+ array (
+ ),
+ 58 =>
+ array (
+ ),
+ 59 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\TestFileLoader.php' =>
+ array (
+ 51 =>
+ array (
+ ),
+ 52 =>
+ array (
+ ),
+ 55 =>
+ array (
+ ),
+ 56 =>
+ array (
+ ),
+ 68 =>
+ array (
+ ),
+ 69 =>
+ array (
+ ),
+ 70 =>
+ array (
+ ),
+ 71 =>
+ array (
+ ),
+ 72 =>
+ array (
+ ),
+ 76 =>
+ array (
+ ),
+ 77 =>
+ array (
+ ),
+ 80 =>
+ array (
+ ),
+ 82 =>
+ array (
+ ),
+ 83 => NULL,
+ 96 =>
+ array (
+ ),
+ 97 =>
+ array (
+ ),
+ 98 =>
+ array (
+ ),
+ 100 =>
+ array (
+ ),
+ 101 =>
+ array (
+ ),
+ 103 =>
+ array (
+ ),
+ 104 =>
+ array (
+ ),
+ 105 =>
+ array (
+ ),
+ 106 =>
+ array (
+ ),
+ 109 =>
+ array (
+ ),
+ 110 => NULL,
+ 120 =>
+ array (
+ ),
+ 121 =>
+ array (
+ ),
+ 122 =>
+ array (
+ ),
+ 124 =>
+ array (
+ ),
+ 133 =>
+ array (
+ ),
+ 134 =>
+ array (
+ ),
+ 144 =>
+ array (
+ ),
+ 145 =>
+ array (
+ ),
+ 146 =>
+ array (
+ ),
+ 147 =>
+ array (
+ ),
+ 148 =>
+ array (
+ ),
+ 152 =>
+ array (
+ ),
+ 153 =>
+ array (
+ ),
+ 155 =>
+ array (
+ ),
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Logging\\JUnit\\TestCase.php' =>
+ array (
+ 67 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 68 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 69 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 70 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 71 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 72 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 73 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 81 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 82 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 90 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 91 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 102 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 103 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 104 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 106 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 117 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 118 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 119 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 120 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 121 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 122 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 123 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 125 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 126 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 127 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 128 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 130 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 131 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 133 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 134 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Logging\\JUnit\\Reader.php' =>
+ array (
+ 41 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 42 =>
+ array (
+ ),
+ 45 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 46 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 47 =>
+ array (
+ ),
+ 49 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 50 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 51 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 52 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 62 =>
+ array (
+ ),
+ 63 => NULL,
+ 73 =>
+ array (
+ ),
+ 74 => NULL,
+ 84 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 85 => NULL,
+ 98 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 99 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 100 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 101 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 102 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 103 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 104 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 105 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 107 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 111 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 112 => NULL,
+ 119 =>
+ array (
+ ),
+ 120 =>
+ array (
+ ),
+ 128 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 129 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 130 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 131 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 133 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 141 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 142 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 143 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 144 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 146 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 148 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 159 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 160 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 161 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 162 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ ),
+ 172 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 183 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 184 => NULL,
+ 194 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 195 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 196 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 197 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 198 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 199 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 201 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 203 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 204 => NULL,
+ 213 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 214 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 215 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 217 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 218 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 220 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 174 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 175 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 176 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 177 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 178 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 179 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 180 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 181 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 182 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Console\\Testers\\PHPUnit.php' =>
+ array (
+ 37 =>
+ array (
+ ),
+ 38 =>
+ array (
+ ),
+ 39 =>
+ array (
+ ),
+ 40 =>
+ array (
+ ),
+ 41 =>
+ array (
+ ),
+ 42 =>
+ array (
+ ),
+ 43 =>
+ array (
+ ),
+ 44 =>
+ array (
+ ),
+ 45 =>
+ array (
+ ),
+ 46 =>
+ array (
+ ),
+ 47 =>
+ array (
+ ),
+ 48 =>
+ array (
+ ),
+ 49 =>
+ array (
+ ),
+ 50 =>
+ array (
+ ),
+ 62 =>
+ array (
+ ),
+ 63 =>
+ array (
+ ),
+ 66 =>
+ array (
+ ),
+ 67 =>
+ array (
+ ),
+ 69 =>
+ array (
+ ),
+ 71 =>
+ array (
+ ),
+ 72 =>
+ array (
+ ),
+ 73 =>
+ array (
+ ),
+ 74 =>
+ array (
+ ),
+ 79 =>
+ array (
+ ),
+ 80 =>
+ array (
+ ),
+ 83 =>
+ array (
+ ),
+ 84 =>
+ array (
+ ),
+ 85 => NULL,
+ 96 =>
+ array (
+ ),
+ 97 =>
+ array (
+ ),
+ 98 =>
+ array (
+ ),
+ 99 => NULL,
+ 109 =>
+ array (
+ ),
+ 110 => NULL,
+ 118 =>
+ array (
+ ),
+ 120 =>
+ array (
+ ),
+ 121 =>
+ array (
+ ),
+ 122 =>
+ array (
+ ),
+ 123 =>
+ array (
+ ),
+ 124 =>
+ array (
+ ),
+ 125 =>
+ array (
+ ),
+ 127 =>
+ array (
+ ),
+ 130 =>
+ array (
+ ),
+ 131 => NULL,
+ 140 =>
+ array (
+ ),
+ 141 =>
+ array (
+ ),
+ 142 =>
+ array (
+ ),
+ 143 =>
+ array (
+ ),
+ 145 =>
+ array (
+ ),
+ 146 =>
+ array (
+ ),
+ 149 =>
+ array (
+ ),
+ 150 =>
+ array (
+ ),
+ 153 =>
+ array (
+ ),
+ 154 => NULL,
+ 165 =>
+ array (
+ ),
+ 166 =>
+ array (
+ ),
+ 169 =>
+ array (
+ ),
+ 170 =>
+ array (
+ ),
+ 171 =>
+ array (
+ ),
+ 174 =>
+ array (
+ ),
+ 175 =>
+ array (
+ ),
+ 184 =>
+ array (
+ ),
+ 185 =>
+ array (
+ ),
+ 186 =>
+ array (
+ ),
+ 187 =>
+ array (
+ ),
+ 197 =>
+ array (
+ ),
+ 198 =>
+ array (
+ ),
+ 199 =>
+ array (
+ ),
+ 200 => NULL,
+ 211 =>
+ array (
+ ),
+ 212 =>
+ array (
+ ),
+ 215 =>
+ array (
+ ),
+ 216 =>
+ array (
+ ),
+ 219 =>
+ array (
+ ),
+ 220 =>
+ array (
+ ),
+ 222 =>
+ array (
+ ),
+ 223 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\ExecutableTest.php' =>
+ array (
+ 54 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 13 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 14 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 15 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 16 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 17 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 18 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 19 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 55 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 13 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 14 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 15 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 16 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 17 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 18 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 19 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 56 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 13 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 14 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 15 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 16 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 17 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 18 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 19 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 72 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 73 => NULL,
+ 84 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 85 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 88 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 89 => NULL,
+ 98 =>
+ array (
+ ),
+ 99 => NULL,
+ 107 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 108 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 114 =>
+ array (
+ ),
+ 115 =>
+ array (
+ ),
+ 116 =>
+ array (
+ ),
+ 120 =>
+ array (
+ ),
+ 121 => NULL,
+ 131 =>
+ array (
+ ),
+ 132 => NULL,
+ 139 =>
+ array (
+ ),
+ 140 =>
+ array (
+ ),
+ 141 =>
+ array (
+ ),
+ 150 =>
+ array (
+ ),
+ 151 => NULL,
+ 160 =>
+ array (
+ ),
+ 161 => NULL,
+ 170 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 171 => NULL,
+ 183 =>
+ array (
+ ),
+ 184 =>
+ array (
+ ),
+ 185 =>
+ array (
+ ),
+ 186 =>
+ array (
+ ),
+ 187 =>
+ array (
+ ),
+ 188 =>
+ array (
+ ),
+ 189 =>
+ array (
+ ),
+ 190 =>
+ array (
+ ),
+ 191 => NULL,
+ 200 =>
+ array (
+ ),
+ 201 => NULL,
+ 212 =>
+ array (
+ ),
+ 213 =>
+ array (
+ ),
+ 214 =>
+ array (
+ ),
+ 215 => NULL,
+ 224 =>
+ array (
+ ),
+ 225 =>
+ array (
+ ),
+ 228 =>
+ array (
+ ),
+ 229 => NULL,
+ 238 =>
+ array (
+ ),
+ 239 => NULL,
+ 248 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 13 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 14 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 15 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 16 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 17 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 18 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 19 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 249 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases',
+ 9 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne',
+ 10 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 11 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 12 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 13 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 14 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 15 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 16 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 17 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 18 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ 19 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog',
+ ),
+ 263 =>
+ array (
+ ),
+ 265 =>
+ array (
+ ),
+ 266 =>
+ array (
+ ),
+ 267 =>
+ array (
+ ),
+ 275 =>
+ array (
+ ),
+ 285 =>
+ array (
+ ),
+ 286 => NULL,
+ 298 =>
+ array (
+ ),
+ 299 =>
+ array (
+ ),
+ 300 =>
+ array (
+ ),
+ 301 =>
+ array (
+ ),
+ 302 =>
+ array (
+ ),
+ 303 =>
+ array (
+ ),
+ 307 =>
+ array (
+ ),
+ 308 =>
+ array (
+ ),
+ 310 =>
+ array (
+ ),
+ 312 =>
+ array (
+ ),
+ 313 => NULL,
+ 323 =>
+ array (
+ ),
+ 324 =>
+ array (
+ ),
+ 326 =>
+ array (
+ ),
+ 337 =>
+ array (
+ ),
+ 338 =>
+ array (
+ ),
+ 341 =>
+ array (
+ ),
+ 342 =>
+ array (
+ ),
+ 344 =>
+ array (
+ ),
+ 345 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Logging\\LogInterpreter.php' =>
+ array (
+ 35 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 36 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ 6 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed',
+ 7 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites',
+ 8 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders',
+ ),
+ 150 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 162 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 163 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 164 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 166 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures',
+ ),
+ 58 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 59 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 60 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 136 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 138 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 179 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 180 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ 181 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess',
+ ),
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\BaseRunner.php' =>
+ array (
+ 62 =>
+ array (
+ ),
+ 63 =>
+ array (
+ ),
+ 64 =>
+ array (
+ ),
+ 65 =>
+ array (
+ ),
+ 69 =>
+ array (
+ ),
+ 70 =>
+ array (
+ ),
+ 71 =>
+ array (
+ ),
+ 72 =>
+ array (
+ ),
+ 73 =>
+ array (
+ ),
+ 82 =>
+ array (
+ ),
+ 83 =>
+ array (
+ ),
+ 84 =>
+ array (
+ ),
+ 86 =>
+ array (
+ ),
+ 96 =>
+ array (
+ ),
+ 97 =>
+ array (
+ ),
+ 98 =>
+ array (
+ ),
+ 99 =>
+ array (
+ ),
+ 100 =>
+ array (
+ ),
+ 101 =>
+ array (
+ ),
+ 103 =>
+ array (
+ ),
+ 113 =>
+ array (
+ ),
+ 114 => NULL,
+ 121 =>
+ array (
+ ),
+ 122 =>
+ array (
+ ),
+ 124 =>
+ array (
+ ),
+ 125 =>
+ array (
+ ),
+ 126 =>
+ array (
+ ),
+ 127 =>
+ array (
+ ),
+ 134 =>
+ array (
+ ),
+ 135 =>
+ array (
+ ),
+ 138 =>
+ array (
+ ),
+ 140 =>
+ array (
+ ),
+ 142 =>
+ array (
+ ),
+ 143 =>
+ array (
+ ),
+ 146 =>
+ array (
+ ),
+ 147 =>
+ array (
+ ),
+ 150 =>
+ array (
+ ),
+ 151 =>
+ array (
+ ),
+ 155 =>
+ array (
+ ),
+ 156 =>
+ array (
+ ),
+ 159 =>
+ array (
+ ),
+ 160 =>
+ array (
+ ),
+ 167 =>
+ array (
+ ),
+ 168 => NULL,
+ 175 =>
+ array (
+ ),
+ 176 => NULL,
+ ),
+);
+if (class_exists(\SebastianBergmann\CodeCoverage\ProcessedCodeCoverageData::class)) {
+ $processedData = new \SebastianBergmann\CodeCoverage\ProcessedCodeCoverageData();
+ $processedData->setLineCoverage($data);
+
+ $data = $processedData;
+}
+$coverage->setData($data);
+$coverage->setTests(array (
+ 'UNCOVERED_FILES_FROM_WHITELIST' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => NULL,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testConstructor' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestShouldaddTest' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestReturnsSelf' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfo' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartSetsWidthAndMaxColumn' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoAndConfigurationDetailsIfConfigFilePresent' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithFunctionalMode' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testStartPrintsOptionInfoWithSingularForOneProcess' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddSuiteAddsFunctionCountToTotalTestCases' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testAddTestMethodIncrementsCountByOne' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetHeader' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsSingleError' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetErrorsMultipleErrors' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFailures' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithFailures' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testGetFooterWithSuccess' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMixed' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testPrintFeedbackForMoreThan100Suites' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testResultPrinterAdjustsTotalCountForDataProviders' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\ResultPrinterTest::testEmptyResultsLog' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+));
+
+return $coverage;
\ No newline at end of file
diff --git a/test/fixtures/coverage-tests/result_printer_test.cov b/test/fixtures/coverage-tests/result_printer_test.cov
index d4aa96d..bfabbe3 100644
--- a/test/fixtures/coverage-tests/result_printer_test.cov
+++ b/test/fixtures/coverage-tests/result_printer_test.cov
@@ -1,6 +1,43 @@
setData(array (
+
+$filter = new \SebastianBergmann\CodeCoverage\Filter();
+$filter->includeFiles(array (
+ '/home/munkie/Projects/paratest/src/ParaTest/Console/Commands/ParaTestCommand.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Console/ParaTestApplication.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Console/Testers/PHPUnit.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Console/Testers/Tester.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Coverage/CoverageMerger.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Coverage/CoverageReporter.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Coverage/CoverageReporterInterface.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Coverage/CoverageReporterLegacy.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Logging/JUnit/Reader.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Logging/JUnit/TestCase.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Logging/JUnit/TestSuite.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Logging/JUnit/Writer.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Logging/LogInterpreter.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Logging/MetaProvider.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Parser/NoClassInFileException.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Parser/ParsedClass.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Parser/ParsedFunction.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Parser/ParsedObject.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Parser/Parser.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/BaseRunner.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/Configuration.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/ExecutableTest.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/Options.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/ResultPrinter.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/Runner.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/Suite.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/SuiteLoader.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/SuitePath.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/TestFileLoader.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/TestMethod.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/Worker.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/WrapperRunner.php',
+));
+
+$coverage = new \SebastianBergmann\CodeCoverage\CodeCoverage(new \SebastianBergmann\CodeCoverage\Driver\PcovDriver($filter), $filter);
+$data = array (
'/home/munkie/Projects/paratest/src/ParaTest/Console/ParaTestApplication.php' =>
array (
18 =>
@@ -5752,7 +5789,14 @@ $coverage->setData(array (
),
176 => NULL,
),
-));
+);
+if (class_exists(\SebastianBergmann\CodeCoverage\ProcessedCodeCoverageData::class)) {
+ $processedData = new \SebastianBergmann\CodeCoverage\ProcessedCodeCoverageData();
+ $processedData->setLineCoverage($data);
+
+ $data = $processedData;
+}
+$coverage->setData($data);
$coverage->setTests(array (
'UNCOVERED_FILES_FROM_WHITELIST' =>
array (
@@ -5861,40 +5905,4 @@ $coverage->setTests(array (
),
));
-$filter = $coverage->filter();
-$filter->setWhitelistedFiles(array (
- '/home/munkie/Projects/paratest/src/ParaTest/Console/Commands/ParaTestCommand.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Console/ParaTestApplication.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Console/Testers/PHPUnit.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Console/Testers/Tester.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Coverage/CoverageMerger.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Coverage/CoverageReporter.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Coverage/CoverageReporterInterface.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Coverage/CoverageReporterLegacy.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Logging/JUnit/Reader.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Logging/JUnit/TestCase.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Logging/JUnit/TestSuite.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Logging/JUnit/Writer.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Logging/LogInterpreter.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Logging/MetaProvider.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Parser/NoClassInFileException.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Parser/ParsedClass.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Parser/ParsedFunction.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Parser/ParsedObject.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Parser/Parser.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/BaseRunner.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/Configuration.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/ExecutableTest.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/Options.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/ResultPrinter.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/Runner.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/Suite.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/SuiteLoader.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/SuitePath.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/TestFileLoader.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/TestMethod.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/Worker.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/WrapperRunner.php' => true,
-));
-
return $coverage;
\ No newline at end of file
diff --git a/test/fixtures/coverage-tests/runner_test-windows.cov b/test/fixtures/coverage-tests/runner_test-windows.cov
new file mode 100644
index 0000000..5f9b888
--- /dev/null
+++ b/test/fixtures/coverage-tests/runner_test-windows.cov
@@ -0,0 +1,3871 @@
+includeFiles(array (
+ 'C:\\paratest\\src\\ParaTest\\Console\\Commands\\ParaTestCommand.php',
+ 'C:\\paratest\\src\\ParaTest\\Console\\ParaTestApplication.php',
+ 'C:\\paratest\\src\\ParaTest\\Console\\Testers\\PHPUnit.php',
+ 'C:\\paratest\\src\\ParaTest\\Console\\Testers\\Tester.php',
+ 'C:\\paratest\\src\\ParaTest\\Coverage\\CoverageMerger.php',
+ 'C:\\paratest\\src\\ParaTest\\Coverage\\CoverageReporter.php',
+ 'C:\\paratest\\src\\ParaTest\\Coverage\\CoverageReporterInterface.php',
+ 'C:\\paratest\\src\\ParaTest\\Coverage\\CoverageReporterLegacy.php',
+ 'C:\\paratest\\src\\ParaTest\\Logging\\JUnit\\Reader.php',
+ 'C:\\paratest\\src\\ParaTest\\Logging\\JUnit\\TestCase.php',
+ 'C:\\paratest\\src\\ParaTest\\Logging\\JUnit\\TestSuite.php',
+ 'C:\\paratest\\src\\ParaTest\\Logging\\JUnit\\Writer.php',
+ 'C:\\paratest\\src\\ParaTest\\Logging\\LogInterpreter.php',
+ 'C:\\paratest\\src\\ParaTest\\Logging\\MetaProvider.php',
+ 'C:\\paratest\\src\\ParaTest\\Parser\\NoClassInFileException.php',
+ 'C:\\paratest\\src\\ParaTest\\Parser\\ParsedClass.php',
+ 'C:\\paratest\\src\\ParaTest\\Parser\\ParsedFunction.php',
+ 'C:\\paratest\\src\\ParaTest\\Parser\\ParsedObject.php',
+ 'C:\\paratest\\src\\ParaTest\\Parser\\Parser.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\BaseRunner.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\Configuration.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\ExecutableTest.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\Options.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\ResultPrinter.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\Runner.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\Suite.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\SuiteLoader.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\SuitePath.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\TestFileLoader.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\TestMethod.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\Worker.php',
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\WrapperRunner.php',
+));
+$coverage = new \SebastianBergmann\CodeCoverage\CodeCoverage(new \SebastianBergmann\CodeCoverage\Driver\PcovDriver($filter), $filter);
+$data = array (
+ 'C:\\paratest\\src\\ParaTest\\Console\\ParaTestApplication.php' =>
+ array (
+ 18 =>
+ array (
+ ),
+ 19 =>
+ array (
+ ),
+ 28 =>
+ array (
+ ),
+ 29 =>
+ array (
+ ),
+ 30 => NULL,
+ 40 =>
+ array (
+ ),
+ 41 =>
+ array (
+ ),
+ 43 => NULL,
+ 51 =>
+ array (
+ ),
+ 52 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Coverage\\CoverageReporter.php' =>
+ array (
+ 22 =>
+ array (
+ ),
+ 23 =>
+ array (
+ ),
+ 32 =>
+ array (
+ ),
+ 33 =>
+ array (
+ ),
+ 34 =>
+ array (
+ ),
+ 43 =>
+ array (
+ ),
+ 44 =>
+ array (
+ ),
+ 45 =>
+ array (
+ ),
+ 53 =>
+ array (
+ ),
+ 54 =>
+ array (
+ ),
+ 55 =>
+ array (
+ ),
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Parser\\ParsedClass.php' =>
+ array (
+ 21 =>
+ array (
+ ),
+ 22 =>
+ array (
+ ),
+ 23 =>
+ array (
+ ),
+ 24 =>
+ array (
+ ),
+ 45 =>
+ array (
+ ),
+ 46 =>
+ array (
+ ),
+ 47 => NULL,
+ 56 =>
+ array (
+ ),
+ 57 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Coverage\\CoverageReporterInterface.php' =>
+ array (
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\Suite.php' =>
+ array (
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Console\\Commands\\ParaTestCommand.php' =>
+ array (
+ 19 =>
+ array (
+ ),
+ 20 =>
+ array (
+ ),
+ 21 =>
+ array (
+ ),
+ 22 =>
+ array (
+ ),
+ 29 =>
+ array (
+ ),
+ 30 => NULL,
+ 38 =>
+ array (
+ ),
+ 39 =>
+ array (
+ ),
+ 40 =>
+ array (
+ ),
+ 41 =>
+ array (
+ ),
+ 42 =>
+ array (
+ ),
+ 43 =>
+ array (
+ ),
+ 44 =>
+ array (
+ ),
+ 45 =>
+ array (
+ ),
+ 46 =>
+ array (
+ ),
+ 48 =>
+ array (
+ ),
+ 49 =>
+ array (
+ ),
+ 51 =>
+ array (
+ ),
+ 62 =>
+ array (
+ ),
+ 63 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Logging\\MetaProvider.php' =>
+ array (
+ 35 =>
+ array (
+ ),
+ 36 =>
+ array (
+ ),
+ 38 =>
+ array (
+ ),
+ 39 =>
+ array (
+ ),
+ 41 =>
+ array (
+ ),
+ 51 =>
+ array (
+ ),
+ 52 =>
+ array (
+ ),
+ 53 =>
+ array (
+ ),
+ 54 => NULL,
+ 64 =>
+ array (
+ ),
+ 65 =>
+ array (
+ ),
+ 66 =>
+ array (
+ ),
+ 72 =>
+ array (
+ ),
+ 74 =>
+ array (
+ ),
+ 75 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Parser\\NoClassInFileException.php' =>
+ array (
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\SuitePath.php' =>
+ array (
+ 28 =>
+ array (
+ ),
+ 29 =>
+ array (
+ ),
+ 31 =>
+ array (
+ ),
+ 32 =>
+ array (
+ ),
+ 33 =>
+ array (
+ ),
+ 34 =>
+ array (
+ ),
+ 41 =>
+ array (
+ ),
+ 42 => NULL,
+ 49 =>
+ array (
+ ),
+ 50 => NULL,
+ 57 =>
+ array (
+ ),
+ 58 => NULL,
+ 65 =>
+ array (
+ ),
+ 66 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\Configuration.php' =>
+ array (
+ 39 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 40 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 41 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 43 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 52 =>
+ array (
+ ),
+ 53 =>
+ array (
+ ),
+ 55 =>
+ array (
+ ),
+ 57 => NULL,
+ 67 =>
+ array (
+ ),
+ 68 => NULL,
+ 78 =>
+ array (
+ ),
+ 79 =>
+ array (
+ ),
+ 81 =>
+ array (
+ ),
+ 82 =>
+ array (
+ ),
+ 84 =>
+ array (
+ ),
+ 85 =>
+ array (
+ ),
+ 87 =>
+ array (
+ ),
+ 88 => NULL,
+ 100 =>
+ array (
+ ),
+ 102 =>
+ array (
+ ),
+ 103 =>
+ array (
+ ),
+ 104 =>
+ array (
+ ),
+ 105 =>
+ array (
+ ),
+ 106 =>
+ array (
+ ),
+ 108 =>
+ array (
+ ),
+ 109 =>
+ array (
+ ),
+ 110 =>
+ array (
+ ),
+ 112 =>
+ array (
+ ),
+ 113 =>
+ array (
+ ),
+ 114 =>
+ array (
+ ),
+ 115 =>
+ array (
+ ),
+ 116 =>
+ array (
+ ),
+ 119 =>
+ array (
+ ),
+ 120 =>
+ array (
+ ),
+ 121 =>
+ array (
+ ),
+ 126 =>
+ array (
+ ),
+ 127 =>
+ array (
+ ),
+ 130 =>
+ array (
+ ),
+ 133 =>
+ array (
+ ),
+ 139 =>
+ array (
+ ),
+ 140 => NULL,
+ 150 =>
+ array (
+ ),
+ 151 => NULL,
+ 161 =>
+ array (
+ ),
+ 163 =>
+ array (
+ ),
+ 164 =>
+ array (
+ ),
+ 167 =>
+ array (
+ ),
+ 168 =>
+ array (
+ ),
+ 169 =>
+ array (
+ ),
+ 170 =>
+ array (
+ ),
+ 171 =>
+ array (
+ ),
+ 174 =>
+ array (
+ ),
+ 177 =>
+ array (
+ ),
+ 178 => NULL,
+ 188 =>
+ array (
+ ),
+ 189 => NULL,
+ 199 =>
+ array (
+ ),
+ 200 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\Options.php' =>
+ array (
+ 70 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 71 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 74 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 75 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 76 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 77 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 78 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 79 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 80 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 81 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 82 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 83 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 84 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 91 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 93 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 94 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 96 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 98 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 102 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 103 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 104 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 114 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 126 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 127 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 128 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 131 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 134 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 135 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 150 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 151 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 152 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 154 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 158 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 159 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 172 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 173 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 177 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 188 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 189 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 190 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 191 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 192 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 193 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 194 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 195 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 196 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 197 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 198 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 199 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 201 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 202 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 205 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 217 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 220 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 233 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 237 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 238 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 240 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 241 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 242 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 254 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 255 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 256 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 257 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 260 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 268 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\Runner.php' =>
+ array (
+ 19 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 20 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 21 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 135 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 136 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 137 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 139 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 149 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ ),
+ 150 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ ),
+ 151 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ ),
+ 154 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ ),
+ 165 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 166 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 167 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 168 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 169 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Parser\\ParsedFunction.php' =>
+ array (
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\Worker.php' =>
+ array (
+ 28 =>
+ array (
+ ),
+ 29 =>
+ array (
+ ),
+ 30 =>
+ array (
+ ),
+ 32 =>
+ array (
+ ),
+ 33 =>
+ array (
+ ),
+ 35 =>
+ array (
+ ),
+ 36 =>
+ array (
+ ),
+ 37 =>
+ array (
+ ),
+ 38 =>
+ array (
+ ),
+ 39 =>
+ array (
+ ),
+ 40 =>
+ array (
+ ),
+ 44 =>
+ array (
+ ),
+ 45 => NULL,
+ 49 =>
+ array (
+ ),
+ 50 =>
+ array (
+ ),
+ 51 =>
+ array (
+ ),
+ 52 =>
+ array (
+ ),
+ 53 =>
+ array (
+ ),
+ 57 =>
+ array (
+ ),
+ 58 =>
+ array (
+ ),
+ 60 =>
+ array (
+ ),
+ 61 =>
+ array (
+ ),
+ 62 =>
+ array (
+ ),
+ 66 =>
+ array (
+ ),
+ 67 =>
+ array (
+ ),
+ 69 =>
+ array (
+ ),
+ 73 =>
+ array (
+ ),
+ 74 =>
+ array (
+ ),
+ 78 =>
+ array (
+ ),
+ 79 => NULL,
+ 83 =>
+ array (
+ ),
+ 84 =>
+ array (
+ ),
+ 86 =>
+ array (
+ ),
+ 90 =>
+ array (
+ ),
+ 91 =>
+ array (
+ ),
+ 92 =>
+ array (
+ ),
+ 100 =>
+ array (
+ ),
+ 101 =>
+ array (
+ ),
+ 103 =>
+ array (
+ ),
+ 104 =>
+ array (
+ ),
+ 105 =>
+ array (
+ ),
+ 106 =>
+ array (
+ ),
+ 107 =>
+ array (
+ ),
+ 108 =>
+ array (
+ ),
+ 109 =>
+ array (
+ ),
+ 112 =>
+ array (
+ ),
+ 113 =>
+ array (
+ ),
+ 115 =>
+ array (
+ ),
+ 119 =>
+ array (
+ ),
+ 120 =>
+ array (
+ ),
+ 121 =>
+ array (
+ ),
+ 122 => NULL,
+ 132 =>
+ array (
+ ),
+ 133 =>
+ array (
+ ),
+ 134 =>
+ array (
+ ),
+ 135 =>
+ array (
+ ),
+ 137 =>
+ array (
+ ),
+ 141 =>
+ array (
+ ),
+ 142 =>
+ array (
+ ),
+ 144 =>
+ array (
+ ),
+ 146 => NULL,
+ 150 =>
+ array (
+ ),
+ 151 =>
+ array (
+ ),
+ 152 =>
+ array (
+ ),
+ 155 =>
+ array (
+ ),
+ 159 =>
+ array (
+ ),
+ 160 =>
+ array (
+ ),
+ 161 =>
+ array (
+ ),
+ 162 => NULL,
+ 166 =>
+ array (
+ ),
+ 167 =>
+ array (
+ ),
+ 169 =>
+ array (
+ ),
+ 171 =>
+ array (
+ ),
+ 172 =>
+ array (
+ ),
+ 173 =>
+ array (
+ ),
+ 176 =>
+ array (
+ ),
+ 177 =>
+ array (
+ ),
+ 178 =>
+ array (
+ ),
+ 180 =>
+ array (
+ ),
+ 181 => NULL,
+ 185 =>
+ array (
+ ),
+ 186 =>
+ array (
+ ),
+ 187 =>
+ array (
+ ),
+ 188 =>
+ array (
+ ),
+ 189 =>
+ array (
+ ),
+ 190 =>
+ array (
+ ),
+ 191 =>
+ array (
+ ),
+ 192 =>
+ array (
+ ),
+ 195 =>
+ array (
+ ),
+ 199 =>
+ array (
+ ),
+ 200 => NULL,
+ 209 =>
+ array (
+ ),
+ 210 =>
+ array (
+ ),
+ 211 =>
+ array (
+ ),
+ 212 =>
+ array (
+ ),
+ 213 =>
+ array (
+ ),
+ 215 =>
+ array (
+ ),
+ 218 =>
+ array (
+ ),
+ 219 =>
+ array (
+ ),
+ 221 =>
+ array (
+ ),
+ 222 =>
+ array (
+ ),
+ 223 =>
+ array (
+ ),
+ 224 =>
+ array (
+ ),
+ 226 =>
+ array (
+ ),
+ 227 =>
+ array (
+ ),
+ 230 =>
+ array (
+ ),
+ 232 =>
+ array (
+ ),
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Logging\\JUnit\\TestSuite.php' =>
+ array (
+ 73 =>
+ array (
+ ),
+ 74 =>
+ array (
+ ),
+ 75 =>
+ array (
+ ),
+ 76 =>
+ array (
+ ),
+ 77 =>
+ array (
+ ),
+ 78 =>
+ array (
+ ),
+ 79 =>
+ array (
+ ),
+ 80 =>
+ array (
+ ),
+ 91 =>
+ array (
+ ),
+ 92 =>
+ array (
+ ),
+ 93 =>
+ array (
+ ),
+ 94 =>
+ array (
+ ),
+ 95 =>
+ array (
+ ),
+ 96 =>
+ array (
+ ),
+ 97 =>
+ array (
+ ),
+ 98 =>
+ array (
+ ),
+ 100 => NULL,
+ 110 =>
+ array (
+ ),
+ 111 =>
+ array (
+ ),
+ 112 =>
+ array (
+ ),
+ 113 =>
+ array (
+ ),
+ 114 =>
+ array (
+ ),
+ 115 =>
+ array (
+ ),
+ 116 =>
+ array (
+ ),
+ 117 =>
+ array (
+ ),
+ 119 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Console\\Testers\\Tester.php' =>
+ array (
+ 43 =>
+ array (
+ ),
+ 44 =>
+ array (
+ ),
+ 45 =>
+ array (
+ ),
+ 46 =>
+ array (
+ ),
+ 49 =>
+ array (
+ ),
+ 50 => NULL,
+ 60 =>
+ array (
+ ),
+ 61 =>
+ array (
+ ),
+ 62 =>
+ array (
+ ),
+ 63 =>
+ array (
+ ),
+ 64 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\TestMethod.php' =>
+ array (
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Coverage\\CoverageMerger.php' =>
+ array (
+ 19 =>
+ array (
+ ),
+ 20 =>
+ array (
+ ),
+ 22 =>
+ array (
+ ),
+ 24 =>
+ array (
+ ),
+ 31 =>
+ array (
+ ),
+ 32 =>
+ array (
+ ),
+ 39 =>
+ array (
+ ),
+ 40 =>
+ array (
+ ),
+ 51 =>
+ array (
+ ),
+ 53 =>
+ array (
+ ),
+ 54 =>
+ array (
+ ),
+ 57 =>
+ array (
+ ),
+ 59 =>
+ array (
+ ),
+ 60 => NULL,
+ 69 =>
+ array (
+ ),
+ 70 =>
+ array (
+ ),
+ 73 =>
+ array (
+ ),
+ 74 =>
+ array (
+ ),
+ 77 =>
+ array (
+ ),
+ 78 =>
+ array (
+ ),
+ 79 =>
+ array (
+ ),
+ 88 =>
+ array (
+ ),
+ 89 =>
+ array (
+ ),
+ 92 =>
+ array (
+ ),
+ 93 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\ResultPrinter.php' =>
+ array (
+ 107 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 108 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 109 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 119 =>
+ array (
+ ),
+ 120 =>
+ array (
+ ),
+ 121 =>
+ array (
+ ),
+ 123 =>
+ array (
+ ),
+ 124 => NULL,
+ 134 =>
+ array (
+ ),
+ 135 =>
+ array (
+ ),
+ 136 =>
+ array (
+ ),
+ 137 =>
+ array (
+ ),
+ 138 =>
+ array (
+ ),
+ 139 =>
+ array (
+ ),
+ 140 =>
+ array (
+ ),
+ 141 =>
+ array (
+ ),
+ 142 =>
+ array (
+ ),
+ 143 =>
+ array (
+ ),
+ 145 =>
+ array (
+ ),
+ 146 =>
+ array (
+ ),
+ 148 =>
+ array (
+ ),
+ 149 =>
+ array (
+ ),
+ 150 =>
+ array (
+ ),
+ 151 =>
+ array (
+ ),
+ 158 =>
+ array (
+ ),
+ 159 =>
+ array (
+ ),
+ 160 =>
+ array (
+ ),
+ 168 =>
+ array (
+ ),
+ 169 =>
+ array (
+ ),
+ 170 =>
+ array (
+ ),
+ 177 =>
+ array (
+ ),
+ 178 =>
+ array (
+ ),
+ 179 =>
+ array (
+ ),
+ 180 =>
+ array (
+ ),
+ 181 =>
+ array (
+ ),
+ 182 =>
+ array (
+ ),
+ 193 =>
+ array (
+ ),
+ 194 =>
+ array (
+ ),
+ 195 =>
+ array (
+ ),
+ 198 =>
+ array (
+ ),
+ 199 =>
+ array (
+ ),
+ 200 =>
+ array (
+ ),
+ 201 =>
+ array (
+ ),
+ 204 =>
+ array (
+ ),
+ 205 =>
+ array (
+ ),
+ 208 =>
+ array (
+ ),
+ 209 =>
+ array (
+ ),
+ 210 =>
+ array (
+ ),
+ 211 =>
+ array (
+ ),
+ 214 =>
+ array (
+ ),
+ 215 =>
+ array (
+ ),
+ 216 =>
+ array (
+ ),
+ 217 =>
+ array (
+ ),
+ 226 =>
+ array (
+ ),
+ 227 => NULL,
+ 235 =>
+ array (
+ ),
+ 236 =>
+ array (
+ ),
+ 243 =>
+ array (
+ ),
+ 244 => NULL,
+ 253 =>
+ array (
+ ),
+ 254 => NULL,
+ 264 =>
+ array (
+ ),
+ 265 =>
+ array (
+ ),
+ 266 =>
+ array (
+ ),
+ 267 => NULL,
+ 276 =>
+ array (
+ ),
+ 278 =>
+ array (
+ ),
+ 279 => NULL,
+ 288 =>
+ array (
+ ),
+ 290 =>
+ array (
+ ),
+ 291 => NULL,
+ 300 =>
+ array (
+ ),
+ 301 => NULL,
+ 311 =>
+ array (
+ ),
+ 313 =>
+ array (
+ ),
+ 315 =>
+ array (
+ ),
+ 317 =>
+ array (
+ ),
+ 318 =>
+ array (
+ ),
+ 321 =>
+ array (
+ ),
+ 322 =>
+ array (
+ ),
+ 324 =>
+ array (
+ ),
+ 333 =>
+ array (
+ ),
+ 334 =>
+ array (
+ ),
+ 335 =>
+ array (
+ ),
+ 336 =>
+ array (
+ ),
+ 337 =>
+ array (
+ ),
+ 340 =>
+ array (
+ ),
+ 352 =>
+ array (
+ ),
+ 353 =>
+ array (
+ ),
+ 354 => NULL,
+ 369 =>
+ array (
+ ),
+ 370 =>
+ array (
+ ),
+ 371 =>
+ array (
+ ),
+ 372 =>
+ array (
+ ),
+ 374 =>
+ array (
+ ),
+ 377 =>
+ array (
+ ),
+ 379 =>
+ array (
+ ),
+ 392 =>
+ array (
+ ),
+ 393 =>
+ array (
+ ),
+ 394 =>
+ array (
+ ),
+ 395 =>
+ array (
+ ),
+ 398 =>
+ array (
+ ),
+ 409 =>
+ array (
+ ),
+ 410 =>
+ array (
+ ),
+ 411 =>
+ array (
+ ),
+ 412 =>
+ array (
+ ),
+ 413 =>
+ array (
+ ),
+ 414 =>
+ array (
+ ),
+ 416 =>
+ array (
+ ),
+ 428 =>
+ array (
+ ),
+ 429 =>
+ array (
+ ),
+ 430 =>
+ array (
+ ),
+ 432 =>
+ array (
+ ),
+ 433 =>
+ array (
+ ),
+ 434 =>
+ array (
+ ),
+ 437 =>
+ array (
+ ),
+ 440 =>
+ array (
+ ),
+ 441 =>
+ array (
+ ),
+ 444 =>
+ array (
+ ),
+ 445 => NULL,
+ 452 =>
+ array (
+ ),
+ 453 =>
+ array (
+ ),
+ 454 =>
+ array (
+ ),
+ 455 =>
+ array (
+ ),
+ 456 =>
+ array (
+ ),
+ 458 => NULL,
+ 468 =>
+ array (
+ ),
+ 470 =>
+ array (
+ ),
+ 473 =>
+ array (
+ ),
+ 474 =>
+ array (
+ ),
+ 475 =>
+ array (
+ ),
+ 476 =>
+ array (
+ ),
+ 479 => NULL,
+ 489 =>
+ array (
+ ),
+ 490 =>
+ array (
+ ),
+ 492 =>
+ array (
+ ),
+ 495 =>
+ array (
+ ),
+ 497 =>
+ array (
+ ),
+ 500 =>
+ array (
+ ),
+ 505 =>
+ array (
+ ),
+ 506 =>
+ array (
+ ),
+ 508 =>
+ array (
+ ),
+ 510 =>
+ array (
+ ),
+ 513 => NULL,
+ 517 =>
+ array (
+ ),
+ 519 =>
+ array (
+ ),
+ 520 =>
+ array (
+ ),
+ 522 =>
+ array (
+ ),
+ 523 => NULL,
+ 527 =>
+ array (
+ ),
+ 529 =>
+ array (
+ ),
+ 530 =>
+ array (
+ ),
+ 532 =>
+ array (
+ ),
+ 533 => NULL,
+ 541 =>
+ array (
+ ),
+ 542 =>
+ array (
+ ),
+ 544 =>
+ array (
+ ),
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\SuiteLoader.php' =>
+ array (
+ 27 =>
+ array (
+ ),
+ 28 =>
+ array (
+ ),
+ 31 =>
+ array (
+ ),
+ 32 =>
+ array (
+ ),
+ 42 =>
+ array (
+ ),
+ 43 => NULL,
+ 53 =>
+ array (
+ ),
+ 54 =>
+ array (
+ ),
+ 55 =>
+ array (
+ ),
+ 58 =>
+ array (
+ ),
+ 59 => NULL,
+ 70 =>
+ array (
+ ),
+ 71 =>
+ array (
+ ),
+ 73 =>
+ array (
+ ),
+ 76 =>
+ array (
+ ),
+ 77 =>
+ array (
+ ),
+ 78 =>
+ array (
+ ),
+ 79 =>
+ array (
+ ),
+ 80 =>
+ array (
+ ),
+ 81 =>
+ array (
+ ),
+ 82 =>
+ array (
+ ),
+ 83 =>
+ array (
+ ),
+ 86 =>
+ array (
+ ),
+ 87 =>
+ array (
+ ),
+ 88 =>
+ array (
+ ),
+ 89 =>
+ array (
+ ),
+ 90 =>
+ array (
+ ),
+ 96 =>
+ array (
+ ),
+ 97 =>
+ array (
+ ),
+ 100 =>
+ array (
+ ),
+ 102 =>
+ array (
+ ),
+ 103 =>
+ array (
+ ),
+ 112 =>
+ array (
+ ),
+ 114 =>
+ array (
+ ),
+ 115 =>
+ array (
+ ),
+ 116 =>
+ array (
+ ),
+ 118 =>
+ array (
+ ),
+ 119 =>
+ array (
+ ),
+ 122 =>
+ array (
+ ),
+ 126 =>
+ array (
+ ),
+ 127 =>
+ array (
+ ),
+ 128 =>
+ array (
+ ),
+ 129 =>
+ array (
+ ),
+ 130 =>
+ array (
+ ),
+ 132 =>
+ array (
+ ),
+ 133 => NULL,
+ 146 =>
+ array (
+ ),
+ 147 =>
+ array (
+ ),
+ 148 =>
+ array (
+ ),
+ 149 =>
+ array (
+ ),
+ 150 =>
+ array (
+ ),
+ 152 =>
+ array (
+ ),
+ 153 =>
+ array (
+ ),
+ 156 =>
+ array (
+ ),
+ 157 =>
+ array (
+ ),
+ 159 =>
+ array (
+ ),
+ 162 =>
+ array (
+ ),
+ 163 => NULL,
+ 167 =>
+ array (
+ ),
+ 168 =>
+ array (
+ ),
+ 169 =>
+ array (
+ ),
+ 170 =>
+ array (
+ ),
+ 171 =>
+ array (
+ ),
+ 175 =>
+ array (
+ ),
+ 179 =>
+ array (
+ ),
+ 180 =>
+ array (
+ ),
+ 181 =>
+ array (
+ ),
+ 182 =>
+ array (
+ ),
+ 184 =>
+ array (
+ ),
+ 186 =>
+ array (
+ ),
+ 189 =>
+ array (
+ ),
+ 204 =>
+ array (
+ ),
+ 206 =>
+ array (
+ ),
+ 208 =>
+ array (
+ ),
+ 209 =>
+ array (
+ ),
+ 210 =>
+ array (
+ ),
+ 211 =>
+ array (
+ ),
+ 212 =>
+ array (
+ ),
+ 213 =>
+ array (
+ ),
+ 214 =>
+ array (
+ ),
+ 215 =>
+ array (
+ ),
+ 216 =>
+ array (
+ ),
+ 217 =>
+ array (
+ ),
+ 218 =>
+ array (
+ ),
+ 220 =>
+ array (
+ ),
+ 221 =>
+ array (
+ ),
+ 224 =>
+ array (
+ ),
+ 225 =>
+ array (
+ ),
+ 228 =>
+ array (
+ ),
+ 229 => NULL,
+ 233 =>
+ array (
+ ),
+ 234 =>
+ array (
+ ),
+ 237 =>
+ array (
+ ),
+ 238 =>
+ array (
+ ),
+ 240 =>
+ array (
+ ),
+ 243 =>
+ array (
+ ),
+ 244 =>
+ array (
+ ),
+ 246 =>
+ array (
+ ),
+ 249 =>
+ array (
+ ),
+ 250 => NULL,
+ 254 =>
+ array (
+ ),
+ 255 =>
+ array (
+ ),
+ 258 =>
+ array (
+ ),
+ 259 =>
+ array (
+ ),
+ 260 =>
+ array (
+ ),
+ 261 =>
+ array (
+ ),
+ 262 =>
+ array (
+ ),
+ 264 =>
+ array (
+ ),
+ 265 => NULL,
+ 269 =>
+ array (
+ ),
+ 270 =>
+ array (
+ ),
+ 272 =>
+ array (
+ ),
+ 273 => NULL,
+ 277 =>
+ array (
+ ),
+ 278 =>
+ array (
+ ),
+ 280 =>
+ array (
+ ),
+ 281 => NULL,
+ 285 =>
+ array (
+ ),
+ 286 =>
+ array (
+ ),
+ 288 =>
+ array (
+ ),
+ 289 => NULL,
+ 293 =>
+ array (
+ ),
+ 294 =>
+ array (
+ ),
+ 296 =>
+ array (
+ ),
+ 297 => NULL,
+ 301 =>
+ array (
+ ),
+ 303 =>
+ array (
+ ),
+ 307 =>
+ array (
+ ),
+ 309 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Coverage\\CoverageReporterLegacy.php' =>
+ array (
+ 20 =>
+ array (
+ ),
+ 21 =>
+ array (
+ ),
+ 30 =>
+ array (
+ ),
+ 31 =>
+ array (
+ ),
+ 32 =>
+ array (
+ ),
+ 41 =>
+ array (
+ ),
+ 42 =>
+ array (
+ ),
+ 43 =>
+ array (
+ ),
+ 51 =>
+ array (
+ ),
+ 52 =>
+ array (
+ ),
+ 53 =>
+ array (
+ ),
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Logging\\JUnit\\Writer.php' =>
+ array (
+ 56 =>
+ array (
+ ),
+ 57 =>
+ array (
+ ),
+ 58 =>
+ array (
+ ),
+ 59 =>
+ array (
+ ),
+ 60 =>
+ array (
+ ),
+ 69 =>
+ array (
+ ),
+ 70 => NULL,
+ 80 =>
+ array (
+ ),
+ 81 =>
+ array (
+ ),
+ 82 =>
+ array (
+ ),
+ 83 =>
+ array (
+ ),
+ 84 =>
+ array (
+ ),
+ 85 =>
+ array (
+ ),
+ 88 =>
+ array (
+ ),
+ 89 => NULL,
+ 98 =>
+ array (
+ ),
+ 99 =>
+ array (
+ ),
+ 111 =>
+ array (
+ ),
+ 112 =>
+ array (
+ ),
+ 113 =>
+ array (
+ ),
+ 114 =>
+ array (
+ ),
+ 115 =>
+ array (
+ ),
+ 118 =>
+ array (
+ ),
+ 119 =>
+ array (
+ ),
+ 120 => NULL,
+ 132 =>
+ array (
+ ),
+ 133 =>
+ array (
+ ),
+ 134 =>
+ array (
+ ),
+ 135 =>
+ array (
+ ),
+ 136 =>
+ array (
+ ),
+ 139 =>
+ array (
+ ),
+ 140 =>
+ array (
+ ),
+ 141 =>
+ array (
+ ),
+ 142 =>
+ array (
+ ),
+ 143 => NULL,
+ 154 =>
+ array (
+ ),
+ 155 =>
+ array (
+ ),
+ 156 =>
+ array (
+ ),
+ 157 =>
+ array (
+ ),
+ 159 =>
+ array (
+ ),
+ 169 =>
+ array (
+ ),
+ 170 =>
+ array (
+ ),
+ 171 =>
+ array (
+ ),
+ 172 =>
+ array (
+ ),
+ 174 =>
+ array (
+ ),
+ 175 =>
+ array (
+ ),
+ 176 =>
+ array (
+ ),
+ 177 =>
+ array (
+ ),
+ 179 =>
+ array (
+ ),
+ 180 =>
+ array (
+ ),
+ 181 => NULL,
+ 199 =>
+ array (
+ ),
+ 200 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\WrapperRunner.php' =>
+ array (
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Parser\\Parser.php' =>
+ array (
+ 35 =>
+ array (
+ ),
+ 36 =>
+ array (
+ ),
+ 39 =>
+ array (
+ ),
+ 40 =>
+ array (
+ ),
+ 41 =>
+ array (
+ ),
+ 42 =>
+ array (
+ ),
+ 43 =>
+ array (
+ ),
+ 44 =>
+ array (
+ ),
+ 47 =>
+ array (
+ ),
+ 48 =>
+ array (
+ ),
+ 49 =>
+ array (
+ ),
+ 51 =>
+ array (
+ ),
+ 61 =>
+ array (
+ ),
+ 62 =>
+ array (
+ ),
+ 63 =>
+ array (
+ ),
+ 64 =>
+ array (
+ ),
+ 65 =>
+ array (
+ ),
+ 66 =>
+ array (
+ ),
+ 67 =>
+ array (
+ ),
+ 69 => NULL,
+ 78 =>
+ array (
+ ),
+ 79 =>
+ array (
+ ),
+ 80 =>
+ array (
+ ),
+ 81 =>
+ array (
+ ),
+ 82 =>
+ array (
+ ),
+ 83 =>
+ array (
+ ),
+ 84 =>
+ array (
+ ),
+ 85 =>
+ array (
+ ),
+ 88 =>
+ array (
+ ),
+ 89 => NULL,
+ 99 =>
+ array (
+ ),
+ 100 =>
+ array (
+ ),
+ 101 =>
+ array (
+ ),
+ 103 =>
+ array (
+ ),
+ 104 =>
+ array (
+ ),
+ 105 =>
+ array (
+ ),
+ 106 =>
+ array (
+ ),
+ 107 =>
+ array (
+ ),
+ 113 =>
+ array (
+ ),
+ 114 =>
+ array (
+ ),
+ 115 =>
+ array (
+ ),
+ 116 =>
+ array (
+ ),
+ 119 =>
+ array (
+ ),
+ 128 =>
+ array (
+ ),
+ 129 =>
+ array (
+ ),
+ 130 => NULL,
+ 134 =>
+ array (
+ ),
+ 135 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Parser\\ParsedObject.php' =>
+ array (
+ 18 =>
+ array (
+ ),
+ 19 =>
+ array (
+ ),
+ 20 =>
+ array (
+ ),
+ 29 =>
+ array (
+ ),
+ 30 => NULL,
+ 39 =>
+ array (
+ ),
+ 40 => NULL,
+ 53 =>
+ array (
+ ),
+ 54 =>
+ array (
+ ),
+ 56 =>
+ array (
+ ),
+ 58 =>
+ array (
+ ),
+ 59 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\TestFileLoader.php' =>
+ array (
+ 51 =>
+ array (
+ ),
+ 52 =>
+ array (
+ ),
+ 55 =>
+ array (
+ ),
+ 56 =>
+ array (
+ ),
+ 68 =>
+ array (
+ ),
+ 69 =>
+ array (
+ ),
+ 70 =>
+ array (
+ ),
+ 71 =>
+ array (
+ ),
+ 72 =>
+ array (
+ ),
+ 76 =>
+ array (
+ ),
+ 77 =>
+ array (
+ ),
+ 80 =>
+ array (
+ ),
+ 82 =>
+ array (
+ ),
+ 83 => NULL,
+ 96 =>
+ array (
+ ),
+ 97 =>
+ array (
+ ),
+ 98 =>
+ array (
+ ),
+ 100 =>
+ array (
+ ),
+ 101 =>
+ array (
+ ),
+ 103 =>
+ array (
+ ),
+ 104 =>
+ array (
+ ),
+ 105 =>
+ array (
+ ),
+ 106 =>
+ array (
+ ),
+ 109 =>
+ array (
+ ),
+ 110 => NULL,
+ 120 =>
+ array (
+ ),
+ 121 =>
+ array (
+ ),
+ 122 =>
+ array (
+ ),
+ 124 =>
+ array (
+ ),
+ 133 =>
+ array (
+ ),
+ 134 =>
+ array (
+ ),
+ 144 =>
+ array (
+ ),
+ 145 =>
+ array (
+ ),
+ 146 =>
+ array (
+ ),
+ 147 =>
+ array (
+ ),
+ 148 =>
+ array (
+ ),
+ 152 =>
+ array (
+ ),
+ 153 =>
+ array (
+ ),
+ 155 =>
+ array (
+ ),
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Logging\\JUnit\\TestCase.php' =>
+ array (
+ 67 =>
+ array (
+ ),
+ 68 =>
+ array (
+ ),
+ 69 =>
+ array (
+ ),
+ 70 =>
+ array (
+ ),
+ 71 =>
+ array (
+ ),
+ 72 =>
+ array (
+ ),
+ 73 =>
+ array (
+ ),
+ 81 =>
+ array (
+ ),
+ 82 =>
+ array (
+ ),
+ 90 =>
+ array (
+ ),
+ 91 =>
+ array (
+ ),
+ 102 =>
+ array (
+ ),
+ 103 =>
+ array (
+ ),
+ 104 =>
+ array (
+ ),
+ 106 =>
+ array (
+ ),
+ 117 =>
+ array (
+ ),
+ 118 =>
+ array (
+ ),
+ 119 =>
+ array (
+ ),
+ 120 =>
+ array (
+ ),
+ 121 =>
+ array (
+ ),
+ 122 =>
+ array (
+ ),
+ 123 =>
+ array (
+ ),
+ 125 =>
+ array (
+ ),
+ 126 =>
+ array (
+ ),
+ 127 =>
+ array (
+ ),
+ 128 =>
+ array (
+ ),
+ 130 =>
+ array (
+ ),
+ 131 =>
+ array (
+ ),
+ 133 =>
+ array (
+ ),
+ 134 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Logging\\JUnit\\Reader.php' =>
+ array (
+ 41 =>
+ array (
+ ),
+ 42 =>
+ array (
+ ),
+ 45 =>
+ array (
+ ),
+ 46 =>
+ array (
+ ),
+ 47 =>
+ array (
+ ),
+ 49 =>
+ array (
+ ),
+ 50 =>
+ array (
+ ),
+ 51 =>
+ array (
+ ),
+ 52 =>
+ array (
+ ),
+ 62 =>
+ array (
+ ),
+ 63 => NULL,
+ 73 =>
+ array (
+ ),
+ 74 => NULL,
+ 84 =>
+ array (
+ ),
+ 85 => NULL,
+ 98 =>
+ array (
+ ),
+ 99 =>
+ array (
+ ),
+ 100 =>
+ array (
+ ),
+ 101 =>
+ array (
+ ),
+ 102 =>
+ array (
+ ),
+ 103 =>
+ array (
+ ),
+ 104 =>
+ array (
+ ),
+ 105 =>
+ array (
+ ),
+ 107 =>
+ array (
+ ),
+ 111 =>
+ array (
+ ),
+ 112 => NULL,
+ 119 =>
+ array (
+ ),
+ 120 =>
+ array (
+ ),
+ 128 =>
+ array (
+ ),
+ 129 =>
+ array (
+ ),
+ 130 =>
+ array (
+ ),
+ 131 =>
+ array (
+ ),
+ 133 =>
+ array (
+ ),
+ 141 =>
+ array (
+ ),
+ 142 =>
+ array (
+ ),
+ 143 =>
+ array (
+ ),
+ 144 =>
+ array (
+ ),
+ 146 =>
+ array (
+ ),
+ 148 =>
+ array (
+ ),
+ 159 =>
+ array (
+ ),
+ 160 =>
+ array (
+ ),
+ 161 =>
+ array (
+ ),
+ 162 =>
+ array (
+ ),
+ 172 =>
+ array (
+ ),
+ 183 =>
+ array (
+ ),
+ 184 => NULL,
+ 194 =>
+ array (
+ ),
+ 195 =>
+ array (
+ ),
+ 196 =>
+ array (
+ ),
+ 197 =>
+ array (
+ ),
+ 198 =>
+ array (
+ ),
+ 199 =>
+ array (
+ ),
+ 201 =>
+ array (
+ ),
+ 203 =>
+ array (
+ ),
+ 204 => NULL,
+ 213 =>
+ array (
+ ),
+ 214 =>
+ array (
+ ),
+ 215 =>
+ array (
+ ),
+ 217 =>
+ array (
+ ),
+ 218 =>
+ array (
+ ),
+ 220 =>
+ array (
+ ),
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Console\\Testers\\PHPUnit.php' =>
+ array (
+ 37 =>
+ array (
+ ),
+ 38 =>
+ array (
+ ),
+ 39 =>
+ array (
+ ),
+ 40 =>
+ array (
+ ),
+ 41 =>
+ array (
+ ),
+ 42 =>
+ array (
+ ),
+ 43 =>
+ array (
+ ),
+ 44 =>
+ array (
+ ),
+ 45 =>
+ array (
+ ),
+ 46 =>
+ array (
+ ),
+ 47 =>
+ array (
+ ),
+ 48 =>
+ array (
+ ),
+ 49 =>
+ array (
+ ),
+ 50 =>
+ array (
+ ),
+ 62 =>
+ array (
+ ),
+ 63 =>
+ array (
+ ),
+ 66 =>
+ array (
+ ),
+ 67 =>
+ array (
+ ),
+ 69 =>
+ array (
+ ),
+ 71 =>
+ array (
+ ),
+ 72 =>
+ array (
+ ),
+ 73 =>
+ array (
+ ),
+ 74 =>
+ array (
+ ),
+ 79 =>
+ array (
+ ),
+ 80 =>
+ array (
+ ),
+ 83 =>
+ array (
+ ),
+ 84 =>
+ array (
+ ),
+ 85 => NULL,
+ 96 =>
+ array (
+ ),
+ 97 =>
+ array (
+ ),
+ 98 =>
+ array (
+ ),
+ 99 => NULL,
+ 109 =>
+ array (
+ ),
+ 110 => NULL,
+ 118 =>
+ array (
+ ),
+ 120 =>
+ array (
+ ),
+ 121 =>
+ array (
+ ),
+ 122 =>
+ array (
+ ),
+ 123 =>
+ array (
+ ),
+ 124 =>
+ array (
+ ),
+ 125 =>
+ array (
+ ),
+ 127 =>
+ array (
+ ),
+ 130 =>
+ array (
+ ),
+ 131 => NULL,
+ 140 =>
+ array (
+ ),
+ 141 =>
+ array (
+ ),
+ 142 =>
+ array (
+ ),
+ 143 =>
+ array (
+ ),
+ 145 =>
+ array (
+ ),
+ 146 =>
+ array (
+ ),
+ 149 =>
+ array (
+ ),
+ 150 =>
+ array (
+ ),
+ 153 =>
+ array (
+ ),
+ 154 => NULL,
+ 165 =>
+ array (
+ ),
+ 166 =>
+ array (
+ ),
+ 169 =>
+ array (
+ ),
+ 170 =>
+ array (
+ ),
+ 171 =>
+ array (
+ ),
+ 174 =>
+ array (
+ ),
+ 175 =>
+ array (
+ ),
+ 184 =>
+ array (
+ ),
+ 185 =>
+ array (
+ ),
+ 186 =>
+ array (
+ ),
+ 187 =>
+ array (
+ ),
+ 197 =>
+ array (
+ ),
+ 198 =>
+ array (
+ ),
+ 199 =>
+ array (
+ ),
+ 200 => NULL,
+ 211 =>
+ array (
+ ),
+ 212 =>
+ array (
+ ),
+ 215 =>
+ array (
+ ),
+ 216 =>
+ array (
+ ),
+ 219 =>
+ array (
+ ),
+ 220 =>
+ array (
+ ),
+ 222 =>
+ array (
+ ),
+ 223 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\ExecutableTest.php' =>
+ array (
+ 54 =>
+ array (
+ ),
+ 55 =>
+ array (
+ ),
+ 56 =>
+ array (
+ ),
+ 72 =>
+ array (
+ ),
+ 73 => NULL,
+ 84 =>
+ array (
+ ),
+ 85 =>
+ array (
+ ),
+ 88 =>
+ array (
+ ),
+ 89 => NULL,
+ 98 =>
+ array (
+ ),
+ 99 => NULL,
+ 107 =>
+ array (
+ ),
+ 108 =>
+ array (
+ ),
+ 114 =>
+ array (
+ ),
+ 115 =>
+ array (
+ ),
+ 116 =>
+ array (
+ ),
+ 120 =>
+ array (
+ ),
+ 121 => NULL,
+ 131 =>
+ array (
+ ),
+ 132 => NULL,
+ 139 =>
+ array (
+ ),
+ 140 =>
+ array (
+ ),
+ 141 =>
+ array (
+ ),
+ 150 =>
+ array (
+ ),
+ 151 => NULL,
+ 160 =>
+ array (
+ ),
+ 161 => NULL,
+ 170 =>
+ array (
+ ),
+ 171 => NULL,
+ 183 =>
+ array (
+ ),
+ 184 =>
+ array (
+ ),
+ 185 =>
+ array (
+ ),
+ 186 =>
+ array (
+ ),
+ 187 =>
+ array (
+ ),
+ 188 =>
+ array (
+ ),
+ 189 =>
+ array (
+ ),
+ 190 =>
+ array (
+ ),
+ 191 => NULL,
+ 200 =>
+ array (
+ ),
+ 201 => NULL,
+ 212 =>
+ array (
+ ),
+ 213 =>
+ array (
+ ),
+ 214 =>
+ array (
+ ),
+ 215 => NULL,
+ 224 =>
+ array (
+ ),
+ 225 =>
+ array (
+ ),
+ 228 =>
+ array (
+ ),
+ 229 => NULL,
+ 238 =>
+ array (
+ ),
+ 239 => NULL,
+ 248 =>
+ array (
+ ),
+ 249 =>
+ array (
+ ),
+ 263 =>
+ array (
+ ),
+ 265 =>
+ array (
+ ),
+ 266 =>
+ array (
+ ),
+ 267 =>
+ array (
+ ),
+ 275 =>
+ array (
+ ),
+ 285 =>
+ array (
+ ),
+ 286 => NULL,
+ 298 =>
+ array (
+ ),
+ 299 =>
+ array (
+ ),
+ 300 =>
+ array (
+ ),
+ 301 =>
+ array (
+ ),
+ 302 =>
+ array (
+ ),
+ 303 =>
+ array (
+ ),
+ 307 =>
+ array (
+ ),
+ 308 =>
+ array (
+ ),
+ 310 =>
+ array (
+ ),
+ 312 =>
+ array (
+ ),
+ 313 => NULL,
+ 323 =>
+ array (
+ ),
+ 324 =>
+ array (
+ ),
+ 326 =>
+ array (
+ ),
+ 337 =>
+ array (
+ ),
+ 338 =>
+ array (
+ ),
+ 341 =>
+ array (
+ ),
+ 342 =>
+ array (
+ ),
+ 344 =>
+ array (
+ ),
+ 345 => NULL,
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Logging\\LogInterpreter.php' =>
+ array (
+ ),
+ 'C:\\paratest\\src\\ParaTest\\Runners\\PHPUnit\\BaseRunner.php' =>
+ array (
+ 62 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 63 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 64 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 65 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor',
+ 1 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ 2 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens',
+ 3 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier',
+ 4 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable',
+ 5 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable',
+ ),
+ 69 =>
+ array (
+ ),
+ 70 =>
+ array (
+ ),
+ 71 =>
+ array (
+ ),
+ 72 =>
+ array (
+ ),
+ 73 =>
+ array (
+ ),
+ 82 =>
+ array (
+ ),
+ 83 =>
+ array (
+ ),
+ 84 =>
+ array (
+ ),
+ 86 =>
+ array (
+ ),
+ 96 =>
+ array (
+ ),
+ 97 =>
+ array (
+ ),
+ 98 =>
+ array (
+ ),
+ 99 =>
+ array (
+ ),
+ 100 =>
+ array (
+ ),
+ 101 =>
+ array (
+ ),
+ 103 =>
+ array (
+ ),
+ 113 =>
+ array (
+ 0 => 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode',
+ ),
+ 114 => NULL,
+ 121 =>
+ array (
+ ),
+ 122 =>
+ array (
+ ),
+ 124 =>
+ array (
+ ),
+ 125 =>
+ array (
+ ),
+ 126 =>
+ array (
+ ),
+ 127 =>
+ array (
+ ),
+ 134 =>
+ array (
+ ),
+ 135 =>
+ array (
+ ),
+ 138 =>
+ array (
+ ),
+ 140 =>
+ array (
+ ),
+ 142 =>
+ array (
+ ),
+ 143 =>
+ array (
+ ),
+ 146 =>
+ array (
+ ),
+ 147 =>
+ array (
+ ),
+ 150 =>
+ array (
+ ),
+ 151 =>
+ array (
+ ),
+ 155 =>
+ array (
+ ),
+ 156 =>
+ array (
+ ),
+ 159 =>
+ array (
+ ),
+ 160 =>
+ array (
+ ),
+ 167 =>
+ array (
+ ),
+ 168 => NULL,
+ 175 =>
+ array (
+ ),
+ 176 => NULL,
+ ),
+);
+if (class_exists(\SebastianBergmann\CodeCoverage\ProcessedCodeCoverageData::class)) {
+ $processedData = new \SebastianBergmann\CodeCoverage\ProcessedCodeCoverageData();
+ $processedData->setLineCoverage($data);
+
+ $data = $processedData;
+}
+$coverage->setData($data);
+$coverage->setTests(array (
+ 'UNCOVERED_FILES_FROM_WHITELIST' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => NULL,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructor' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetExitCode' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testConstructorAssignsTokens' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetsNextAvailableTokenReturnsTokenIdentifier' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testGetNextAvailableTokenReturnsFalseWhenNoTokensAreAvailable' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+ 'ParaTest\\Runners\\PHPUnit\\RunnerTest::testReleaseTokenMakesTokenAvailable' =>
+ array (
+ 'size' => 'unknown',
+ 'status' => 0,
+ ),
+));
+
+return $coverage;
\ No newline at end of file
diff --git a/test/fixtures/coverage-tests/runner_test.cov b/test/fixtures/coverage-tests/runner_test.cov
index 9fba364..f8adb96 100644
--- a/test/fixtures/coverage-tests/runner_test.cov
+++ b/test/fixtures/coverage-tests/runner_test.cov
@@ -1,6 +1,43 @@
setData(array (
+
+$filter = new \SebastianBergmann\CodeCoverage\Filter();
+$filter->includeFiles(array (
+ '/home/munkie/Projects/paratest/src/ParaTest/Console/Commands/ParaTestCommand.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Console/ParaTestApplication.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Console/Testers/PHPUnit.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Console/Testers/Tester.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Coverage/CoverageMerger.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Coverage/CoverageReporter.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Coverage/CoverageReporterInterface.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Coverage/CoverageReporterLegacy.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Logging/JUnit/Reader.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Logging/JUnit/TestCase.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Logging/JUnit/TestSuite.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Logging/JUnit/Writer.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Logging/LogInterpreter.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Logging/MetaProvider.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Parser/NoClassInFileException.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Parser/ParsedClass.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Parser/ParsedFunction.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Parser/ParsedObject.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Parser/Parser.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/BaseRunner.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/Configuration.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/ExecutableTest.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/Options.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/ResultPrinter.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/Runner.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/Suite.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/SuiteLoader.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/SuitePath.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/TestFileLoader.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/TestMethod.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/Worker.php',
+ '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/WrapperRunner.php',
+));
+
+$coverage = new \SebastianBergmann\CodeCoverage\CodeCoverage(new \SebastianBergmann\CodeCoverage\Driver\PcovDriver($filter), $filter);
+$data = array (
'/home/munkie/Projects/paratest/src/ParaTest/Console/ParaTestApplication.php' =>
array (
18 =>
@@ -3786,7 +3823,14 @@ $coverage->setData(array (
),
176 => NULL,
),
-));
+);
+if (class_exists(\SebastianBergmann\CodeCoverage\ProcessedCodeCoverageData::class)) {
+ $processedData = new \SebastianBergmann\CodeCoverage\ProcessedCodeCoverageData();
+ $processedData->setLineCoverage($data);
+
+ $data = $processedData;
+}
+$coverage->setData($data);
$coverage->setTests(array (
'UNCOVERED_FILES_FROM_WHITELIST' =>
array (
@@ -3825,40 +3869,4 @@ $coverage->setTests(array (
),
));
-$filter = $coverage->filter();
-$filter->setWhitelistedFiles(array (
- '/home/munkie/Projects/paratest/src/ParaTest/Console/Commands/ParaTestCommand.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Console/ParaTestApplication.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Console/Testers/PHPUnit.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Console/Testers/Tester.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Coverage/CoverageMerger.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Coverage/CoverageReporter.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Coverage/CoverageReporterInterface.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Coverage/CoverageReporterLegacy.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Logging/JUnit/Reader.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Logging/JUnit/TestCase.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Logging/JUnit/TestSuite.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Logging/JUnit/Writer.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Logging/LogInterpreter.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Logging/MetaProvider.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Parser/NoClassInFileException.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Parser/ParsedClass.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Parser/ParsedFunction.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Parser/ParsedObject.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Parser/Parser.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/BaseRunner.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/Configuration.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/ExecutableTest.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/Options.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/ResultPrinter.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/Runner.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/Suite.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/SuiteLoader.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/SuitePath.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/TestFileLoader.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/TestMethod.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/Worker.php' => true,
- '/home/munkie/Projects/paratest/src/ParaTest/Runners/PHPUnit/WrapperRunner.php' => true,
-));
-
return $coverage;
\ No newline at end of file
diff --git a/test/fixtures/dataprovider-tests/DataProviderTest.php b/test/fixtures/dataprovider-tests/DataProviderTest.php
index cf8b823..db891c8 100644
--- a/test/fixtures/dataprovider-tests/DataProviderTest.php
+++ b/test/fixtures/dataprovider-tests/DataProviderTest.php
@@ -1,11 +1,15 @@
assertEquals($expected, $actual);
}
@@ -23,7 +27,7 @@ public function dataProviderNumeric50()
/**
* @dataProvider dataProviderNamed50
*/
- public function testNamedDataProvider50($expected, $actual)
+ public function testNamedDataProvider50($expected, $actual): void
{
$this->assertEquals($expected, $actual);
}
@@ -32,7 +36,7 @@ public function dataProviderNamed50()
{
$result = [];
for ($i = 0; $i < 50; $i++) {
- $name = 'name_of_test_' . $i;
+ $name = 'name_of_test_' . $i;
$result[$name] = [$i, $i];
}
@@ -42,7 +46,7 @@ public function dataProviderNamed50()
/**
* @dataProvider dataProviderNumeric1000
*/
- public function testNumericDataProvider1000($expected, $actual)
+ public function testNumericDataProvider1000($expected, $actual): void
{
$this->assertEquals($expected, $actual);
}
@@ -60,7 +64,7 @@ public function dataProviderNumeric1000()
/**
* @dataProvider dataProviderIterable
*/
- public function testIterableDataProvider($expected, $actual)
+ public function testIterableDataProvider($expected, $actual): void
{
$this->assertEquals($expected, $actual);
}
diff --git a/test/fixtures/excluded-tests/PassingTest.php b/test/fixtures/excluded-tests/PassingTest.php
index 9cd3a13..361ca77 100644
--- a/test/fixtures/excluded-tests/PassingTest.php
+++ b/test/fixtures/excluded-tests/PassingTest.php
@@ -1,8 +1,10 @@
assertTrue(true);
}
diff --git a/test/fixtures/excluded-tests/excluded/ExcludedFailingTest.php b/test/fixtures/excluded-tests/excluded/ExcludedFailingTest.php
index 403abee..b3118ce 100644
--- a/test/fixtures/excluded-tests/excluded/ExcludedFailingTest.php
+++ b/test/fixtures/excluded-tests/excluded/ExcludedFailingTest.php
@@ -1,8 +1,10 @@
assertTrue(false);
}
diff --git a/test/fixtures/excluded-tests/included/IncludedPassingTest.php b/test/fixtures/excluded-tests/included/IncludedPassingTest.php
index bfd0f1f..85c550e 100644
--- a/test/fixtures/excluded-tests/included/IncludedPassingTest.php
+++ b/test/fixtures/excluded-tests/included/IncludedPassingTest.php
@@ -1,8 +1,10 @@
assertTrue(true);
}
diff --git a/test/fixtures/failing-tests/FailingTest.php b/test/fixtures/failing-tests/FailingTest.php
index f42e1d6..1b29dd7 100644
--- a/test/fixtures/failing-tests/FailingTest.php
+++ b/test/fixtures/failing-tests/FailingTest.php
@@ -1,8 +1,12 @@
assertFalse(true);
$this->assertTrue(false);
diff --git a/test/fixtures/failing-tests/StopOnFailureTest.php b/test/fixtures/failing-tests/StopOnFailureTest.php
index dee5ea1..e61a05c 100644
--- a/test/fixtures/failing-tests/StopOnFailureTest.php
+++ b/test/fixtures/failing-tests/StopOnFailureTest.php
@@ -1,11 +1,14 @@
assertTrue(true);
}
@@ -13,7 +16,7 @@ public function testOne()
/**
* @group fixtures
*/
- public function testTwo()
+ public function testTwo(): void
{
$this->assertFalse(true);
}
@@ -21,7 +24,7 @@ public function testTwo()
/**
* @group fixtures
*/
- public function testThree()
+ public function testThree(): void
{
$this->assertTrue(true);
}
@@ -29,7 +32,7 @@ public function testThree()
/**
* @group fixtures
*/
- public function testFour()
+ public function testFour(): void
{
$this->assertTrue(false);
}
diff --git a/test/fixtures/failing-tests/UnitTestWithClassAnnotationTest.php b/test/fixtures/failing-tests/UnitTestWithClassAnnotationTest.php
index 17efd22..255da30 100644
--- a/test/fixtures/failing-tests/UnitTestWithClassAnnotationTest.php
+++ b/test/fixtures/failing-tests/UnitTestWithClassAnnotationTest.php
@@ -1,18 +1,24 @@
assertTrue(true);
}
@@ -21,7 +27,7 @@ public function testTruth()
* @group fixtures
* @pizza
*/
- public function testFalsehood()
+ public function testFalsehood(): void
{
$this->assertFalse(true);
}
@@ -29,21 +35,21 @@ public function testFalsehood()
/**
* @group fixtures
*/
- public function testArrayLength()
+ public function testArrayLength(): void
{
- $elems = [1,2,3,4,5];
+ $elems = [1, 2, 3, 4, 5];
$this->assertEquals(5, sizeof($elems));
}
/**
* @test
*/
- public function itsATest()
+ public function itsATest(): void
{
$this->assertTrue(true);
}
- private function helperFunction()
+ private function helperFunction(): void
{
echo 'I am super helpful';
}
diff --git a/test/fixtures/failing-tests/UnitTestWithErrorTest.php b/test/fixtures/failing-tests/UnitTestWithErrorTest.php
index 310dc0e..e534e4e 100644
--- a/test/fixtures/failing-tests/UnitTestWithErrorTest.php
+++ b/test/fixtures/failing-tests/UnitTestWithErrorTest.php
@@ -1,5 +1,7 @@
assertTrue(true);
}
/**
* @test
*/
- public function isItFalse()
+ public function isItFalse(): void
{
$this->assertFalse(false);
}
diff --git a/test/fixtures/failing-tests/UnitTestWithMethodAnnotationsTest.php b/test/fixtures/failing-tests/UnitTestWithMethodAnnotationsTest.php
index 61c8cf1..f744131 100644
--- a/test/fixtures/failing-tests/UnitTestWithMethodAnnotationsTest.php
+++ b/test/fixtures/failing-tests/UnitTestWithMethodAnnotationsTest.php
@@ -1,10 +1,13 @@
assertTrue(true);
}
@@ -12,7 +15,7 @@ public function testTruth()
/**
* @group fixtures
*/
- public function testFalsehood()
+ public function testFalsehood(): void
{
$this->assertFalse(true);
}
@@ -20,9 +23,9 @@ public function testFalsehood()
/**
* @group fixtures
*/
- public function testArrayLength()
+ public function testArrayLength(): void
{
- $elems = [1,2,3,4,5];
+ $elems = [1, 2, 3, 4, 5];
$this->assertEquals(5, sizeof($elems));
}
}
diff --git a/test/fixtures/fatal-tests/UnitTestWithFatalFunctionErrorTest.php b/test/fixtures/fatal-tests/UnitTestWithFatalFunctionErrorTest.php
index 7c10729..8b6fa2f 100644
--- a/test/fixtures/fatal-tests/UnitTestWithFatalFunctionErrorTest.php
+++ b/test/fixtures/fatal-tests/UnitTestWithFatalFunctionErrorTest.php
@@ -1,5 +1,7 @@
assertFalse(false);
diff --git a/test/fixtures/fatal-tests/UnitTestWithFatalParseErrorTest.php b/test/fixtures/fatal-tests/UnitTestWithFatalParseErrorTest.php
index 75f3ad4..9166a1f 100644
--- a/test/fixtures/fatal-tests/UnitTestWithFatalParseErrorTest.php
+++ b/test/fixtures/fatal-tests/UnitTestWithFatalParseErrorTest.php
@@ -1,5 +1,7 @@
assertFalse(false);
diff --git a/test/fixtures/globbing-support-tests/some-dir/TestTokenTest.php b/test/fixtures/globbing-support-tests/some-dir/TestTokenTest.php
index 396c25f..c42ee76 100644
--- a/test/fixtures/globbing-support-tests/some-dir/TestTokenTest.php
+++ b/test/fixtures/globbing-support-tests/some-dir/TestTokenTest.php
@@ -1,8 +1,10 @@
assertEquals(1, getenv('PARATEST'));
}
- public function testTestTokenVariableIsDefinedCorrectly()
+ public function testTestTokenVariableIsDefinedCorrectly(): void
{
- $token = getenv('TEST_TOKEN');
+ $token = getenv('TEST_TOKEN');
$unqiueToken = getenv('UNIQUE_TEST_TOKEN');
$this->assertTrue(is_numeric($token));
- $this->assertTrue(!empty($unqiueToken));
+ $this->assertTrue(! empty($unqiueToken));
}
}
diff --git a/test/fixtures/paratest-only-tests/TestTokenTest.php b/test/fixtures/paratest-only-tests/TestTokenTest.php
index 00b3801..0e4129c 100644
--- a/test/fixtures/paratest-only-tests/TestTokenTest.php
+++ b/test/fixtures/paratest-only-tests/TestTokenTest.php
@@ -1,10 +1,12 @@
assertTrue(false !== $token);
+ $this->assertTrue($token !== false);
}
}
diff --git a/test/fixtures/passing-tests/DependsOnChain.php b/test/fixtures/passing-tests/DependsOnChain.php
index 872458b..1c37767 100644
--- a/test/fixtures/passing-tests/DependsOnChain.php
+++ b/test/fixtures/passing-tests/DependsOnChain.php
@@ -1,11 +1,13 @@
assertTrue(true);
+
return 'oneA';
}
@@ -15,13 +17,14 @@ public function testOneA()
public function testOneBDependsOnA($result)
{
$this->assertEquals('oneA', $result);
+
return 'oneB';
}
/**
* @depends testOneBDependsOnA
*/
- public function testOneCDependsOnB($result)
+ public function testOneCDependsOnB($result): void
{
$this->assertEquals('oneB', $result);
}
@@ -29,6 +32,7 @@ public function testOneCDependsOnB($result)
public function testTwoA()
{
$this->assertTrue(true);
+
return 'twoA';
}
@@ -38,6 +42,7 @@ public function testTwoA()
public function testTwoBDependsOnA($result)
{
$this->assertEquals('twoA', $result);
+
return 'twoB';
}
}
diff --git a/test/fixtures/passing-tests/DependsOnSame.php b/test/fixtures/passing-tests/DependsOnSame.php
index 1c3b0ba..c4aec81 100644
--- a/test/fixtures/passing-tests/DependsOnSame.php
+++ b/test/fixtures/passing-tests/DependsOnSame.php
@@ -1,17 +1,20 @@
assertTrue(true);
+
return 'twoA';
}
/**
* @depends testOneA
*/
- public function testOneBDependsOnA($result)
+ public function testOneBDependsOnA($result): void
{
$this->assertEquals('twoA', $result);
}
@@ -19,7 +22,7 @@ public function testOneBDependsOnA($result)
/**
* @depends testOneA
*/
- public function testOneCDependsOnA($result)
+ public function testOneCDependsOnA($result): void
{
$this->assertEquals('twoA', $result);
}
diff --git a/test/fixtures/passing-tests/FunctionalModeEachTestCalledOnce.php b/test/fixtures/passing-tests/FunctionalModeEachTestCalledOnce.php
index 94c680c..06021bb 100644
--- a/test/fixtures/passing-tests/FunctionalModeEachTestCalledOnce.php
+++ b/test/fixtures/passing-tests/FunctionalModeEachTestCalledOnce.php
@@ -1,13 +1,15 @@
assertTrue(true);
}
- public function testOneIsNotAlone()
+ public function testOneIsNotAlone(): void
{
$this->assertNotEmpty('This test is to ensure that in functional mode tests are not executed multiple times #53');
}
diff --git a/test/fixtures/passing-tests/GroupsTest.php b/test/fixtures/passing-tests/GroupsTest.php
index 7cef19e..988f68e 100644
--- a/test/fixtures/passing-tests/GroupsTest.php
+++ b/test/fixtures/passing-tests/GroupsTest.php
@@ -1,14 +1,16 @@
assertTrue(true);
}
@@ -16,7 +18,7 @@ public function testTruth()
/**
* @group group1
*/
- public function testFalsehood()
+ public function testFalsehood(): void
{
$this->assertFalse(false);
}
@@ -24,7 +26,7 @@ public function testFalsehood()
/**
* @group group2
*/
- public function testArrayLength()
+ public function testArrayLength(): void
{
$values = [1, 3, 4, 7];
$this->assertEquals(4, count($values));
@@ -34,13 +36,13 @@ public function testArrayLength()
* @group group2
* @group group3
*/
- public function testStringLength()
+ public function testStringLength(): void
{
$string = 'hello';
$this->assertEquals(5, strlen($string));
}
- public function testAddition()
+ public function testAddition(): void
{
$vals = 1 + 1;
$this->assertEquals(2, $vals);
diff --git a/test/fixtures/passing-tests/LegacyNamespaceTest.php b/test/fixtures/passing-tests/LegacyNamespaceTest.php
index 42110cb..4f2280e 100644
--- a/test/fixtures/passing-tests/LegacyNamespaceTest.php
+++ b/test/fixtures/passing-tests/LegacyNamespaceTest.php
@@ -1,16 +1,18 @@
assertTrue(true);
+ public function testAlwaysTrue(): void
+ {
+ $this->assertTrue(true);
+ }
}
-}
}
diff --git a/test/fixtures/passing-tests/PreviouslyLoadedTest.php b/test/fixtures/passing-tests/PreviouslyLoadedTest.php
index f2a68aa..906db91 100644
--- a/test/fixtures/passing-tests/PreviouslyLoadedTest.php
+++ b/test/fixtures/passing-tests/PreviouslyLoadedTest.php
@@ -1,7 +1,10 @@
assertTrue(true);
}
diff --git a/test/fixtures/passing-tests/TestOfUnits.php b/test/fixtures/passing-tests/TestOfUnits.php
index 7884e8f..7bd4934 100644
--- a/test/fixtures/passing-tests/TestOfUnits.php
+++ b/test/fixtures/passing-tests/TestOfUnits.php
@@ -1,11 +1,13 @@
assertTrue(true);
}
@@ -13,9 +15,9 @@ public function testTruth()
/**
* @group fixtures
*/
- public function testArrayLength()
+ public function testArrayLength(): void
{
- $elems = [1,2,3,4,5];
+ $elems = [1, 2, 3, 4, 5];
$this->assertEquals(5, sizeof($elems));
}
}
diff --git a/test/fixtures/passing-tests/level1/AnotherUnitTestInSubLevelTest.php b/test/fixtures/passing-tests/level1/AnotherUnitTestInSubLevelTest.php
index 680f2ca..36fb4b9 100644
--- a/test/fixtures/passing-tests/level1/AnotherUnitTestInSubLevelTest.php
+++ b/test/fixtures/passing-tests/level1/AnotherUnitTestInSubLevelTest.php
@@ -1,10 +1,13 @@
assertTrue(true);
}
@@ -12,7 +15,7 @@ public function testTruth()
/**
* @group fixtures
*/
- public function testFalsehood()
+ public function testFalsehood(): void
{
$this->assertFalse(false);
}
@@ -20,9 +23,9 @@ public function testFalsehood()
/**
* @group fixtures
*/
- public function testArrayLength()
+ public function testArrayLength(): void
{
- $elems = [1,2,3,4,5];
+ $elems = [1, 2, 3, 4, 5];
$this->assertEquals(5, sizeof($elems));
}
}
diff --git a/test/fixtures/passing-tests/level1/UnitTestInSubLevelTest.php b/test/fixtures/passing-tests/level1/UnitTestInSubLevelTest.php
index b89feb7..4005386 100644
--- a/test/fixtures/passing-tests/level1/UnitTestInSubLevelTest.php
+++ b/test/fixtures/passing-tests/level1/UnitTestInSubLevelTest.php
@@ -1,16 +1,22 @@
assertTrue(true);
}
@@ -18,7 +24,7 @@ public function testTruth()
/**
* @group fixtures
*/
- public function testFalsehood()
+ public function testFalsehood(): void
{
$this->assertFalse(false);
}
@@ -26,9 +32,9 @@ public function testFalsehood()
/**
* @group fixtures
*/
- public function testArrayLength()
+ public function testArrayLength(): void
{
- $elems = [1,2,3,4,5];
+ $elems = [1, 2, 3, 4, 5];
$this->assertEquals(5, sizeof($elems));
}
}
diff --git a/test/fixtures/passing-tests/level1/level2/AnotherUnitTestInSubSubLevelTest.php b/test/fixtures/passing-tests/level1/level2/AnotherUnitTestInSubSubLevelTest.php
index 6f546d8..c478a2a 100644
--- a/test/fixtures/passing-tests/level1/level2/AnotherUnitTestInSubSubLevelTest.php
+++ b/test/fixtures/passing-tests/level1/level2/AnotherUnitTestInSubSubLevelTest.php
@@ -1,10 +1,13 @@
assertTrue(true);
}
@@ -12,7 +15,7 @@ public function testTruth()
/**
* @group fixtures
*/
- public function testFalsehood()
+ public function testFalsehood(): void
{
$this->assertFalse(false);
}
@@ -20,9 +23,9 @@ public function testFalsehood()
/**
* @group fixtures
*/
- public function testArrayLength()
+ public function testArrayLength(): void
{
- $elems = [1,2,3,4,5];
+ $elems = [1, 2, 3, 4, 5];
$this->assertEquals(5, sizeof($elems));
}
}
diff --git a/test/fixtures/passing-tests/level1/level2/UnitTestInSubSubLevelTest.php b/test/fixtures/passing-tests/level1/level2/UnitTestInSubSubLevelTest.php
index 7e5ee95..a0c308e 100644
--- a/test/fixtures/passing-tests/level1/level2/UnitTestInSubSubLevelTest.php
+++ b/test/fixtures/passing-tests/level1/level2/UnitTestInSubSubLevelTest.php
@@ -1,4 +1,7 @@
assertTrue(true);
}
@@ -15,7 +18,7 @@ public function testTruth()
/**
* @group fixtures
*/
- public function testFalsehood()
+ public function testFalsehood(): void
{
$this->assertFalse(false);
}
@@ -23,9 +26,9 @@ public function testFalsehood()
/**
* @group fixtures
*/
- public function testArrayLength()
+ public function testArrayLength(): void
{
- $elems = [1,2,3,4,5];
+ $elems = [1, 2, 3, 4, 5];
$this->assertEquals(5, sizeof($elems));
}
}
diff --git a/test/fixtures/phpunit-dataprovider.xml b/test/fixtures/phpunit-dataprovider.xml
index 7c8399d..d358b77 100644
--- a/test/fixtures/phpunit-dataprovider.xml
+++ b/test/fixtures/phpunit-dataprovider.xml
@@ -8,7 +8,6 @@
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
- syntaxCheck="false"
>
diff --git a/test/fixtures/phpunit-excluded-including-dir.xml b/test/fixtures/phpunit-excluded-including-dir.xml
index cd91b35..ffda9a5 100644
--- a/test/fixtures/phpunit-excluded-including-dir.xml
+++ b/test/fixtures/phpunit-excluded-including-dir.xml
@@ -8,12 +8,11 @@
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
- syntaxCheck="false"
>
- ./excluded-tests/excluded
./excluded-tests
+ ./excluded-tests/excluded
diff --git a/test/fixtures/phpunit-excluded-including-excluding-same-dir.xml b/test/fixtures/phpunit-excluded-including-excluding-same-dir.xml
index 36f52cb..0ebe64a 100644
--- a/test/fixtures/phpunit-excluded-including-excluding-same-dir.xml
+++ b/test/fixtures/phpunit-excluded-including-excluding-same-dir.xml
@@ -8,12 +8,11 @@
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
- syntaxCheck="false"
>
- ./excluded-tests/included
./excluded-tests/included
+ ./excluded-tests/included
diff --git a/test/fixtures/phpunit-excluded-including-file.xml b/test/fixtures/phpunit-excluded-including-file.xml
index 93025c8..d0d4411 100644
--- a/test/fixtures/phpunit-excluded-including-file.xml
+++ b/test/fixtures/phpunit-excluded-including-file.xml
@@ -8,12 +8,11 @@
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
- syntaxCheck="false"
>
- ./excluded-tests/excluded
./excluded-tests/included/IncludedPassingTest.php
+ ./excluded-tests/excluded
diff --git a/test/fixtures/phpunit-file.xml b/test/fixtures/phpunit-file.xml
index 4ec508b..0091fb2 100644
--- a/test/fixtures/phpunit-file.xml
+++ b/test/fixtures/phpunit-file.xml
@@ -8,7 +8,6 @@
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
- syntaxCheck="false"
>
diff --git a/test/fixtures/phpunit-files-dirs-mix-duplicates.xml b/test/fixtures/phpunit-files-dirs-mix-duplicates.xml
index 0a46c39..87c0133 100644
--- a/test/fixtures/phpunit-files-dirs-mix-duplicates.xml
+++ b/test/fixtures/phpunit-files-dirs-mix-duplicates.xml
@@ -8,7 +8,6 @@
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
- syntaxCheck="false"
>
diff --git a/test/fixtures/phpunit-files-dirs-mix-nested.xml b/test/fixtures/phpunit-files-dirs-mix-nested.xml
index 5a0cef9..568bcb6 100644
--- a/test/fixtures/phpunit-files-dirs-mix-nested.xml
+++ b/test/fixtures/phpunit-files-dirs-mix-nested.xml
@@ -8,7 +8,6 @@
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
- syntaxCheck="false"
>
diff --git a/test/fixtures/phpunit-files-dirs-mix.xml b/test/fixtures/phpunit-files-dirs-mix.xml
index e601aef..527913a 100644
--- a/test/fixtures/phpunit-files-dirs-mix.xml
+++ b/test/fixtures/phpunit-files-dirs-mix.xml
@@ -8,7 +8,6 @@
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
- syntaxCheck="false"
>
diff --git a/test/fixtures/phpunit-globbing.xml b/test/fixtures/phpunit-globbing.xml
index c057e55..8516999 100644
--- a/test/fixtures/phpunit-globbing.xml
+++ b/test/fixtures/phpunit-globbing.xml
@@ -8,7 +8,6 @@
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
- syntaxCheck="false"
>
diff --git a/test/fixtures/phpunit-multidir.xml b/test/fixtures/phpunit-multidir.xml
index a0ead8f..ba37ab4 100644
--- a/test/fixtures/phpunit-multidir.xml
+++ b/test/fixtures/phpunit-multidir.xml
@@ -8,7 +8,6 @@
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
- syntaxCheck="false"
>
diff --git a/test/fixtures/phpunit-multifile.xml b/test/fixtures/phpunit-multifile.xml
index 4e8449d..21fb7bd 100644
--- a/test/fixtures/phpunit-multifile.xml
+++ b/test/fixtures/phpunit-multifile.xml
@@ -8,7 +8,6 @@
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
- syntaxCheck="false"
>
diff --git a/test/fixtures/phpunit-non-existent-testsuite-dir.xml b/test/fixtures/phpunit-non-existent-testsuite-dir.xml
index 955f447..1a6427e 100644
--- a/test/fixtures/phpunit-non-existent-testsuite-dir.xml
+++ b/test/fixtures/phpunit-non-existent-testsuite-dir.xml
@@ -8,7 +8,6 @@
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
- syntaxCheck="false"
>
diff --git a/test/fixtures/phpunit-passing.xml b/test/fixtures/phpunit-passing.xml
index 97e7f70..346e7af 100644
--- a/test/fixtures/phpunit-passing.xml
+++ b/test/fixtures/phpunit-passing.xml
@@ -8,7 +8,6 @@
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
- syntaxCheck="false"
>
diff --git a/test/fixtures/phpunit-skipped.xml b/test/fixtures/phpunit-skipped.xml
index 938b033..3231393 100644
--- a/test/fixtures/phpunit-skipped.xml
+++ b/test/fixtures/phpunit-skipped.xml
@@ -8,7 +8,6 @@
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
- syntaxCheck="false"
>
diff --git a/test/fixtures/phpunit.xml.dist b/test/fixtures/phpunit.xml.dist
index 97e7f70..346e7af 100644
--- a/test/fixtures/phpunit.xml.dist
+++ b/test/fixtures/phpunit.xml.dist
@@ -8,7 +8,6 @@
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
- syntaxCheck="false"
>
diff --git a/test/fixtures/skipped-tests/IncompleteTest.php b/test/fixtures/skipped-tests/IncompleteTest.php
index 15e4729..f4307aa 100644
--- a/test/fixtures/skipped-tests/IncompleteTest.php
+++ b/test/fixtures/skipped-tests/IncompleteTest.php
@@ -1,8 +1,12 @@
markTestIncomplete();
}
diff --git a/test/fixtures/skipped-tests/SkippedAndIncompleteDataProviderTest.php b/test/fixtures/skipped-tests/SkippedAndIncompleteDataProviderTest.php
index b1665b8..7fb1e62 100644
--- a/test/fixtures/skipped-tests/SkippedAndIncompleteDataProviderTest.php
+++ b/test/fixtures/skipped-tests/SkippedAndIncompleteDataProviderTest.php
@@ -1,6 +1,10 @@
markTestSkipped();
- } elseif ($expected % 3 == 1) {
+ } elseif ($expected % 3 === 1) {
$this->markTestIncomplete();
}
diff --git a/test/fixtures/skipped-tests/SkippedOrIncompleteTest.php b/test/fixtures/skipped-tests/SkippedOrIncompleteTest.php
index acd6c30..f7e60a2 100644
--- a/test/fixtures/skipped-tests/SkippedOrIncompleteTest.php
+++ b/test/fixtures/skipped-tests/SkippedOrIncompleteTest.php
@@ -1,11 +1,15 @@
markTestSkipped();
}
@@ -13,7 +17,7 @@ public function testSkipped()
/**
* @group incomplete-group
*/
- public function testIncomplete()
+ public function testIncomplete(): void
{
$this->markTestIncomplete();
}
@@ -32,11 +36,11 @@ public function dataProviderNumeric100()
* @group dataset-group
* @dataProvider dataProviderNumeric100
*/
- public function testDataProviderWithSkipped($expected, $actual)
+ public function testDataProviderWithSkipped($expected, $actual): void
{
- if ($expected % 3 == 0) {
+ if ($expected % 3 === 0) {
$this->markTestSkipped();
- } elseif ($expected % 3 == 1) {
+ } elseif ($expected % 3 === 1) {
$this->markTestIncomplete();
}
diff --git a/test/fixtures/skipped-tests/SkippedTest.php b/test/fixtures/skipped-tests/SkippedTest.php
index 4ed43a9..7797614 100644
--- a/test/fixtures/skipped-tests/SkippedTest.php
+++ b/test/fixtures/skipped-tests/SkippedTest.php
@@ -1,8 +1,12 @@
markTestSkipped();
}
diff --git a/test/fixtures/slow-tests/LongRunningTest.php b/test/fixtures/slow-tests/LongRunningTest.php
index 2a81260..cd7961d 100644
--- a/test/fixtures/slow-tests/LongRunningTest.php
+++ b/test/fixtures/slow-tests/LongRunningTest.php
@@ -1,10 +1,13 @@
assertTrue(true);
@@ -13,7 +16,7 @@ public function testOne()
/**
* @group fixtures
*/
- public function testTwo()
+ public function testTwo(): void
{
sleep(5);
$this->assertFalse(true);
@@ -22,10 +25,10 @@ public function testTwo()
/**
* @group fixtures
*/
- public function testThree()
+ public function testThree(): void
{
sleep(5);
- $elems = [1,2,3,4,5];
+ $elems = [1, 2, 3, 4, 5];
$this->assertEquals(5, sizeof($elems));
}
}
diff --git a/test/fixtures/special-classes/FileWithoutClass.php b/test/fixtures/special-classes/FileWithoutClass.php
index b3d9bbc..174d7fd 100644
--- a/test/fixtures/special-classes/FileWithoutClass.php
+++ b/test/fixtures/special-classes/FileWithoutClass.php
@@ -1 +1,3 @@
assertTrue(true);
}
diff --git a/test/fixtures/warning-tests/HasOtherWarningsTest.php b/test/fixtures/warning-tests/HasOtherWarningsTest.php
index b8c49e9..c745056 100644
--- a/test/fixtures/warning-tests/HasOtherWarningsTest.php
+++ b/test/fixtures/warning-tests/HasOtherWarningsTest.php
@@ -1,15 +1,15 @@
getMockBuilder(\RuntimeException::class)
+ $mock = $this->getMockBuilder(RuntimeException::class)
->disableOriginalConstructor()
->getMock();
$mock
diff --git a/test/fixtures/warning-tests/HasWarningsTest.php b/test/fixtures/warning-tests/HasWarningsTest.php
index 91ba932..28398f6 100644
--- a/test/fixtures/warning-tests/HasWarningsTest.php
+++ b/test/fixtures/warning-tests/HasWarningsTest.php
@@ -1,13 +1,15 @@
assertTrue(true);
}
- private function testPrivateTest()
+ private function testPrivateTest(): void
{
$this->assertTrue(true);
}
@@ -15,7 +17,7 @@ private function testPrivateTest()
/**
* @dataProvider llamas
*/
- private function testMissingDataProvider()
+ private function testMissingDataProvider(): void
{
$this->assertTrue(true);
}
diff --git a/test/fixtures/wrapper-runner-exit-code-tests/ErrorTest.php b/test/fixtures/wrapper-runner-exit-code-tests/ErrorTest.php
index b62b5a4..af3c239 100644
--- a/test/fixtures/wrapper-runner-exit-code-tests/ErrorTest.php
+++ b/test/fixtures/wrapper-runner-exit-code-tests/ErrorTest.php
@@ -1,9 +1,13 @@
assertTrue(false);
}
diff --git a/test/fixtures/wrapper-runner-exit-code-tests/SuccessTest.php b/test/fixtures/wrapper-runner-exit-code-tests/SuccessTest.php
index 8c63f6d..dbd907a 100644
--- a/test/fixtures/wrapper-runner-exit-code-tests/SuccessTest.php
+++ b/test/fixtures/wrapper-runner-exit-code-tests/SuccessTest.php
@@ -1,8 +1,12 @@
assertTrue(true);
}