| 4813 | self.assertEqual(descr.counter, 4) |
| 4814 | |
| 4815 | class EvilGetattribute(object): |
| 4816 | # This used to segfault |
| 4817 | def __getattr__(self, name): |
| 4818 | raise AttributeError(name) |
| 4819 | def __getattribute__(self, name): |
| 4820 | del EvilGetattribute.__getattr__ |
| 4821 | for i in range(5): |
| 4822 | gc.collect() |
| 4823 | raise AttributeError(name) |
| 4824 | |
| 4825 | self.assertRaises(AttributeError, getattr, EvilGetattribute(), "attr") |
| 4826 |
no outgoing calls