From b6ff933e7fe334c93d8d299e92e26d08353a65bc Mon Sep 17 00:00:00 2001 From: Pascal Birchler Date: Wed, 7 May 2025 17:14:14 +0200 Subject: [PATCH 1/2] Coverage: fix Selector usage Selector class was only added in v9.1 of the php-code-coverage library --- utils/generate-coverage.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/utils/generate-coverage.php b/utils/generate-coverage.php index 3e01b5e48..007e66ae1 100644 --- a/utils/generate-coverage.php +++ b/utils/generate-coverage.php @@ -8,6 +8,7 @@ use SebastianBergmann\CodeCoverage\CodeCoverage; use SebastianBergmann\CodeCoverage\Driver\Selector; +use SebastianBergmann\CodeCoverage\Driver\Xdebug; use SebastianBergmann\CodeCoverage\Filter; use SebastianBergmann\CodeCoverage\Report\PHP as PHPReport; @@ -81,7 +82,8 @@ function ( $file ) { } $coverage = new CodeCoverage( - ( new Selector() )->forLineCoverage( $filter ), + // Selector class was only added in v9.1 of the php-code-coverage library. + class_exists( Selector::class ) ? ( new Selector() )->forLineCoverage( $filter ) : ( new Xdebug() ), $filter ); From 9aed84f546bc9d658b5608e7cd770e92f367831a Mon Sep 17 00:00:00 2001 From: Pascal Birchler Date: Wed, 7 May 2025 17:29:40 +0200 Subject: [PATCH 2/2] Update `merge_coverage_reports` too --- src/Context/FeatureContext.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Context/FeatureContext.php b/src/Context/FeatureContext.php index b8f4502fb..df28bb3dd 100644 --- a/src/Context/FeatureContext.php +++ b/src/Context/FeatureContext.php @@ -12,6 +12,7 @@ use Behat\Behat\Hook\Scope\BeforeStepScope; use SebastianBergmann\CodeCoverage\Report\Clover; use SebastianBergmann\CodeCoverage\Driver\Selector; +use SebastianBergmann\CodeCoverage\Driver\Xdebug; use SebastianBergmann\CodeCoverage\Filter; use SebastianBergmann\CodeCoverage\CodeCoverage; use SebastianBergmann\Environment\Runtime; @@ -198,7 +199,8 @@ public static function merge_coverage_reports() { $filter = new Filter(); $coverage = new CodeCoverage( - ( new Selector() )->forLineCoverage( $filter ), + // Selector class was only added in v9.1 of the php-code-coverage library. + class_exists( Selector::class ) ? ( new Selector() )->forLineCoverage( $filter ) : ( new Xdebug() ), $filter );