[Python-checkins] cpython (merge 3.2 -> default): merge 3.2

benjamin.peterson python-checkins at python.org
Tue Sep 25 17:54:19 CEST 2012


http://hg.python.org/cpython/rev/78a6e9ecba0b
changeset:   79177:78a6e9ecba0b
parent:      79174:8f793481adf5
parent:      79176:fdd70fa50a6d
user:        Benjamin Peterson <benjamin at python.org>
date:        Tue Sep 25 11:53:30 2012 -0400
summary:
  merge 3.2

files:
  Lib/lib2to3/fixer_util.py   |   4 ++--
  Lib/lib2to3/refactor.py     |   2 +-
  Lib/test/test_compileall.py |  16 ++++++++++++----
  3 files changed, 15 insertions(+), 7 deletions(-)


diff --git a/Lib/lib2to3/fixer_util.py b/Lib/lib2to3/fixer_util.py
--- a/Lib/lib2to3/fixer_util.py
+++ b/Lib/lib2to3/fixer_util.py
@@ -274,9 +274,9 @@
     """Find the top level namespace."""
     # Scamper up to the top level namespace
     while node.type != syms.file_input:
-        assert node.parent, "Tree is insane! root found before "\
-                           "file_input node was found."
         node = node.parent
+        if not node:
+            raise ValueError("root found before file_input node was found.")
     return node
 
 def does_tree_import(package, name, node):
diff --git a/Lib/lib2to3/refactor.py b/Lib/lib2to3/refactor.py
--- a/Lib/lib2to3/refactor.py
+++ b/Lib/lib2to3/refactor.py
@@ -445,7 +445,7 @@
 
                         try:
                             find_root(node)
-                        except AssertionError:
+                        except ValueError:
                             # this node has been cut off from a
                             # previous transformation ; skip
                             continue
diff --git a/Lib/test/test_compileall.py b/Lib/test/test_compileall.py
--- a/Lib/test/test_compileall.py
+++ b/Lib/test/test_compileall.py
@@ -134,15 +134,21 @@
 class CommandLineTests(unittest.TestCase):
     """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):
         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)
         return out
 
     def assertRunNotOK(self, *args, **env_vars):
         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
 
     def assertCompiled(self, fn):
@@ -198,7 +204,9 @@
         self.assertRunOK('-b', '-q', self.pkgdir)
         # Verify the __pycache__ directory contents.
         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)
 
     def test_multiple_runs(self):
@@ -326,7 +334,7 @@
         f2 = script_helper.make_script(self.pkgdir, 'f2', '')
         f3 = script_helper.make_script(self.pkgdir, 'f3', '')
         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'))
         script_helper.kill_python(p)
         self.assertNotCompiled(f1)

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list