[Bridge/PhpUnit] Fix tests by backporting #25997 to 3.4
This commit is contained in:
parent
edd507af78
commit
9a9c0f6142
@ -5,6 +5,8 @@ CHANGELOG
|
||||
-----
|
||||
|
||||
* added a `CoverageListener` to enhance the code coverage report
|
||||
* all deprecations but those from tests marked with `@group legacy` are always
|
||||
displayed when not in `weak` mode
|
||||
|
||||
3.3.0
|
||||
-----
|
||||
|
@ -110,8 +110,7 @@ class DeprecationErrorHandler
|
||||
|
||||
$trace = debug_backtrace(true);
|
||||
$group = 'other';
|
||||
$isVendor = false;
|
||||
$isWeak = DeprecationErrorHandler::MODE_WEAK === $mode || (DeprecationErrorHandler::MODE_WEAK_VENDORS === $mode && $isVendor = $inVendors($file));
|
||||
$isVendor = DeprecationErrorHandler::MODE_WEAK_VENDORS === $mode && $inVendors($file);
|
||||
|
||||
$i = count($trace);
|
||||
while (1 < $i && (!isset($trace[--$i]['class']) || ('ReflectionMethod' === $trace[$i]['class'] || 0 === strpos($trace[$i]['class'], 'PHPUnit_') || 0 === strpos($trace[$i]['class'], 'PHPUnit\\')))) {
|
||||
@ -128,7 +127,7 @@ class DeprecationErrorHandler
|
||||
// \Symfony\Bridge\PhpUnit\Legacy\SymfonyTestsListenerTrait::endTest()
|
||||
// then we need to use the serialized information to determine
|
||||
// if the error has been triggered from vendor code.
|
||||
$isWeak = DeprecationErrorHandler::MODE_WEAK === $mode || (DeprecationErrorHandler::MODE_WEAK_VENDORS === $mode && $isVendor = isset($parsedMsg['triggering_file']) && $inVendors($parsedMsg['triggering_file']));
|
||||
$isVendor = DeprecationErrorHandler::MODE_WEAK_VENDORS === $mode && isset($parsedMsg['triggering_file']) && $inVendors($parsedMsg['triggering_file']);
|
||||
} else {
|
||||
$class = isset($trace[$i]['object']) ? get_class($trace[$i]['object']) : $trace[$i]['class'];
|
||||
$method = $trace[$i]['function'];
|
||||
@ -145,7 +144,7 @@ class DeprecationErrorHandler
|
||||
|| in_array('legacy', $Test::getGroups($class, $method), true)
|
||||
) {
|
||||
$group = 'legacy';
|
||||
} elseif (DeprecationErrorHandler::MODE_WEAK_VENDORS === $mode && $isVendor) {
|
||||
} elseif ($isVendor) {
|
||||
$group = 'remaining vendor';
|
||||
} else {
|
||||
$group = 'remaining';
|
||||
@ -165,13 +164,13 @@ class DeprecationErrorHandler
|
||||
|
||||
exit(1);
|
||||
}
|
||||
if ('legacy' !== $group && !$isWeak) {
|
||||
if ('legacy' !== $group && DeprecationErrorHandler::MODE_WEAK !== $mode) {
|
||||
$ref = &$deprecations[$group][$msg]['count'];
|
||||
++$ref;
|
||||
$ref = &$deprecations[$group][$msg][$class.'::'.$method];
|
||||
++$ref;
|
||||
}
|
||||
} elseif (!$isWeak) {
|
||||
} elseif (DeprecationErrorHandler::MODE_WEAK !== $mode) {
|
||||
$ref = &$deprecations[$group][$msg]['count'];
|
||||
++$ref;
|
||||
}
|
||||
|
@ -21,6 +21,8 @@ class FooTestCase
|
||||
{
|
||||
@trigger_error('silenced foo deprecation', E_USER_DEPRECATED);
|
||||
trigger_error('unsilenced foo deprecation', E_USER_DEPRECATED);
|
||||
@trigger_error('silenced foo deprecation', E_USER_DEPRECATED);
|
||||
trigger_error('unsilenced foo deprecation', E_USER_DEPRECATED);
|
||||
}
|
||||
|
||||
public function testNonLegacyBar()
|
||||
|
@ -37,4 +37,3 @@ Unsilenced deprecation notices (1)
|
||||
Legacy deprecation notices (1)
|
||||
|
||||
Other deprecation notices (1)
|
||||
|
||||
|
@ -20,10 +20,10 @@ require __DIR__.'/fake_vendor/acme/lib/deprecation_riddled.php';
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Unsilenced deprecation notices (2)
|
||||
Unsilenced deprecation notices (3)
|
||||
|
||||
1x: unsilenced foo deprecation
|
||||
1x in FooTestCase::testLegacyFoo
|
||||
2x: unsilenced foo deprecation
|
||||
2x in FooTestCase::testLegacyFoo
|
||||
|
||||
1x: unsilenced bar deprecation
|
||||
1x in FooTestCase::testNonLegacyBar
|
||||
@ -33,7 +33,7 @@ Remaining vendor deprecation notices (1)
|
||||
1x: silenced bar deprecation
|
||||
1x in FooTestCase::testNonLegacyBar
|
||||
|
||||
Legacy deprecation notices (1)
|
||||
Legacy deprecation notices (2)
|
||||
|
||||
Other deprecation notices (1)
|
||||
|
||||
|
Reference in New Issue
Block a user