From b8d1623f73031ebfedf3531a44f4a05730c45320 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 7 Apr 2023 12:36:10 -0700 Subject: [PATCH] gh-103272: regression test for getattr exception in property (GH-103336) (cherry picked from commit 5d7d86f2fdbbfc23325e7256ee289bf20ce7124e) Co-authored-by: sunmy2019 <59365878+sunmy2019@users.noreply.github.com> --- Lib/test/test_descr.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py index 3145dff81b4d89..f07d7d4596599c 100644 --- a/Lib/test/test_descr.py +++ b/Lib/test/test_descr.py @@ -4999,6 +4999,19 @@ class Child(Parent): gc.collect() self.assertEqual(Parent.__subclasses__(), []) + def test_attr_raise_through_property(self): + # add test case for gh-103272 + class A: + def __getattr__(self, name): + raise ValueError("FOO") + + @property + def foo(self): + return self.__getattr__("asdf") + + with self.assertRaisesRegex(ValueError, "FOO"): + A().foo + class DictProxyTests(unittest.TestCase): def setUp(self):