summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_runpy.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_runpy.py')
-rw-r--r--Lib/test/test_runpy.py54
1 files changed, 29 insertions, 25 deletions
diff --git a/Lib/test/test_runpy.py b/Lib/test/test_runpy.py
index fefefc4..2ddba34 100644
--- a/Lib/test/test_runpy.py
+++ b/Lib/test/test_runpy.py
@@ -258,12 +258,13 @@ class RunModuleTestCase(unittest.TestCase, CodeExecutionMixin):
importlib.invalidate_caches()
__import__(mod_name)
os.remove(mod_fname)
- make_legacy_pyc(mod_fname)
- unload(mod_name) # In case loader caches paths
- importlib.invalidate_caches()
- if verbose > 1: print("Running from compiled:", mod_name)
- self._fix_ns_for_legacy_pyc(expected_ns, alter_sys)
- self.check_code_execution(create_ns, expected_ns)
+ if not sys.dont_write_bytecode:
+ make_legacy_pyc(mod_fname)
+ unload(mod_name) # In case loader caches paths
+ importlib.invalidate_caches()
+ if verbose > 1: print("Running from compiled:", mod_name)
+ self._fix_ns_for_legacy_pyc(expected_ns, alter_sys)
+ self.check_code_execution(create_ns, expected_ns)
finally:
self._del_pkg(pkg_dir, depth, mod_name)
if verbose > 1: print("Module executed successfully")
@@ -293,12 +294,13 @@ class RunModuleTestCase(unittest.TestCase, CodeExecutionMixin):
importlib.invalidate_caches()
__import__(mod_name)
os.remove(mod_fname)
- make_legacy_pyc(mod_fname)
- unload(mod_name) # In case loader caches paths
- if verbose > 1: print("Running from compiled:", pkg_name)
- importlib.invalidate_caches()
- self._fix_ns_for_legacy_pyc(expected_ns, alter_sys)
- self.check_code_execution(create_ns, expected_ns)
+ if not sys.dont_write_bytecode:
+ make_legacy_pyc(mod_fname)
+ unload(mod_name) # In case loader caches paths
+ if verbose > 1: print("Running from compiled:", pkg_name)
+ importlib.invalidate_caches()
+ self._fix_ns_for_legacy_pyc(expected_ns, alter_sys)
+ self.check_code_execution(create_ns, expected_ns)
finally:
self._del_pkg(pkg_dir, depth, pkg_name)
if verbose > 1: print("Package executed successfully")
@@ -351,16 +353,17 @@ from ..uncle.cousin import nephew
importlib.invalidate_caches()
__import__(mod_name)
os.remove(mod_fname)
- make_legacy_pyc(mod_fname)
- unload(mod_name) # In case the loader caches paths
- if verbose > 1: print("Running from compiled:", mod_name)
- importlib.invalidate_caches()
- d2 = run_module(mod_name, run_name=run_name) # Read from bytecode
- self.assertEqual(d2["__name__"], expected_name)
- self.assertEqual(d2["__package__"], pkg_name)
- self.assertIn("sibling", d2)
- self.assertIn("nephew", d2)
- del d2 # Ensure __loader__ entry doesn't keep file open
+ if not sys.dont_write_bytecode:
+ make_legacy_pyc(mod_fname)
+ unload(mod_name) # In case the loader caches paths
+ if verbose > 1: print("Running from compiled:", mod_name)
+ importlib.invalidate_caches()
+ d2 = run_module(mod_name, run_name=run_name) # Read from bytecode
+ self.assertEqual(d2["__name__"], expected_name)
+ self.assertEqual(d2["__package__"], pkg_name)
+ self.assertIn("sibling", d2)
+ self.assertIn("nephew", d2)
+ del d2 # Ensure __loader__ entry doesn't keep file open
finally:
self._del_pkg(pkg_dir, depth, mod_name)
if verbose > 1: print("Module executed successfully")
@@ -513,9 +516,10 @@ class RunPathTestCase(unittest.TestCase, CodeExecutionMixin):
script_name = self._make_test_script(script_dir, mod_name)
compiled_name = py_compile.compile(script_name, doraise=True)
os.remove(script_name)
- legacy_pyc = make_legacy_pyc(script_name)
- self._check_script(script_dir, "<run_path>", legacy_pyc,
- script_dir)
+ if not sys.dont_write_bytecode:
+ legacy_pyc = make_legacy_pyc(script_name)
+ self._check_script(script_dir, "<run_path>", legacy_pyc,
+ script_dir)
def test_directory_error(self):
with temp_dir() as script_dir: