From: Benjamin Peterson Date: Sun, 8 Jul 2012 18:13:36 +0000 (-0700) Subject: test AST base type garbage collection X-Git-Tag: v3.3.0b2~273 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9ed37433c4db71076f554eb7c9343b6381ba32e1;p=thirdparty%2FPython%2Fcpython.git test AST base type garbage collection --- diff --git a/Lib/test/test_ast.py b/Lib/test/test_ast.py index 3b9f10c8082f..aa08166324c2 100644 --- a/Lib/test/test_ast.py +++ b/Lib/test/test_ast.py @@ -1,8 +1,10 @@ import os import sys import unittest -from test import support import ast +import weakref + +from test import support def to_tuple(t): if t is None or isinstance(t, (str, int, complex)): @@ -207,6 +209,17 @@ class AST_Tests(unittest.TestCase): # "_ast.AST constructor takes 0 positional arguments" ast.AST(2) + def test_AST_garbage_collection(self): + class X: + pass + a = ast.AST() + a.x = X() + a.x.a = a + ref = weakref.ref(a.x) + del a + support.gc_collect() + self.assertIsNone(ref()) + def test_snippets(self): for input, output, kind in ((exec_tests, exec_results, "exec"), (single_tests, single_results, "single"),