From e94c3fb87d699cf4a368a1757e0dc5570bfd8e4d Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Sun, 2 Feb 2020 13:11:51 +0100 Subject: [PATCH] [Config] dont catch instances of Error --- .../Config/Resource/ClassExistenceResource.php | 2 ++ .../Component/Config/Tests/Fixtures/ParseError.php | 7 +++++++ .../Tests/Resource/ClassExistenceResourceTest.php | 12 ++++++++++++ 3 files changed, 21 insertions(+) create mode 100644 src/Symfony/Component/Config/Tests/Fixtures/ParseError.php diff --git a/src/Symfony/Component/Config/Resource/ClassExistenceResource.php b/src/Symfony/Component/Config/Resource/ClassExistenceResource.php index 685da72850e5..fc0259f41892 100644 --- a/src/Symfony/Component/Config/Resource/ClassExistenceResource.php +++ b/src/Symfony/Component/Config/Resource/ClassExistenceResource.php @@ -92,6 +92,8 @@ public function isFresh($timestamp) } } catch (\Throwable $e) { $exists[1] = $e->getMessage(); + + throw $e; } finally { self::$autoloadedClass = $autoloadedClass; if (!--self::$autoloadLevel) { diff --git a/src/Symfony/Component/Config/Tests/Fixtures/ParseError.php b/src/Symfony/Component/Config/Tests/Fixtures/ParseError.php new file mode 100644 index 000000000000..6bb221382483 --- /dev/null +++ b/src/Symfony/Component/Config/Tests/Fixtures/ParseError.php @@ -0,0 +1,7 @@ +assertFalse($res->isFresh(0)); } + + /** + * @requires PHP 7 + */ + public function testParseError() + { + $this->expectException('ParseError'); + + $res = new ClassExistenceResource(ParseError::class, false); + $res->isFresh(0); + } }