Mercurial > cpython-lru_cache-weakref
changeset 57114:d3a81051663b
importlib.test.source.util referenced variables in the 'finally' part of a
try/finally which may not have been set.
| author | Brett Cannon <bcannon@gmail.com> |
|---|---|
| date | Thu, 05 Nov 2009 01:17:22 +0000 |
| parents | f89a93a778a8 |
| children | 444989ce5f77 |
| files | Lib/importlib/test/source/util.py Misc/NEWS |
| diffstat | 2 files changed, 10 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/Lib/importlib/test/source/util.py Wed Nov 04 21:10:38 2009 +0000 +++ b/Lib/importlib/test/source/util.py Thu Nov 05 01:17:22 2009 +0000 @@ -55,6 +55,8 @@ source = 'attr = {0!r}' created_paths = [] mapping = {} + state_manager = None + uncache_manager = None try: temp_dir = tempfile.gettempdir() mapping['.root'] = temp_dir @@ -85,8 +87,10 @@ state_manager.__enter__() yield mapping finally: - state_manager.__exit__(None, None, None) - uncache_manager.__exit__(None, None, None) + if state_manager is not None: + state_manager.__exit__(None, None, None) + if uncache_manager is not None: + uncache_manager.__exit__(None, None, None) # Reverse the order for path removal to unroll directory creation. for path in reversed(created_paths): if file_path.endswith('.py'):
--- a/Misc/NEWS Wed Nov 04 21:10:38 2009 +0000 +++ b/Misc/NEWS Thu Nov 05 01:17:22 2009 +0000 @@ -354,6 +354,10 @@ Tests ----- +- Issue #7248: In importlib.test.source.util a try/finally block did not make + sure that some referenced objects actually were created in the block before + calling methods on the object. + - Issue #7222: Make thread "reaping" more reliable so that reference leak-chasing test runs give sensible results. The previous method of reaping threads could return successfully while some Thread objects were
