From 7e8bfa416384d83de697028e3e29d2227394c392 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Tue, 10 Jan 2006 19:29:24 +0000 Subject: [PATCH] Add outstanding_crashes.py with tests for crashes. --- Lib/test/outstanding_bugs.py | 3 +++ Lib/test/outstanding_crashes.py | 38 +++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 Lib/test/outstanding_crashes.py diff --git a/Lib/test/outstanding_bugs.py b/Lib/test/outstanding_bugs.py index be71fde48c5..7b17ba8309a 100644 --- a/Lib/test/outstanding_bugs.py +++ b/Lib/test/outstanding_bugs.py @@ -22,3 +22,6 @@ class TestBug1385040(unittest.TestCase): def test_main(): test_support.run_unittest(TestBug1385040) + +if __name__ == "__main__": + test_main() diff --git a/Lib/test/outstanding_crashes.py b/Lib/test/outstanding_crashes.py new file mode 100644 index 00000000000..3fa96595b6d --- /dev/null +++ b/Lib/test/outstanding_crashes.py @@ -0,0 +1,38 @@ +# +# This file is for everybody to add tests for crashes that aren't +# fixed yet. Please add a test case and appropriate description. +# +# When you fix one of the crashes, please move the test to the correct +# test_ module. +# + +import unittest +from test import test_support + + +# Bug 1377858 +# +# mwh's description: +# The problem is obvious if you read typeobject.c around line 660: the weakref +# list is cleared before __del__ is called, so any weakrefs added during the +# execution of __del__ are never informed of the object's death. + +import weakref +ref = None + +class TestBug1377858(unittest.TestCase): + class Target(object): + def __del__(self): + global ref + ref = weakref.ref(self) + + def testBug1377858(self): + w = self.__class__.Target() + w = None + print ref() + +def test_main(): + test_support.run_unittest(TestBug1377858) + +if __name__ == "__main__": + test_main()