From 9ed37433c4db71076f554eb7c9343b6381ba32e1 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Sun, 8 Jul 2012 11:13:36 -0700 Subject: [PATCH] test AST base type garbage collection --- Lib/test/test_ast.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_ast.py b/Lib/test/test_ast.py index 3b9f10c8082..aa08166324c 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"),