diff options
Diffstat (limited to 'Lib/test/test_finalization.py')
-rw-r--r-- | Lib/test/test_finalization.py | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/Lib/test/test_finalization.py b/Lib/test/test_finalization.py index 80c9b87..03ac1aa 100644 --- a/Lib/test/test_finalization.py +++ b/Lib/test/test_finalization.py @@ -7,7 +7,15 @@ import gc import unittest import weakref -import _testcapi +try: + from _testcapi import with_tp_del +except ImportError: + def with_tp_del(cls): + class C(object): + def __new__(cls, *args, **kwargs): + raise TypeError('requires _testcapi.with_tp_del') + return C + from test import support @@ -423,11 +431,11 @@ class LegacyBase(SimpleBase): except Exception as e: self.errors.append(e) -@_testcapi.with_tp_del +@with_tp_del class Legacy(LegacyBase): pass -@_testcapi.with_tp_del +@with_tp_del class LegacyResurrector(LegacyBase): def side_effect(self): @@ -436,11 +444,12 @@ class LegacyResurrector(LegacyBase): """ self.survivors.append(self) -@_testcapi.with_tp_del +@with_tp_del class LegacySelfCycle(SelfCycleBase, LegacyBase): pass +@support.cpython_only class LegacyFinalizationTest(TestBase, unittest.TestCase): """ Test finalization of objects with a tp_del. |