From: Éric Araujo Date: Fri, 17 Jun 2011 13:43:18 +0000 (+0200) Subject: Packaging tests: don’t let an internal cache grow indefinitely. X-Git-Tag: v3.3.0a1~2102^2~1 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c06f46f74c4a5f3cc46aa3a6d1c9cc1cb187e4c4;p=python Packaging tests: don’t let an internal cache grow indefinitely. Victor Stinner diagnosed on #12167 that some reference leaks came from util._path_created, a set used for caching; there are two tests that cause additions to this set, so now they clear it in tearDown, avoiding 17 refleaks. (My tests show that it’s necessary to clear the set in only one test, clearing it in both does not stop more refleaks, but there’s no harm in doing it.) --- diff --git a/Lib/packaging/tests/test_command_bdist_dumb.py b/Lib/packaging/tests/test_command_bdist_dumb.py index fd199ea932..25f3276b0c 100644 --- a/Lib/packaging/tests/test_command_bdist_dumb.py +++ b/Lib/packaging/tests/test_command_bdist_dumb.py @@ -1,6 +1,7 @@ """Tests for distutils.command.bdist_dumb.""" import os +import packaging.util from packaging.dist import Distribution from packaging.command.bdist_dumb import bdist_dumb @@ -18,6 +19,7 @@ class BuildDumbTestCase(support.TempdirManager, def tearDown(self): os.chdir(self.old_location) + packaging.util._path_created.clear() super(BuildDumbTestCase, self).tearDown() @requires_zlib diff --git a/Lib/packaging/tests/test_uninstall.py b/Lib/packaging/tests/test_uninstall.py index 00e97e4c70..0ef7f3be90 100644 --- a/Lib/packaging/tests/test_uninstall.py +++ b/Lib/packaging/tests/test_uninstall.py @@ -3,6 +3,7 @@ import os import sys from io import StringIO import stat +import packaging.util from packaging.database import disable_cache, enable_cache from packaging.run import main @@ -43,6 +44,7 @@ class UninstallTestCase(support.TempdirManager, def tearDown(self): os.chdir(self.cwd) + packaging.util._path_created.clear() super(UninstallTestCase, self).tearDown() def run_setup(self, *args):