mirror of https://github.com/python/cpython
Merge: #19532: make compileall with no file/dir args respect -f and -q.
This commit is contained in:
commit
755d5ea12a
|
@ -229,7 +229,8 @@ def main():
|
||||||
success = False
|
success = False
|
||||||
return success
|
return success
|
||||||
else:
|
else:
|
||||||
return compile_path(legacy=args.legacy)
|
return compile_path(legacy=args.legacy, force=args.force,
|
||||||
|
quiet=args.quiet)
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
print("\n[interrupted]")
|
print("\n[interrupted]")
|
||||||
return False
|
return False
|
||||||
|
|
|
@ -5,8 +5,6 @@ import os
|
||||||
import py_compile
|
import py_compile
|
||||||
import shutil
|
import shutil
|
||||||
import struct
|
import struct
|
||||||
import subprocess
|
|
||||||
import sys
|
|
||||||
import tempfile
|
import tempfile
|
||||||
import time
|
import time
|
||||||
import unittest
|
import unittest
|
||||||
|
@ -181,6 +179,29 @@ class CommandLineTests(unittest.TestCase):
|
||||||
self.assertNotCompiled(self.initfn)
|
self.assertNotCompiled(self.initfn)
|
||||||
self.assertNotCompiled(self.barfn)
|
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
|
# Ensure that the default behavior of compileall's CLI is to create
|
||||||
# PEP 3147 pyc/pyo files.
|
# PEP 3147 pyc/pyo files.
|
||||||
for name, ext, switch in [
|
for name, ext, switch in [
|
||||||
|
|
|
@ -44,6 +44,9 @@ Core and Builtins
|
||||||
Library
|
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 #19623: Fixed writing to unseekable files in the aifc module.
|
||||||
|
|
||||||
- Issue #19946: multiprocessing.spawn now raises ImportError when the module to
|
- Issue #19946: multiprocessing.spawn now raises ImportError when the module to
|
||||||
|
|
Loading…
Reference in New Issue