Kaydet (Commit) 26d64aee authored tarafından Benjamin Peterson's avatar Benjamin Peterson

rewrite nocaret test to not rely on a specific SyntaxError

üst b0b384b7
...@@ -5,7 +5,7 @@ from io import StringIO ...@@ -5,7 +5,7 @@ from io import StringIO
import sys import sys
import unittest import unittest
import re 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 from test.support import TESTFN, unlink
import traceback import traceback
...@@ -29,10 +29,6 @@ class SyntaxTracebackCases(unittest.TestCase): ...@@ -29,10 +29,6 @@ class SyntaxTracebackCases(unittest.TestCase):
def syntax_error_with_caret_2(self): def syntax_error_with_caret_2(self):
compile("1 +\n", "?", "exec") 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): def syntax_error_bad_indentation(self):
compile("def spam():\n print(1)\n print(2)", "?", "exec") compile("def spam():\n print(1)\n print(2)", "?", "exec")
...@@ -51,13 +47,10 @@ class SyntaxTracebackCases(unittest.TestCase): ...@@ -51,13 +47,10 @@ class SyntaxTracebackCases(unittest.TestCase):
self.assertTrue(err[1].find("+") == err[2].find("^")) # in the right place self.assertTrue(err[1].find("+") == err[2].find("^")) # in the right place
def test_nocaret(self): def test_nocaret(self):
if is_jython: exc = SyntaxError("error", ("x.py", 23, None, "bad syntax"))
# jython adds a caret in this case (why shouldn't it?) err = traceback.format_exception_only(SyntaxError, exc)
return
err = self.get_exception_format(self.syntax_error_without_caret,
SyntaxError)
self.assertEqual(len(err), 3) 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): def test_bad_indentation(self):
err = self.get_exception_format(self.syntax_error_bad_indentation, err = self.get_exception_format(self.syntax_error_bad_indentation,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment