diff --git a/.travis.yml b/.travis.yml index 955de59975..184398c68f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,9 +26,10 @@ env: matrix: include: - php: 7.1 - - php: 7.2 - env: deps=high + env: php_extra="7.2" - php: 7.3 + env: deps=high + - php: 7.4snapshot env: deps=low fast_finish: true @@ -78,6 +79,12 @@ before_install: export COMPONENTS=$(find src/Symfony -mindepth 2 -type f -name phpunit.xml.dist -printf '%h\n') find ~/.phpenv -name xdebug.ini -delete + if [[ $TRAVIS_PHP_VERSION = 7.4* && $deps ]]; then + export PHPUNIT_X="$PHPUNIT_X,issue-32995" + elif [[ $TRAVIS_PHP_VERSION = 7.4* ]]; then + export PHPUNIT_X="$PHPUNIT --group issue-32995" + fi + nanoseconds () { local cmd="date" local format="+%s%N" diff --git a/src/Symfony/Bridge/Doctrine/composer.json b/src/Symfony/Bridge/Doctrine/composer.json index 2bf139f55a..1d5070e867 100644 --- a/src/Symfony/Bridge/Doctrine/composer.json +++ b/src/Symfony/Bridge/Doctrine/composer.json @@ -37,12 +37,12 @@ "symfony/expression-language": "^3.4|^4.0|^5.0", "symfony/validator": "^3.4.31|^4.3.4|^5.0", "symfony/translation": "^3.4|^4.0|^5.0", - "doctrine/annotations": "~1.0", + "doctrine/annotations": "~1.7", "doctrine/cache": "~1.6", "doctrine/collections": "~1.0", "doctrine/data-fixtures": "1.0.*", "doctrine/dbal": "~2.4", - "doctrine/orm": "^2.4.5", + "doctrine/orm": "^2.6.3", "doctrine/reflection": "~1.0" }, "conflict": { diff --git a/src/Symfony/Bridge/Twig/composer.json b/src/Symfony/Bridge/Twig/composer.json index bddfe8bee5..9e5f24d50b 100644 --- a/src/Symfony/Bridge/Twig/composer.json +++ b/src/Symfony/Bridge/Twig/composer.json @@ -21,7 +21,7 @@ "twig/twig": "^1.41|^2.10" }, "require-dev": { - "egulias/email-validator": "^2.0", + "egulias/email-validator": "^2.1.10", "symfony/asset": "^3.4|^4.0|^5.0", "symfony/dependency-injection": "^3.4|^4.0|^5.0", "symfony/finder": "^3.4|^4.0|^5.0", diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/CacheWarmer/ValidatorCacheWarmerTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/CacheWarmer/ValidatorCacheWarmerTest.php index 16d27e5c7f..5b50ae1ebf 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/CacheWarmer/ValidatorCacheWarmerTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/CacheWarmer/ValidatorCacheWarmerTest.php @@ -21,6 +21,8 @@ use Symfony\Component\Validator\ValidatorBuilder; class ValidatorCacheWarmerTest extends TestCase { /** + * @group issue-32995 + * * @runInSeparateProcess https://github.com/symfony/symfony/issues/32995 */ public function testWarmUp() diff --git a/src/Symfony/Bundle/FrameworkBundle/composer.json b/src/Symfony/Bundle/FrameworkBundle/composer.json index 152f1b65a5..4c8a5ef302 100644 --- a/src/Symfony/Bundle/FrameworkBundle/composer.json +++ b/src/Symfony/Bundle/FrameworkBundle/composer.json @@ -30,10 +30,11 @@ "symfony/routing": "^4.4|^5.0" }, "require-dev": { + "doctrine/annotations": "~1.7", "doctrine/cache": "~1.0", "symfony/asset": "^3.4|^4.0|^5.0", "symfony/browser-kit": "^4.3|^5.0", - "symfony/console": "^4.3|^5.0", + "symfony/console": "^4.3.4|^5.0", "symfony/css-selector": "^3.4|^4.0|^5.0", "symfony/dom-crawler": "^4.3|^5.0", "symfony/polyfill-intl-icu": "~1.0", @@ -58,9 +59,8 @@ "symfony/yaml": "^3.4|^4.0|^5.0", "symfony/property-info": "^3.4|^4.0|^5.0", "symfony/web-link": "^4.4|^5.0", - "doctrine/annotations": "~1.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0", - "twig/twig": "~1.34|~2.4" + "twig/twig": "~1.41|~2.10" }, "conflict": { "phpdocumentor/reflection-docblock": "<3.0", diff --git a/src/Symfony/Bundle/SecurityBundle/composer.json b/src/Symfony/Bundle/SecurityBundle/composer.json index 99881f56ba..5d7a120f23 100644 --- a/src/Symfony/Bundle/SecurityBundle/composer.json +++ b/src/Symfony/Bundle/SecurityBundle/composer.json @@ -44,7 +44,7 @@ "symfony/yaml": "^3.4|^4.0|^5.0", "symfony/expression-language": "^3.4|^4.0|^5.0", "doctrine/doctrine-bundle": "~1.5", - "twig/twig": "~1.34|~2.4" + "twig/twig": "~1.41|~2.10" }, "conflict": { "symfony/browser-kit": "<4.2", diff --git a/src/Symfony/Bundle/TwigBundle/composer.json b/src/Symfony/Bundle/TwigBundle/composer.json index fd6c08debe..586dd7bea3 100644 --- a/src/Symfony/Bundle/TwigBundle/composer.json +++ b/src/Symfony/Bundle/TwigBundle/composer.json @@ -37,7 +37,7 @@ "symfony/yaml": "^3.4|^4.0|^5.0", "symfony/framework-bundle": "^4.4|^5.0", "symfony/web-link": "^3.4|^4.0|^5.0", - "doctrine/annotations": "~1.0", + "doctrine/annotations": "~1.7", "doctrine/cache": "~1.0" }, "conflict": { diff --git a/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php b/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php index 27112213f8..c8582fc6e5 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/AdapterTestCase.php @@ -254,6 +254,8 @@ abstract class AdapterTestCase extends CachePoolTest } /** + * @group issue-32995 + * * @runInSeparateProcess https://github.com/symfony/symfony/issues/32995 */ public function testSavingObject() diff --git a/src/Symfony/Component/Config/Tests/Resource/ClassExistenceResourceTest.php b/src/Symfony/Component/Config/Tests/Resource/ClassExistenceResourceTest.php index 44450c32b7..f096b37636 100644 --- a/src/Symfony/Component/Config/Tests/Resource/ClassExistenceResourceTest.php +++ b/src/Symfony/Component/Config/Tests/Resource/ClassExistenceResourceTest.php @@ -76,6 +76,8 @@ EOF } /** + * @group issue-32995 + * * @runInSeparateProcess https://github.com/symfony/symfony/issues/32995 */ public function testBadParentWithTimestamp() @@ -85,6 +87,8 @@ EOF } /** + * @group issue-32995 + * * @runInSeparateProcess https://github.com/symfony/symfony/issues/32995 */ public function testBadParentWithNoTimestamp() diff --git a/src/Symfony/Component/DependencyInjection/Tests/Compiler/AutowirePassTest.php b/src/Symfony/Component/DependencyInjection/Tests/Compiler/AutowirePassTest.php index 5954044a63..48149a258a 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Compiler/AutowirePassTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Compiler/AutowirePassTest.php @@ -350,6 +350,8 @@ class AutowirePassTest extends TestCase } /** + * @group issue-32995 + * * @runInSeparateProcess https://github.com/symfony/symfony/issues/32995 */ public function testParentClassNotFoundThrowsException() @@ -626,6 +628,8 @@ class AutowirePassTest extends TestCase } /** + * @group issue-32995 + * * @runInSeparateProcess https://github.com/symfony/symfony/issues/32995 */ public function testIgnoreServiceWithClassNotExisting() @@ -831,6 +835,8 @@ class AutowirePassTest extends TestCase } /** + * @group issue-32995 + * * @runInSeparateProcess https://github.com/symfony/symfony/issues/32995 */ public function testExceptionWhenAliasDoesNotExist() diff --git a/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveBindingsPassTest.php b/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveBindingsPassTest.php index 071d7f8818..646bfcd243 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveBindingsPassTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveBindingsPassTest.php @@ -62,6 +62,8 @@ class ResolveBindingsPassTest extends TestCase } /** + * @group issue-32995 + * * @runInSeparateProcess https://github.com/symfony/symfony/issues/32995 */ public function testMissingParent() diff --git a/src/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php b/src/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php index 9460e27bbd..8952fada2e 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php @@ -1099,6 +1099,8 @@ class PhpDumperTest extends TestCase } /** + * @group issue-32995 + * * @runInSeparateProcess https://github.com/symfony/symfony/issues/32995 */ public function testHotPathOptimizations() diff --git a/src/Symfony/Component/DependencyInjection/Tests/Loader/FileLoaderTest.php b/src/Symfony/Component/DependencyInjection/Tests/Loader/FileLoaderTest.php index 4e70a0814c..d2800def2a 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Loader/FileLoaderTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Loader/FileLoaderTest.php @@ -107,6 +107,8 @@ class FileLoaderTest extends TestCase } /** + * @group issue-32995 + * * @runInSeparateProcess https://github.com/symfony/symfony/issues/32995 */ public function testRegisterClassesWithExclude() @@ -139,6 +141,8 @@ class FileLoaderTest extends TestCase } /** + * @group issue-32995 + * * @runInSeparateProcess https://github.com/symfony/symfony/issues/32995 */ public function testRegisterClassesWithExcludeAsArray() @@ -161,6 +165,8 @@ class FileLoaderTest extends TestCase } /** + * @group issue-32995 + * * @runInSeparateProcess https://github.com/symfony/symfony/issues/32995 */ public function testNestedRegisterClasses() @@ -192,6 +198,8 @@ class FileLoaderTest extends TestCase } /** + * @group issue-32995 + * * @runInSeparateProcess https://github.com/symfony/symfony/issues/32995 */ public function testMissingParentClass() diff --git a/src/Symfony/Component/Mailer/composer.json b/src/Symfony/Component/Mailer/composer.json index 4f02fcbde4..ceb3a6016f 100644 --- a/src/Symfony/Component/Mailer/composer.json +++ b/src/Symfony/Component/Mailer/composer.json @@ -17,7 +17,7 @@ ], "require": { "php": "^7.1.3", - "egulias/email-validator": "^2.0", + "egulias/email-validator": "^2.1.10", "psr/log": "~1.0", "symfony/event-dispatcher": "^4.3", "symfony/mime": "^4.3.3|^5.0", diff --git a/src/Symfony/Component/Mime/composer.json b/src/Symfony/Component/Mime/composer.json index 7399d00cf8..4cf3c42c8e 100644 --- a/src/Symfony/Component/Mime/composer.json +++ b/src/Symfony/Component/Mime/composer.json @@ -21,7 +21,7 @@ "symfony/polyfill-mbstring": "^1.0" }, "require-dev": { - "egulias/email-validator": "^2.0", + "egulias/email-validator": "^2.1.10", "symfony/dependency-injection": "^3.4|^4.1|^5.0" }, "conflict": { diff --git a/src/Symfony/Component/PropertyInfo/composer.json b/src/Symfony/Component/PropertyInfo/composer.json index 0184230d3a..8e48c335be 100644 --- a/src/Symfony/Component/PropertyInfo/composer.json +++ b/src/Symfony/Component/PropertyInfo/composer.json @@ -31,7 +31,7 @@ "symfony/cache": "^3.4|^4.0|^5.0", "symfony/dependency-injection": "^3.4|^4.0|^5.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0", - "doctrine/annotations": "~1.0" + "doctrine/annotations": "~1.7" }, "conflict": { "phpdocumentor/reflection-docblock": "<3.0||>=3.2.0,<3.2.2", diff --git a/src/Symfony/Component/Validator/composer.json b/src/Symfony/Component/Validator/composer.json index ea412b8987..e2ac48f2cc 100644 --- a/src/Symfony/Component/Validator/composer.json +++ b/src/Symfony/Component/Validator/composer.json @@ -35,11 +35,12 @@ "symfony/property-access": "^3.4|^4.0|^5.0", "symfony/property-info": "^3.4|^4.0|^5.0", "symfony/translation": "^4.2", - "doctrine/annotations": "~1.0", + "doctrine/annotations": "~1.7", "doctrine/cache": "~1.0", - "egulias/email-validator": "^1.2.8|~2.0" + "egulias/email-validator": "^2.1.10" }, "conflict": { + "doctrine/lexer": "<1.0.2", "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", "symfony/dependency-injection": "<3.4", "symfony/http-kernel": "<3.4", diff --git a/src/Symfony/Component/VarExporter/Internal/Exporter.php b/src/Symfony/Component/VarExporter/Internal/Exporter.php index 87b3156d41..c0b7fa17f4 100644 --- a/src/Symfony/Component/VarExporter/Internal/Exporter.php +++ b/src/Symfony/Component/VarExporter/Internal/Exporter.php @@ -155,7 +155,7 @@ class Exporter } $sleep[$n] = false; } - if (!\array_key_exists($name, $proto) || $proto[$name] !== $v) { + if (!\array_key_exists($name, $proto) || $proto[$name] !== $v || "\x00Error\x00trace" === $name || "\x00Exception\x00trace" === $name) { $properties[$c][$n] = $v; } } @@ -291,7 +291,7 @@ class Exporter continue; } if (!Registry::$instantiableWithoutConstructor[$class]) { - if (is_subclass_of($class, 'Serializable')) { + if (is_subclass_of($class, 'Serializable') && !method_exists($class, '__unserialize')) { $serializables[$k] = 'C:'.\strlen($class).':"'.$class.'":0:{}'; } else { $serializables[$k] = 'O:'.\strlen($class).':"'.$class.'":0:{}'; diff --git a/src/Symfony/Component/VarExporter/Internal/Registry.php b/src/Symfony/Component/VarExporter/Internal/Registry.php index dd2792133e..19d91c9304 100644 --- a/src/Symfony/Component/VarExporter/Internal/Registry.php +++ b/src/Symfony/Component/VarExporter/Internal/Registry.php @@ -75,7 +75,7 @@ class Registry } elseif (!$isClass || $reflector->isAbstract()) { throw new NotInstantiableTypeException($class); } elseif ($reflector->name !== $class) { - $reflector = self::$reflectors[$name = $reflector->name] ?? self::getClassReflector($name, $instantiableWithoutConstructor, $cloneable); + $reflector = self::$reflectors[$name = $reflector->name] ?? self::getClassReflector($name, false, $cloneable); self::$cloneable[$class] = self::$cloneable[$name]; self::$instantiableWithoutConstructor[$class] = self::$instantiableWithoutConstructor[$name]; self::$prototypes[$class] = self::$prototypes[$name]; @@ -86,7 +86,7 @@ class Registry $proto = $reflector->newInstanceWithoutConstructor(); $instantiableWithoutConstructor = true; } catch (\ReflectionException $e) { - $proto = $reflector->implementsInterface('Serializable') && (\PHP_VERSION_ID < 70400 || !method_exists($class, '__unserialize')) ? 'C:' : 'O:'; + $proto = $reflector->implementsInterface('Serializable') && !method_exists($class, '__unserialize') ? 'C:' : 'O:'; if ('C:' === $proto && !$reflector->getMethod('unserialize')->isInternal()) { $proto = null; } elseif (false === $proto = @unserialize($proto.\strlen($class).':"'.$class.'":0:{}')) { diff --git a/src/Symfony/Component/VarExporter/Tests/Fixtures/array-iterator-legacy.php b/src/Symfony/Component/VarExporter/Tests/Fixtures/array-iterator-legacy.php new file mode 100644 index 0000000000..c59573315d --- /dev/null +++ b/src/Symfony/Component/VarExporter/Tests/Fixtures/array-iterator-legacy.php @@ -0,0 +1,22 @@ + [ + "\0" => [ + [ + [ + 123, + ], + 1, + ], + ], + ], + ], + $o[0], + [] +); diff --git a/src/Symfony/Component/VarExporter/Tests/Fixtures/array-iterator.php b/src/Symfony/Component/VarExporter/Tests/Fixtures/array-iterator.php index c59573315d..ed4df00c99 100644 --- a/src/Symfony/Component/VarExporter/Tests/Fixtures/array-iterator.php +++ b/src/Symfony/Component/VarExporter/Tests/Fixtures/array-iterator.php @@ -5,18 +5,15 @@ return \Symfony\Component\VarExporter\Internal\Hydrator::hydrate( clone (\Symfony\Component\VarExporter\Internal\Registry::$prototypes['ArrayIterator'] ?? \Symfony\Component\VarExporter\Internal\Registry::p('ArrayIterator')), ], null, - [ - 'ArrayIterator' => [ - "\0" => [ - [ - [ - 123, - ], - 1, - ], - ], - ], - ], + [], $o[0], - [] + [ + [ + 1, + [ + 123, + ], + [], + ], + ] ); diff --git a/src/Symfony/Component/VarExporter/Tests/Fixtures/array-object-custom-legacy.php b/src/Symfony/Component/VarExporter/Tests/Fixtures/array-object-custom-legacy.php new file mode 100644 index 0000000000..35303f8222 --- /dev/null +++ b/src/Symfony/Component/VarExporter/Tests/Fixtures/array-object-custom-legacy.php @@ -0,0 +1,22 @@ + [ + "\0" => [ + [ + [ + 234, + ], + 1, + ], + ], + ], + ], + $o[0], + [] +); diff --git a/src/Symfony/Component/VarExporter/Tests/Fixtures/array-object-custom.php b/src/Symfony/Component/VarExporter/Tests/Fixtures/array-object-custom.php index 35303f8222..530f0d1026 100644 --- a/src/Symfony/Component/VarExporter/Tests/Fixtures/array-object-custom.php +++ b/src/Symfony/Component/VarExporter/Tests/Fixtures/array-object-custom.php @@ -5,18 +5,17 @@ return \Symfony\Component\VarExporter\Internal\Hydrator::hydrate( clone (\Symfony\Component\VarExporter\Internal\Registry::$prototypes['Symfony\\Component\\VarExporter\\Tests\\MyArrayObject'] ?? \Symfony\Component\VarExporter\Internal\Registry::p('Symfony\\Component\\VarExporter\\Tests\\MyArrayObject')), ], null, + [], + $o[0], [ - 'ArrayObject' => [ - "\0" => [ - [ - [ - 234, - ], - 1, - ], + [ + 1, + [ + 234, + ], + [ + "\0".'Symfony\\Component\\VarExporter\\Tests\\MyArrayObject'."\0".'unused' => 123, ], ], - ], - $o[0], - [] + ] ); diff --git a/src/Symfony/Component/VarExporter/Tests/Fixtures/array-object-legacy.php b/src/Symfony/Component/VarExporter/Tests/Fixtures/array-object-legacy.php new file mode 100644 index 0000000000..a461c6ed97 --- /dev/null +++ b/src/Symfony/Component/VarExporter/Tests/Fixtures/array-object-legacy.php @@ -0,0 +1,29 @@ + [ + "\0" => [ + [ + [ + 1, + $o[0], + ], + 0, + ], + ], + ], + 'stdClass' => [ + 'foo' => [ + $o[1], + ], + ], + ], + $o[0], + [] +); diff --git a/src/Symfony/Component/VarExporter/Tests/Fixtures/array-object.php b/src/Symfony/Component/VarExporter/Tests/Fixtures/array-object.php index a461c6ed97..e2f349e647 100644 --- a/src/Symfony/Component/VarExporter/Tests/Fixtures/array-object.php +++ b/src/Symfony/Component/VarExporter/Tests/Fixtures/array-object.php @@ -6,24 +6,23 @@ return \Symfony\Component\VarExporter\Internal\Hydrator::hydrate( clone $p['ArrayObject'], ], null, - [ - 'ArrayObject' => [ - "\0" => [ - [ - [ - 1, - $o[0], - ], - 0, - ], - ], - ], - 'stdClass' => [ - 'foo' => [ - $o[1], - ], - ], - ], + [], $o[0], - [] + [ + [ + 0, + [ + 1, + $o[0], + ], + [ + 'foo' => $o[1], + ], + ], + -1 => [ + 0, + [], + [], + ], + ] ); diff --git a/src/Symfony/Component/VarExporter/Tests/Fixtures/final-array-iterator-legacy.php b/src/Symfony/Component/VarExporter/Tests/Fixtures/final-array-iterator-legacy.php new file mode 100644 index 0000000000..9bdb2b3662 --- /dev/null +++ b/src/Symfony/Component/VarExporter/Tests/Fixtures/final-array-iterator-legacy.php @@ -0,0 +1,11 @@ + [ + 'file' => [ + \dirname(__DIR__).\DIRECTORY_SEPARATOR.'VarExporterTest.php', + ], + 'line' => [ + 123, + ], + ], + 'Error' => [ + 'trace' => [ + [], + ], + ], + ], + $o[0], + [ + 1 => 0, + ] +); diff --git a/src/Symfony/Component/VarExporter/Tests/Fixtures/final-error.php b/src/Symfony/Component/VarExporter/Tests/Fixtures/final-error.php index dc260dc024..b2e729937b 100644 --- a/src/Symfony/Component/VarExporter/Tests/Fixtures/final-error.php +++ b/src/Symfony/Component/VarExporter/Tests/Fixtures/final-error.php @@ -1,9 +1,9 @@ [ @@ -14,6 +14,11 @@ return \Symfony\Component\VarExporter\Internal\Hydrator::hydrate( 123, ], ], + 'Error' => [ + 'trace' => [ + [], + ], + ], ], $o[0], [ diff --git a/src/Symfony/Component/VarExporter/Tests/Fixtures/spl-object-storage-legacy.php b/src/Symfony/Component/VarExporter/Tests/Fixtures/spl-object-storage-legacy.php new file mode 100644 index 0000000000..5e854a4959 --- /dev/null +++ b/src/Symfony/Component/VarExporter/Tests/Fixtures/spl-object-storage-legacy.php @@ -0,0 +1,21 @@ + [ + "\0" => [ + [ + $o[1], + 345, + ], + ], + ], + ], + $o[0], + [] +); diff --git a/src/Symfony/Component/VarExporter/Tests/Fixtures/spl-object-storage.php b/src/Symfony/Component/VarExporter/Tests/Fixtures/spl-object-storage.php index 5e854a4959..023a75fdcd 100644 --- a/src/Symfony/Component/VarExporter/Tests/Fixtures/spl-object-storage.php +++ b/src/Symfony/Component/VarExporter/Tests/Fixtures/spl-object-storage.php @@ -6,16 +6,15 @@ return \Symfony\Component\VarExporter\Internal\Hydrator::hydrate( clone ($p['stdClass'] ?? \Symfony\Component\VarExporter\Internal\Registry::p('stdClass')), ], null, - [ - 'SplObjectStorage' => [ - "\0" => [ - [ - $o[1], - 345, - ], - ], - ], - ], + [], $o[0], - [] + [ + [ + [ + $o[1], + 345, + ], + [], + ], + ] ); diff --git a/src/Symfony/Component/VarExporter/Tests/VarExporterTest.php b/src/Symfony/Component/VarExporter/Tests/VarExporterTest.php index 8a70d02be5..d80c2858ee 100644 --- a/src/Symfony/Component/VarExporter/Tests/VarExporterTest.php +++ b/src/Symfony/Component/VarExporter/Tests/VarExporterTest.php @@ -12,7 +12,6 @@ namespace Symfony\Component\VarExporter\Tests; use PHPUnit\Framework\TestCase; -use PHPUnit\Framework\Warning; use Symfony\Component\VarDumper\Test\VarDumperTestTrait; use Symfony\Component\VarExporter\Internal\Registry; use Symfony\Component\VarExporter\VarExporter; @@ -76,10 +75,6 @@ class VarExporterTest extends TestCase */ public function testExport(string $testName, $value, bool $staticValueExpected = false) { - if (\PHP_VERSION_ID >= 70400 && \in_array($testName, ['spl-object-storage', 'array-object-custom', 'array-iterator', 'array-object', 'final-array-iterator'])) { - throw new Warning('PHP 7.4 breaks this test.'); - } - $dumpedValue = $this->getDump($value); $isStaticValue = true; $marshalledValue = VarExporter::export($value, $isStaticValue); @@ -91,7 +86,12 @@ class VarExporterTest extends TestCase $dump = "assertStringEqualsFile($fixtureFile, $dump); if ('incomplete-class' === $testName || 'external-references' === $testName) { diff --git a/src/Symfony/Component/Workflow/composer.json b/src/Symfony/Component/Workflow/composer.json index 212be78d02..09c79cccf1 100644 --- a/src/Symfony/Component/Workflow/composer.json +++ b/src/Symfony/Component/Workflow/composer.json @@ -21,7 +21,7 @@ ], "require": { "php": "^7.1.3", - "symfony/property-access": "^3.4|^4.0|^5.0" + "symfony/property-access": "~3.4.31|^4.3.4|^5.0" }, "require-dev": { "psr/log": "~1.0",