summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2023-05-08 14:44:10 (GMT)
committerGitHub <noreply@github.com>2023-05-08 14:44:10 (GMT)
commitd54f6441ceb17b48b047072dabca92ce4cd683b4 (patch)
tree0ef26fe8f8c4fabeaf9aefd0700337dc307ef802
parent499b79d0b950300e8b5fd3b5be76bfc144b14840 (diff)
downloadcpython-d54f6441ceb17b48b047072dabca92ce4cd683b4.zip
cpython-d54f6441ceb17b48b047072dabca92ce4cd683b4.tar.gz
cpython-d54f6441ceb17b48b047072dabca92ce4cd683b4.tar.bz2
[3.11] gh-103193: Improve `getattr_static` test coverage (GH-104286) (#104290)
gh-103193: Improve `getattr_static` test coverage (GH-104286) (cherry picked from commit 921185ed050efbca2f0adeab79f676b7f8cc3660) Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
-rw-r--r--Lib/test/test_inspect.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py
index efcbd63..c44eed0 100644
--- a/Lib/test/test_inspect.py
+++ b/Lib/test/test_inspect.py
@@ -2106,6 +2106,35 @@ class TestGetattrStatic(unittest.TestCase):
inspect.getattr_static(Thing, "spam")
self.assertFalse(Thing.executed)
+ def test_custom___getattr__(self):
+ test = self
+ test.called = False
+
+ class Foo:
+ def __getattr__(self, attr):
+ test.called = True
+ return {}
+
+ with self.assertRaises(AttributeError):
+ inspect.getattr_static(Foo(), 'whatever')
+
+ self.assertFalse(test.called)
+
+ def test_custom___getattribute__(self):
+ test = self
+ test.called = False
+
+ class Foo:
+ def __getattribute__(self, attr):
+ test.called = True
+ return {}
+
+ with self.assertRaises(AttributeError):
+ inspect.getattr_static(Foo(), 'really_could_be_anything')
+
+ self.assertFalse(test.called)
+
+
class TestGetGeneratorState(unittest.TestCase):
def setUp(self):