From 4ce55a2353e07962280181df40af0135aef1cf51 Mon Sep 17 00:00:00 2001 From: Pablo Galindo Salgado Date: Fri, 8 Oct 2021 00:50:10 +0100 Subject: [3.10] bpo-45408: Don't override previous tokenizer errors in the second parser pass (GH-28812). (GH-28813) (cherry picked from commit 0219017df7ec41839fd0d56a3076b5f09c58d313) Co-authored-by: Pablo Galindo Salgado --- Lib/test/test_ast.py | 8 ++++++++ Lib/test/test_exceptions.py | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'Lib/test') diff --git a/Lib/test/test_ast.py b/Lib/test/test_ast.py index 326f3ab2be..39fc7e9673 100644 --- a/Lib/test/test_ast.py +++ b/Lib/test/test_ast.py @@ -1044,6 +1044,14 @@ Module( with self.assertRaisesRegex(ValueError, msg): ast.literal_eval(node) + def test_literal_eval_syntax_errors(self): + msg = "unexpected character after line continuation character" + with self.assertRaisesRegex(SyntaxError, msg): + ast.literal_eval(r''' + \ + (\ + \ ''') + def test_bad_integer(self): # issue13436: Bad error message with invalid numeric values body = [ast.ImportFrom(module='time', diff --git a/Lib/test/test_exceptions.py b/Lib/test/test_exceptions.py index d04e5f5573..4213dabfd8 100644 --- a/Lib/test/test_exceptions.py +++ b/Lib/test/test_exceptions.py @@ -223,7 +223,7 @@ class ExceptionTests(unittest.TestCase): check('x = "a', 1, 5) check('lambda x: x = 2', 1, 1) check('f{a + b + c}', 1, 2) - check('[file for str(file) in []\n])', 2, 2) + check('[file for str(file) in []\n])', 1, 11) check('a = « hello » « world »', 1, 5) check('[\nfile\nfor str(file)\nin\n[]\n]', 3, 5) check('[file for\n str(file) in []]', 2, 2) -- cgit v1.2.1