diff --git a/Lib/test/test_runpy.py b/Lib/test/test_runpy.py index 3a5a70963ba..7076df79665 100644 --- a/Lib/test/test_runpy.py +++ b/Lib/test/test_runpy.py @@ -4,7 +4,7 @@ import os import os.path import sys import tempfile -from test.test_support import verbose, run_unittest +from test.test_support import verbose, run_unittest, forget from runpy import _run_module_code, run_module # Set up the test code and expected results @@ -156,6 +156,7 @@ class RunModuleTest(unittest.TestCase): def _check_module(self, depth): pkg_dir, mod_fname, mod_name = ( self._make_pkg("x=1\n", depth)) + forget(mod_name) try: if verbose: print "Running from source:", mod_name d1 = run_module(mod_name) # Read from source diff --git a/Misc/NEWS b/Misc/NEWS index a04b2bfd1b7..228256e915a 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -832,6 +832,10 @@ Extension Modules Tests ----- +- Make test_runpy reentrant by fixing _check_module to clear out any module + being tested. Was causing an error by __import__ doing a reload on the + second run and thus suppressing bytecode recreation. + - Capture socket connection resets and timeouts in test_socket_ssl and test_urllib2net and raise test.test_support.ResourceDenied.