Fix test_build_py 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.

test_versionpredicate needs a skip when sys.flags.optimize is true, but
I don’t know how to make that work with a DocTestSuite.
This commit is contained in:
Éric Araujo 2011-05-28 23:32:50 +02:00
parent f33de71514
commit 489c8ff26b
1 changed files with 9 additions and 5 deletions

View File

@ -57,11 +57,15 @@ class BuildPyTestCase(support.TempdirManager,
self.assertEqual(len(cmd.get_outputs()), 3)
pkgdest = os.path.join(destination, "pkg")
files = os.listdir(pkgdest)
self.assertTrue("__init__.py" in files)
self.assertTrue("__init__.pyc" in files)
self.assertTrue("README.txt" in 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_empty_package_dir (self):
def test_empty_package_dir(self):
# See SF 1668596/1720897.
cwd = os.getcwd()
@ -109,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)