From 04857d32cd0fb39178500c537831707477701029 Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Tue, 7 Dec 2021 12:07:17 +0100 Subject: [PATCH] enable PHPUnit 9 for coverage A couple of functions have been renamed. --- test/bdd/steps/cgi-with-coverage.php | 18 +++++++++++++++--- test/bdd/steps/steps_api_queries.py | 1 + 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/test/bdd/steps/cgi-with-coverage.php b/test/bdd/steps/cgi-with-coverage.php index 6f0d79bb..15e05007 100644 --- a/test/bdd/steps/cgi-with-coverage.php +++ b/test/bdd/steps/cgi-with-coverage.php @@ -10,9 +10,21 @@ function coverage_shutdown($oCoverage) } $covfilter = new SebastianBergmann\CodeCoverage\Filter(); -$covfilter->addDirectoryToWhitelist($_SERVER['COV_PHP_DIR'].'/lib-php'); -$covfilter->addDirectoryToWhitelist($_SERVER['COV_PHP_DIR'].'/website'); -$coverage = new SebastianBergmann\CodeCoverage\CodeCoverage(null, $covfilter); +if (method_exists($covfilter, 'addDirectoryToWhitelist')) { + // pre PHPUnit 9 + $covfilter->addDirectoryToWhitelist($_SERVER['COV_PHP_DIR'].'/lib-php'); + $covfilter->addDirectoryToWhitelist($_SERVER['COV_PHP_DIR'].'/website'); + $coverage = new SebastianBergmann\CodeCoverage\CodeCoverage(null, $covfilter); +} else { + // since PHP Uit 9 + $covfilter->includeDirectory($_SERVER['COV_PHP_DIR'].'/lib-php'); + $covfilter->includeDirectory($_SERVER['COV_PHP_DIR'].'/website'); + $coverage = new SebastianBergmann\CodeCoverage\CodeCoverage( + (new SebastianBergmann\CodeCoverage\Driver\Selector)->forLineCoverage($covfilter), + $covfilter + ); +} + $coverage->start($_SERVER['COV_TEST_NAME']); register_shutdown_function('coverage_shutdown', $coverage); diff --git a/test/bdd/steps/steps_api_queries.py b/test/bdd/steps/steps_api_queries.py index fc0a2156..99469587 100644 --- a/test/bdd/steps/steps_api_queries.py +++ b/test/bdd/steps/steps_api_queries.py @@ -82,6 +82,7 @@ def send_api_query(endpoint, params, fmt, context): cmd = ['/usr/bin/env', 'php-cgi', '-f'] if context.nominatim.code_coverage_path: + env['XDEBUG_MODE'] = 'coverage' env['COV_SCRIPT_FILENAME'] = env['SCRIPT_FILENAME'] env['COV_PHP_DIR'] = context.nominatim.src_dir env['COV_TEST_NAME'] = '%s:%s' % (context.scenario.filename, context.scenario.line) -- 2.39.5