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):