]> granicus.if.org Git - python/commitdiff
Fix test_distutils when sys.dont_write_bytecode is true (#9831).
authorÉric Araujo <merwok@netwok.org>
Sat, 28 May 2011 21:21:19 +0000 (23:21 +0200)
committerÉric Araujo <merwok@netwok.org>
Sat, 28 May 2011 21:21:19 +0000 (23:21 +0200)
The tests now pass all combinations of -O/-OO and -B.  See also #7071
and #6292 for previous variations on the same theme.

Lib/distutils/tests/test_build_py.py

index 937fa0ce90c1978cfac3a10b916a21c9bb3f1ad5..6c6ec208aaa4bc65d51e4d36ef9bbe8e986f6ec8 100644 (file)
@@ -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
-
-    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):
+        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):
         # 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)