diff options
author | R David Murray <rdmurray@bitdance.com> | 2013-12-16 01:56:00 (GMT) |
---|---|---|
committer | R David Murray <rdmurray@bitdance.com> | 2013-12-16 01:56:00 (GMT) |
commit | 755d5ea12aff91dfc4c4fe7302d911da33fffa82 (patch) | |
tree | 252bfeec4ddcb0b282c40664cffaf092b38d8733 | |
parent | 575596e19a8f0be382f08a2dc9190100ff811b97 (diff) | |
parent | 8a1d1e647eb133cb1687e183dc0aefa7e2f02fdb (diff) | |
download | cpython-755d5ea12aff91dfc4c4fe7302d911da33fffa82.zip cpython-755d5ea12aff91dfc4c4fe7302d911da33fffa82.tar.gz cpython-755d5ea12aff91dfc4c4fe7302d911da33fffa82.tar.bz2 |
Merge: #19532: make compileall with no file/dir args respect -f and -q.
-rw-r--r-- | Lib/compileall.py | 3 | ||||
-rw-r--r-- | Lib/test/test_compileall.py | 25 | ||||
-rw-r--r-- | Misc/NEWS | 3 |
3 files changed, 28 insertions, 3 deletions
diff --git a/Lib/compileall.py b/Lib/compileall.py index 475dc1c..07f50aa 100644 --- a/Lib/compileall.py +++ b/Lib/compileall.py @@ -229,7 +229,8 @@ def main(): success = False return success else: - return compile_path(legacy=args.legacy) + return compile_path(legacy=args.legacy, force=args.force, + quiet=args.quiet) except KeyboardInterrupt: print("\n[interrupted]") return False diff --git a/Lib/test/test_compileall.py b/Lib/test/test_compileall.py index ff2515d..2a42238 100644 --- a/Lib/test/test_compileall.py +++ b/Lib/test/test_compileall.py @@ -5,8 +5,6 @@ import os import py_compile import shutil import struct -import subprocess -import sys import tempfile import time import unittest @@ -181,6 +179,29 @@ class CommandLineTests(unittest.TestCase): self.assertNotCompiled(self.initfn) self.assertNotCompiled(self.barfn) + def test_no_args_respects_force_flag(self): + bazfn = script_helper.make_script(self.directory, 'baz', '') + self.assertRunOK(PYTHONPATH=self.directory) + pycpath = importlib.util.cache_from_source(bazfn) + # Set atime/mtime backward to avoid file timestamp resolution issues + os.utime(pycpath, (time.time()-60,)*2) + mtime = os.stat(pycpath).st_mtime + # Without force, no recompilation + self.assertRunOK(PYTHONPATH=self.directory) + mtime2 = os.stat(pycpath).st_mtime + self.assertEqual(mtime, mtime2) + # Now force it. + self.assertRunOK('-f', PYTHONPATH=self.directory) + mtime2 = os.stat(pycpath).st_mtime + self.assertNotEqual(mtime, mtime2) + + def test_no_args_respects_quiet_flag(self): + script_helper.make_script(self.directory, 'baz', '') + noisy = self.assertRunOK(PYTHONPATH=self.directory) + self.assertIn(b'Listing ', noisy) + quiet = self.assertRunOK('-q', PYTHONPATH=self.directory) + self.assertNotIn(b'Listing ', quiet) + # Ensure that the default behavior of compileall's CLI is to create # PEP 3147 pyc/pyo files. for name, ext, switch in [ @@ -44,6 +44,9 @@ Core and Builtins Library ------- +- Issue #19532: python -m compileall with no filename/directory arguments now + respects the -f and -q flags instead of ignoring them. + - Issue #19623: Fixed writing to unseekable files in the aifc module. - Issue #19946: multiprocessing.spawn now raises ImportError when the module to |