]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
rewrite nocaret test to not rely on a specific SyntaxError
authorBenjamin Peterson <benjamin@python.org>
Mon, 20 Sep 2010 21:47:37 +0000 (21:47 +0000)
committerBenjamin Peterson <benjamin@python.org>
Mon, 20 Sep 2010 21:47:37 +0000 (21:47 +0000)
Lib/test/badsyntax_nocaret.py [deleted file]
Lib/test/test_traceback.py

diff --git a/Lib/test/badsyntax_nocaret.py b/Lib/test/badsyntax_nocaret.py
deleted file mode 100644 (file)
index 01ec9ea..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-def f(x):
-    [x for x in x] = x
index 3db8864cfc018df5f3710291e2443ff14c75d8ce..11bdf58090a380e7ecae452ba8a5b07ea7aa9a65 100644 (file)
@@ -5,7 +5,7 @@ from io import StringIO
 import sys
 import unittest
 import re
-from test.support import run_unittest, is_jython, Error, captured_output
+from test.support import run_unittest, Error, captured_output
 from test.support import TESTFN, unlink
 
 import traceback
@@ -29,10 +29,6 @@ class SyntaxTracebackCases(unittest.TestCase):
     def syntax_error_with_caret_2(self):
         compile("1 +\n", "?", "exec")
 
-    def syntax_error_without_caret(self):
-        # XXX why doesn't compile raise the same traceback?
-        import test.badsyntax_nocaret
-
     def syntax_error_bad_indentation(self):
         compile("def spam():\n  print(1)\n print(2)", "?", "exec")
 
@@ -51,13 +47,10 @@ class SyntaxTracebackCases(unittest.TestCase):
         self.assertTrue(err[1].find("+") == err[2].find("^")) # in the right place
 
     def test_nocaret(self):
-        if is_jython:
-            # jython adds a caret in this case (why shouldn't it?)
-            return
-        err = self.get_exception_format(self.syntax_error_without_caret,
-                                        SyntaxError)
+        exc = SyntaxError("error", ("x.py", 23, None, "bad syntax"))
+        err = traceback.format_exception_only(SyntaxError, exc)
         self.assertEqual(len(err), 3)
-        self.assertTrue(err[1].strip() == "[x for x in x] = x")
+        self.assertEqual(err[1].strip(), "bad syntax")
 
     def test_bad_indentation(self):
         err = self.get_exception_format(self.syntax_error_bad_indentation,