mirror of
https://github.com/python/cpython
synced 2026-09-29 12:10:30 +03:00
#9964: fix running test_compileall under -O and -OO.
This commit is contained in:
parent
1c2a7b7a69
commit
1463a3f833
1 changed files with 23 additions and 20 deletions
|
|
@ -131,22 +131,28 @@ class CommandLineTests(unittest.TestCase):
|
|||
assert sys.path[0] == self.directory, 'Missing path'
|
||||
del sys.path[0]
|
||||
|
||||
def test_pep3147_paths(self):
|
||||
# Ensure that the default behavior of compileall's CLI is to create
|
||||
# PEP 3147 pyc/pyo files.
|
||||
retcode = subprocess.call(
|
||||
(sys.executable, '-m', 'compileall', '-q', self.pkgdir))
|
||||
self.assertEqual(retcode, 0)
|
||||
# Verify the __pycache__ directory contents.
|
||||
cachedir = os.path.join(self.pkgdir, '__pycache__')
|
||||
self.assertTrue(os.path.exists(cachedir))
|
||||
ext = ('pyc' if __debug__ else 'pyo')
|
||||
expected = sorted(base.format(imp.get_tag(), ext) for base in
|
||||
('__init__.{}.{}', 'bar.{}.{}'))
|
||||
self.assertEqual(sorted(os.listdir(cachedir)), expected)
|
||||
# Make sure there are no .pyc files in the source directory.
|
||||
self.assertFalse([pyc_file for pyc_file in os.listdir(self.pkgdir)
|
||||
if pyc_file.endswith(ext)])
|
||||
# Ensure that the default behavior of compileall's CLI is to create
|
||||
# PEP 3147 pyc/pyo files.
|
||||
for name, ext, switch in [
|
||||
('normal', 'pyc', []),
|
||||
('optimize', 'pyo', ['-O']),
|
||||
('doubleoptimize', 'pyo', ['-OO'])
|
||||
]:
|
||||
def f(self, ext=ext, switch=switch):
|
||||
retcode = subprocess.call(
|
||||
[sys.executable] + switch +
|
||||
['-m', 'compileall', '-q', self.pkgdir])
|
||||
self.assertEqual(retcode, 0)
|
||||
# Verify the __pycache__ directory contents.
|
||||
cachedir = os.path.join(self.pkgdir, '__pycache__')
|
||||
self.assertTrue(os.path.exists(cachedir))
|
||||
expected = sorted(base.format(imp.get_tag(), ext) for base in
|
||||
('__init__.{}.{}', 'bar.{}.{}'))
|
||||
self.assertEqual(sorted(os.listdir(cachedir)), expected)
|
||||
# Make sure there are no .pyc files in the source directory.
|
||||
self.assertFalse([pyc_file for pyc_file in os.listdir(self.pkgdir)
|
||||
if pyc_file.endswith(ext)])
|
||||
locals()['test_pep3147_paths_' + name] = f
|
||||
|
||||
def test_legacy_paths(self):
|
||||
# Ensure that with the proper switch, compileall leaves legacy
|
||||
|
|
@ -157,10 +163,7 @@ class CommandLineTests(unittest.TestCase):
|
|||
# Verify the __pycache__ directory contents.
|
||||
cachedir = os.path.join(self.pkgdir, '__pycache__')
|
||||
self.assertFalse(os.path.exists(cachedir))
|
||||
ext = ('pyc' if __debug__ else 'pyo')
|
||||
expected = [base.format(ext) for base in ('__init__.{}', 'bar.{}')]
|
||||
expected.extend(['__init__.py', 'bar.py'])
|
||||
expected.sort()
|
||||
expected = sorted(['__init__.py', '__init__.pyc', 'bar.py', 'bar.pyc'])
|
||||
self.assertEqual(sorted(os.listdir(self.pkgdir)), expected)
|
||||
|
||||
def test_multiple_runs(self):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue