@@ -243,17 +243,7 @@ function __c3_factory($filename, $lock = false)
243
243
$ phpCoverage = unserialize (file_get_contents ($ filename ));
244
244
}
245
245
246
- return array ($ phpCoverage , $ file );
247
- } else {
248
- if (method_exists (Driver::class, 'forLineCoverage ' )) {
249
- //php-code-coverage 9+
250
- $ filter = new CodeCoverageFilter ();
251
- $ driver = Driver::forLineCoverage ($ filter );
252
- $ phpCoverage = new PHP_CodeCoverage ($ driver , $ filter );
253
- } else {
254
- //php-code-coverage 8 or older
255
- $ phpCoverage = new PHP_CodeCoverage ();
256
- }
246
+ return [$ phpCoverage , $ file ];
257
247
}
258
248
259
249
if (isset ($ _SERVER ['HTTP_X_CODECEPTION_CODECOVERAGE_SUITE ' ])) {
@@ -262,12 +252,31 @@ function __c3_factory($filename, $lock = false)
262
252
$ settings = \Codeception \Configuration::suiteSettings ($ suite , \Codeception \Configuration::config ());
263
253
} catch (Exception $ e ) {
264
254
__c3_error ($ e ->getMessage ());
265
- $ settings = array () ;
255
+ $ settings = [] ;
266
256
}
267
257
} else {
268
258
$ settings = \Codeception \Configuration::config ();
269
259
}
270
260
261
+ $ pathCoverage = false ;
262
+ if (isset ($ settings ['coverage ' ]['path_coverage ' ])) {
263
+ $ pathCoverage = (bool )$ settings ['coverage ' ]['path_coverage ' ];
264
+ }
265
+
266
+ if (method_exists (Driver::class, 'forLineCoverage ' )) {
267
+ //php-code-coverage 9+
268
+ $ filter = new CodeCoverageFilter ();
269
+ if ($ pathCoverage ) {
270
+ $ driver = Driver::forLineAndPathCoverage ($ filter );
271
+ } else {
272
+ $ driver = Driver::forLineCoverage ($ filter );
273
+ }
274
+ $ phpCoverage = new PHP_CodeCoverage ($ driver , $ filter );
275
+ } else {
276
+ //php-code-coverage 8 or older
277
+ $ phpCoverage = new PHP_CodeCoverage ();
278
+ }
279
+
271
280
try {
272
281
\Codeception \Coverage \Filter::setup ($ phpCoverage )
273
282
->whiteList ($ settings )
@@ -276,7 +285,7 @@ function __c3_factory($filename, $lock = false)
276
285
__c3_error ($ e ->getMessage ());
277
286
}
278
287
279
- return array ( $ phpCoverage , $ file) ;
288
+ return [ $ phpCoverage , $ file] ;
280
289
}
281
290
282
291
function __c3_exit ()
0 commit comments