mirror of https://github.com/python/cpython
Fix test_distutils when sys.dont_write_bytecode is true (#9831).
The tests now pass all combinations of -O/-OO and -B. See also #7071 and #6292 for previous variations on the same theme.
This commit is contained in:
parent
1e94021ea5
commit
be77831375
|
@ -17,7 +17,7 @@ class BuildPyTestCase(support.TempdirManager,
|
|||
support.LoggingSilencer,
|
||||
unittest.TestCase):
|
||||
|
||||
def _setup_package_data(self):
|
||||
def test_package_data(self):
|
||||
sources = self.mkdtemp()
|
||||
f = open(os.path.join(sources, "__init__.py"), "w")
|
||||
try:
|
||||
|
@ -57,20 +57,15 @@ class BuildPyTestCase(support.TempdirManager,
|
|||
self.assertEqual(len(cmd.get_outputs()), 3)
|
||||
pkgdest = os.path.join(destination, "pkg")
|
||||
files = os.listdir(pkgdest)
|
||||
return files
|
||||
self.assertIn("__init__.py", files)
|
||||
self.assertIn("README.txt", files)
|
||||
# XXX even with -O, distutils writes pyc, not pyo; bug?
|
||||
if sys.dont_write_bytecode:
|
||||
self.assertNotIn("__init__.pyc", files)
|
||||
else:
|
||||
self.assertIn("__init__.pyc", files)
|
||||
|
||||
def test_package_data(self):
|
||||
files = self._setup_package_data()
|
||||
self.assertTrue("__init__.py" in files)
|
||||
self.assertTrue("README.txt" in files)
|
||||
|
||||
@unittest.skipIf(sys.flags.optimize >= 2,
|
||||
"pyc files are not written with -O2 and above")
|
||||
def test_package_data_pyc(self):
|
||||
files = self._setup_package_data()
|
||||
self.assertTrue("__init__.pyc" in files)
|
||||
|
||||
def test_empty_package_dir (self):
|
||||
def test_empty_package_dir(self):
|
||||
# See SF 1668596/1720897.
|
||||
cwd = os.getcwd()
|
||||
|
||||
|
@ -118,7 +113,7 @@ class BuildPyTestCase(support.TempdirManager,
|
|||
finally:
|
||||
sys.dont_write_bytecode = old_dont_write_bytecode
|
||||
|
||||
self.assertTrue('byte-compiling is disabled' in self.logs[0][1])
|
||||
self.assertIn('byte-compiling is disabled', self.logs[0][1])
|
||||
|
||||
def test_suite():
|
||||
return unittest.makeSuite(BuildPyTestCase)
|
||||
|
|
Loading…
Reference in New Issue