From 6fbc924696b4b5097c273c06ca2d82662940e184 Mon Sep 17 00:00:00 2001 From: Pablo Galindo Date: Tue, 17 Sep 2019 17:04:46 +0100 Subject: [PATCH] bpo-38187: Fix reference leak in test_tools (GH-16233) --- .../test_c_analyzer/test_c_analyzer_common/test_known.py | 3 +++ Tools/c-analyzer/c_parser/info.py | 3 +++ 2 files changed, 6 insertions(+) diff --git a/Lib/test/test_tools/test_c_analyzer/test_c_analyzer_common/test_known.py b/Lib/test/test_tools/test_c_analyzer/test_c_analyzer_common/test_known.py index 215023da577..93100e0438c 100644 --- a/Lib/test/test_tools/test_c_analyzer/test_c_analyzer_common/test_known.py +++ b/Lib/test/test_tools/test_c_analyzer/test_c_analyzer_common/test_known.py @@ -15,6 +15,9 @@ class FromFileTests(unittest.TestCase): _return_read_tsv = () + def tearDown(self): + Variable._isglobal.instances.clear() + @property def calls(self): try: diff --git a/Tools/c-analyzer/c_parser/info.py b/Tools/c-analyzer/c_parser/info.py index 9ab69797863..d7368b48cde 100644 --- a/Tools/c-analyzer/c_parser/info.py +++ b/Tools/c-analyzer/c_parser/info.py @@ -22,6 +22,9 @@ class Variable(_NTBase, __slots__ = () _isglobal = util.Slot() + def __del__(self): + del self._isglobal + @classonly def from_parts(cls, filename, funcname, name, vartype, isglobal=False): id = info.ID(filename, funcname, name)