|
10 | 10 |
|
11 | 11 | // $_SERVER['HTTP_X_CODECEPTION_CODECOVERAGE_DEBUG'] = 1;
|
12 | 12 |
|
13 |
| -use Codeception\Util\ReflectionHelper; |
14 |
| -use PHPUnit\Runner\CodeCoverage as CodeCoverageRunner; |
| 13 | +use SebastianBergmann\CodeCoverage\CodeCoverage; |
15 | 14 | use SebastianBergmann\CodeCoverage\Driver\Driver;
|
| 15 | +use SebastianBergmann\CodeCoverage\Driver\Selector; |
16 | 16 | use SebastianBergmann\CodeCoverage\Filter as CodeCoverageFilter;
|
17 | 17 |
|
18 | 18 | if (isset($_COOKIE['CODECEPTION_CODECOVERAGE'])) {
|
@@ -265,29 +265,24 @@ function __c3_factory($filename, $lock = false)
|
265 | 265 | $pathCoverage = (bool)$settings['coverage']['path_coverage'];
|
266 | 266 | }
|
267 | 267 |
|
268 |
| - if (class_exists(CodeCoverageRunner::class)) { |
269 |
| - //PHPUnit 10+ |
270 |
| - if (!CodeCoverageRunner::isActive()) { |
271 |
| - ReflectionHelper::invokePrivateMethod( |
272 |
| - null, |
273 |
| - 'activate', |
274 |
| - [ |
275 |
| - new CodeCoverageFilter(), |
276 |
| - $pathCoverage |
277 |
| - ], |
278 |
| - CodeCoverageRunner::class |
279 |
| - ); |
| 268 | + if (class_exists(Selector::class)) { |
| 269 | + //php-code-coverage >= 9.1.10 |
| 270 | + $filter = new CodeCoverageFilter(); |
| 271 | + if ($pathCoverage) { |
| 272 | + $driver = (new Selector())->forLineAndPathCoverage($filter); |
| 273 | + } else { |
| 274 | + $driver = (new Selector())->forLineCoverage($filter); |
280 | 275 | }
|
281 |
| - $phpCoverage = CodeCoverageRunner::instance(); |
| 276 | + $phpCoverage = new CodeCoverage($driver, $filter); |
282 | 277 | } elseif (method_exists(Driver::class, 'forLineCoverage')) {
|
283 |
| - //php-code-coverage 9 |
| 278 | + //php-code-coverage 9.0.0 - 9.1.9 |
284 | 279 | $filter = new CodeCoverageFilter();
|
285 | 280 | if ($pathCoverage) {
|
286 | 281 | $driver = Driver::forLineAndPathCoverage($filter);
|
287 | 282 | } else {
|
288 | 283 | $driver = Driver::forLineCoverage($filter);
|
289 | 284 | }
|
290 |
| - $phpCoverage = new PHP_CodeCoverage($driver, $filter); |
| 285 | + $phpCoverage = new CodeCoverage($driver, $filter); |
291 | 286 | } else {
|
292 | 287 | //php-code-coverage 8 or older
|
293 | 288 | $phpCoverage = new PHP_CodeCoverage();
|
|
0 commit comments