[Python-checkins] [3.9] Fix the test suite for the old parser (GH-27749)

ambv webhook-mailer at python.org
Fri Aug 13 06:26:12 EDT 2021


https://github.com/python/cpython/commit/282fc5c00787297f1d7a9b7b1469b51e84f485a9
commit: 282fc5c00787297f1d7a9b7b1469b51e84f485a9
branch: 3.9
author: Pablo Galindo Salgado <Pablogsal at gmail.com>
committer: ambv <lukasz at langa.pl>
date: 2021-08-13T12:26:07+02:00
summary:

[3.9] Fix the test suite for the old parser (GH-27749)

Co-authored-by: Łukasz Langa <lukasz at langa.pl>

files:
M Lib/test/test_exceptions.py
M Lib/test/test_fstring.py
M Lib/test/test_syntax.py

diff --git a/Lib/test/test_exceptions.py b/Lib/test/test_exceptions.py
index 6dd3d5d909422..6f192d7d079eb 100644
--- a/Lib/test/test_exceptions.py
+++ b/Lib/test/test_exceptions.py
@@ -235,7 +235,8 @@ def baz():
             """, 9, 20)
         check("pass\npass\npass\n(1+)\npass\npass\npass", 4, 4)
         check("(1+)", 1, 4)
-        check(b"\xef\xbb\xbf#coding: utf8\nprint('\xe6\x88\x91')\n", 0, -1)
+        check(b"\xef\xbb\xbf#coding: utf8\nprint('\xe6\x88\x91')\n", 0,
+              0 if support.use_old_parser() else -1)
 
         # Errors thrown by symtable.c
         check('x = [(yield i) for i in range(3)]', 1, 5)
diff --git a/Lib/test/test_fstring.py b/Lib/test/test_fstring.py
index fbd97ffbdec80..518ebdf16c1c6 100644
--- a/Lib/test/test_fstring.py
+++ b/Lib/test/test_fstring.py
@@ -211,6 +211,7 @@ def test_ast_line_numbers_nested(self):
         self.assertEqual(call.lineno, 3)
         self.assertEqual(call.col_offset, 11)
 
+    @unittest.skipIf(use_old_parser(), "The old parser gets the offsets incorrectly for fstrings")
     def test_ast_line_numbers_duplicate_expression(self):
         expr = """
 a = 10
@@ -277,6 +278,7 @@ def test_ast_line_numbers_duplicate_expression(self):
         self.assertEqual(binop.left.col_offset, 23)
         self.assertEqual(binop.right.col_offset, 27)
 
+    @unittest.skipIf(use_old_parser(), "The old parser gets the offsets incorrectly for fstrings")
     def test_ast_numbers_fstring_with_formatting(self):
 
         t = ast.parse('f"Here is that pesky {xxx:.3f} again"')
diff --git a/Lib/test/test_syntax.py b/Lib/test/test_syntax.py
index 74d97735e5fc4..30d8e5a71800f 100644
--- a/Lib/test/test_syntax.py
+++ b/Lib/test/test_syntax.py
@@ -429,9 +429,6 @@
 >>> f((x)=2)
 Traceback (most recent call last):
 SyntaxError: expression cannot contain assignment, perhaps you meant "=="?
->>> f(True=2)
-Traceback (most recent call last):
-SyntaxError: expression cannot contain assignment, perhaps you meant "=="?
 >>> f(__debug__=1)
 Traceback (most recent call last):
 SyntaxError: cannot assign to __debug__
@@ -981,7 +978,7 @@ def func2():
     def test_invalid_line_continuation_error_position(self):
         self._check_error(r"a = 3 \ 4",
                           "unexpected character after line continuation character",
-                          lineno=1, offset=9)
+                          lineno=1, offset=(10 if support.use_old_parser() else 9))
 
     def test_invalid_line_continuation_left_recursive(self):
         # Check bpo-42218: SyntaxErrors following left-recursive rules



More information about the Python-checkins mailing list