From a0dedb9aa69addd276d33385b46b8f3f043199e1 Mon Sep 17 00:00:00 2001 From: Alexey Kopytko Date: Tue, 8 Sep 2020 00:10:35 +0900 Subject: [PATCH] [PhpUnitBridge] Skip internal classes in CoverageListenerTrait --- .../Bridge/PhpUnit/Legacy/CoverageListenerTrait.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Symfony/Bridge/PhpUnit/Legacy/CoverageListenerTrait.php b/src/Symfony/Bridge/PhpUnit/Legacy/CoverageListenerTrait.php index ba369e43f8..bd8a452777 100644 --- a/src/Symfony/Bridge/PhpUnit/Legacy/CoverageListenerTrait.php +++ b/src/Symfony/Bridge/PhpUnit/Legacy/CoverageListenerTrait.php @@ -107,6 +107,13 @@ class CoverageListenerTrait $symbolAnnotations = new \ReflectionProperty($docBlock, 'symbolAnnotations'); $symbolAnnotations->setAccessible(true); + // Exclude internal classes; PHPUnit 9.1+ is picky about tests covering, say, a \RuntimeException + $covers = array_filter($covers, function ($class) { + $reflector = new ReflectionClass($class); + + return $reflector->isUserDefined(); + }); + $symbolAnnotations->setValue($docBlock, array_replace($docBlock->symbolAnnotations(), [ 'covers' => $covers, ]));