mirror of
https://github.com/python/cpython.git
synced 2025-11-02 03:01:58 +00:00
bpo-40334: Rename PyConfig.use_peg to _use_peg_parser (GH-19670)
* Rename PyConfig.use_peg to _use_peg_parser * Document PyConfig._use_peg_parser and mark it a deprecated * Mark -X oldparser option and PYTHONOLDPARSER env var as deprecated in the documentation. * Add use_old_parser() and skip_if_new_parser() to test.support * Remove sys.flags.use_peg: use_old_parser() uses _testinternalcapi.get_configs() instead. * Enhance test_embed tests * subprocess._args_from_interpreter_flags() copies -X oldparser
This commit is contained in:
parent
a25f3c4c8f
commit
1def7754b7
26 changed files with 83 additions and 54 deletions
|
|
@ -5,7 +5,7 @@ import pickle
|
|||
import unittest
|
||||
import sys
|
||||
|
||||
from test.support import check_syntax_error
|
||||
from test.support import check_syntax_error, use_old_parser
|
||||
|
||||
|
||||
def global_pos_only_f(a, b, /):
|
||||
|
|
@ -24,7 +24,7 @@ class PositionalOnlyTestCase(unittest.TestCase):
|
|||
compile(codestr + "\n", "<test>", "single")
|
||||
|
||||
def test_invalid_syntax_errors(self):
|
||||
if not sys.flags.use_peg:
|
||||
if use_old_parser():
|
||||
check_syntax_error(self, "def f(a, b = 5, /, c): pass", "non-default argument follows default argument")
|
||||
check_syntax_error(self, "def f(a = 5, b, /, c): pass", "non-default argument follows default argument")
|
||||
check_syntax_error(self, "def f(a = 5, b=1, /, c, *, d=2): pass", "non-default argument follows default argument")
|
||||
|
|
@ -47,7 +47,7 @@ class PositionalOnlyTestCase(unittest.TestCase):
|
|||
check_syntax_error(self, "def f(a, *, c, /, d, e): pass")
|
||||
|
||||
def test_invalid_syntax_errors_async(self):
|
||||
if not sys.flags.use_peg:
|
||||
if use_old_parser():
|
||||
check_syntax_error(self, "async def f(a, b = 5, /, c): pass", "non-default argument follows default argument")
|
||||
check_syntax_error(self, "async def f(a = 5, b, /, c): pass", "non-default argument follows default argument")
|
||||
check_syntax_error(self, "async def f(a = 5, b=1, /, c, d=2): pass", "non-default argument follows default argument")
|
||||
|
|
@ -236,7 +236,7 @@ class PositionalOnlyTestCase(unittest.TestCase):
|
|||
self.assertEqual(x(1, 2), 3)
|
||||
|
||||
def test_invalid_syntax_lambda(self):
|
||||
if not sys.flags.use_peg:
|
||||
if use_old_parser():
|
||||
check_syntax_error(self, "lambda a, b = 5, /, c: None", "non-default argument follows default argument")
|
||||
check_syntax_error(self, "lambda a = 5, b, /, c: None", "non-default argument follows default argument")
|
||||
check_syntax_error(self, "lambda a = 5, b, /: None", "non-default argument follows default argument")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue