Commit d91ae564 authored by Benjamin Peterson's avatar Benjamin Peterson

fix test_compileall when run with -O[O]

parent b0ec5da3
...@@ -134,15 +134,21 @@ class EncodingTest(unittest.TestCase): ...@@ -134,15 +134,21 @@ class EncodingTest(unittest.TestCase):
class CommandLineTests(unittest.TestCase): class CommandLineTests(unittest.TestCase):
"""Test compileall's CLI.""" """Test compileall's CLI."""
def _get_run_args(self, args):
interp_args = ['-S']
if sys.flags.optimize:
interp_args.append({1 : '-O', 2 : '-OO'}[sys.flags.optimize])
return interp_args + ['-m', 'compileall'] + list(args)
def assertRunOK(self, *args, **env_vars): def assertRunOK(self, *args, **env_vars):
rc, out, err = script_helper.assert_python_ok( rc, out, err = script_helper.assert_python_ok(
'-S', '-m', 'compileall', *args, **env_vars) *self._get_run_args(args), **env_vars)
self.assertEqual(b'', err) self.assertEqual(b'', err)
return out return out
def assertRunNotOK(self, *args, **env_vars): def assertRunNotOK(self, *args, **env_vars):
rc, out, err = script_helper.assert_python_failure( rc, out, err = script_helper.assert_python_failure(
'-S', '-m', 'compileall', *args, **env_vars) *self._get_run_args(args), **env_vars)
return rc, out, err return rc, out, err
def assertCompiled(self, fn): def assertCompiled(self, fn):
...@@ -198,7 +204,9 @@ class CommandLineTests(unittest.TestCase): ...@@ -198,7 +204,9 @@ class CommandLineTests(unittest.TestCase):
self.assertRunOK('-b', '-q', self.pkgdir) self.assertRunOK('-b', '-q', self.pkgdir)
# Verify the __pycache__ directory contents. # Verify the __pycache__ directory contents.
self.assertFalse(os.path.exists(self.pkgdir_cachedir)) self.assertFalse(os.path.exists(self.pkgdir_cachedir))
expected = sorted(['__init__.py', '__init__.pyc', 'bar.py', 'bar.pyc']) opt = 'c' if __debug__ else 'o'
expected = sorted(['__init__.py', '__init__.py' + opt, 'bar.py',
'bar.py' + opt])
self.assertEqual(sorted(os.listdir(self.pkgdir)), expected) self.assertEqual(sorted(os.listdir(self.pkgdir)), expected)
def test_multiple_runs(self): def test_multiple_runs(self):
...@@ -326,7 +334,7 @@ class CommandLineTests(unittest.TestCase): ...@@ -326,7 +334,7 @@ class CommandLineTests(unittest.TestCase):
f2 = script_helper.make_script(self.pkgdir, 'f2', '') f2 = script_helper.make_script(self.pkgdir, 'f2', '')
f3 = script_helper.make_script(self.pkgdir, 'f3', '') f3 = script_helper.make_script(self.pkgdir, 'f3', '')
f4 = script_helper.make_script(self.pkgdir, 'f4', '') f4 = script_helper.make_script(self.pkgdir, 'f4', '')
p = script_helper.spawn_python('-m', 'compileall', '-i', '-') p = script_helper.spawn_python(*(self._get_run_args(()) + ['-i', '-']))
p.stdin.write((f3+os.linesep).encode('ascii')) p.stdin.write((f3+os.linesep).encode('ascii'))
script_helper.kill_python(p) script_helper.kill_python(p)
self.assertNotCompiled(f1) self.assertNotCompiled(f1)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment