diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2017-01-13 09:42:17 +0200 |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2017-01-13 09:42:17 +0200 |
commit | c5134c83efd1055ea4a9f3680ff29d0d71cd11f7 (patch) | |
tree | b3ec57c060e32f0154d81d455a8eeecb53e8f1a0 /Lib/test/test_datetime.py | |
parent | edc597f4d8d524c57fd62e9153525ff5be7aed1d (diff) | |
parent | cea403188c49d053e716a0b1b07a99a5f1331d9d (diff) | |
download | cpython-c5134c83efd1055ea4a9f3680ff29d0d71cd11f7.tar.gz |
Issue #29219: Fixed infinite recursion in the repr of uninitialized
ctypes.CDLL instances.
Diffstat (limited to 'Lib/test/test_datetime.py')
-rw-r--r-- | Lib/test/test_datetime.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Lib/test/test_datetime.py b/Lib/test/test_datetime.py index 2d4eb52c62..242e1bba03 100644 --- a/Lib/test/test_datetime.py +++ b/Lib/test/test_datetime.py @@ -23,9 +23,16 @@ test_suffixes = ["_Pure", "_Fast"] test_classes = [] for module, suffix in zip(test_modules, test_suffixes): + test_classes = [] for name, cls in module.__dict__.items(): - if not (isinstance(cls, type) and issubclass(cls, unittest.TestCase)): + if not isinstance(cls, type): continue + if issubclass(cls, unittest.TestCase): + test_classes.append(cls) + elif issubclass(cls, unittest.TestSuite): + suit = cls() + test_classes.extend(type(test) for test in suit) + for cls in test_classes: cls.__name__ = name + suffix @classmethod def setUpClass(cls_, module=module): @@ -39,7 +46,6 @@ for module, suffix in zip(test_modules, test_suffixes): sys.modules.update(cls_._save_sys_modules) cls.setUpClass = setUpClass cls.tearDownClass = tearDownClass - test_classes.append(cls) def test_main(): run_unittest(*test_classes) |