summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Galindo Salgado <Pablogsal@gmail.com>2021-08-13 10:26:07 (GMT)
committerGitHub <noreply@github.com>2021-08-13 10:26:07 (GMT)
commit282fc5c00787297f1d7a9b7b1469b51e84f485a9 (patch)
tree16765ff5d1b7f24296f4ef9a9967f23a618be174
parent4b86c9c5146c339c689830619be9d29b8f7bf417 (diff)
downloadcpython-282fc5c00787297f1d7a9b7b1469b51e84f485a9.zip
cpython-282fc5c00787297f1d7a9b7b1469b51e84f485a9.tar.gz
cpython-282fc5c00787297f1d7a9b7b1469b51e84f485a9.tar.bz2
[3.9] Fix the test suite for the old parser (GH-27749)
Co-authored-by: Ɓukasz Langa <lukasz@langa.pl>
-rw-r--r--Lib/test/test_exceptions.py3
-rw-r--r--Lib/test/test_fstring.py2
-rw-r--r--Lib/test/test_syntax.py5
3 files changed, 5 insertions, 5 deletions
diff --git a/Lib/test/test_exceptions.py b/Lib/test/test_exceptions.py
index 6dd3d5d..6f192d7 100644
--- a/Lib/test/test_exceptions.py
+++ b/Lib/test/test_exceptions.py
@@ -235,7 +235,8 @@ class ExceptionTests(unittest.TestCase):
""", 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 fbd97ff..518ebdf 100644
--- a/Lib/test/test_fstring.py
+++ b/Lib/test/test_fstring.py
@@ -211,6 +211,7 @@ f'{a * f"-{x()}-"}'"""
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 @@ f'{a * x()} {a * x()} {a * x()}'
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 74d9773..30d8e5a 100644
--- a/Lib/test/test_syntax.py
+++ b/Lib/test/test_syntax.py
@@ -429,9 +429,6 @@ SyntaxError: expression cannot contain assignment, perhaps you meant "=="?
>>> 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