summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_compileall.py
diff options
context:
space:
mode:
authorR David Murray <rdmurray@bitdance.com>2013-12-16 01:56:00 (GMT)
committerR David Murray <rdmurray@bitdance.com>2013-12-16 01:56:00 (GMT)
commit755d5ea12aff91dfc4c4fe7302d911da33fffa82 (patch)
tree252bfeec4ddcb0b282c40664cffaf092b38d8733 /Lib/test/test_compileall.py
parent575596e19a8f0be382f08a2dc9190100ff811b97 (diff)
parent8a1d1e647eb133cb1687e183dc0aefa7e2f02fdb (diff)
downloadcpython-755d5ea12aff91dfc4c4fe7302d911da33fffa82.zip
cpython-755d5ea12aff91dfc4c4fe7302d911da33fffa82.tar.gz
cpython-755d5ea12aff91dfc4c4fe7302d911da33fffa82.tar.bz2
Merge: #19532: make compileall with no file/dir args respect -f and -q.
Diffstat (limited to 'Lib/test/test_compileall.py')
-rw-r--r--Lib/test/test_compileall.py25
1 files changed, 23 insertions, 2 deletions
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 [