diff options
Diffstat (limited to 'Lib/test/test_module.py')
-rw-r--r-- | Lib/test/test_module.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/Lib/test/test_module.py b/Lib/test/test_module.py index 619348e..f72177d 100644 --- a/Lib/test/test_module.py +++ b/Lib/test/test_module.py @@ -346,6 +346,25 @@ a = A(destroyed)""" # frozen and namespace module reprs are tested in importlib. + def test_subclass_with_slots(self): + # In 3.11alpha this crashed, as the slots weren't NULLed. + + class ModuleWithSlots(ModuleType): + __slots__ = ("a", "b") + + def __init__(self, name): + super().__init__(name) + + m = ModuleWithSlots("name") + with self.assertRaises(AttributeError): + m.a + with self.assertRaises(AttributeError): + m.b + m.a, m.b = 1, 2 + self.assertEqual(m.a, 1) + self.assertEqual(m.b, 2) + + if __name__ == '__main__': unittest.main() |