mirror of https://github.com/python/cpython
gh-95066: ast: Replace assert with ValueError (GH-95072)
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
This commit is contained in:
parent
0d35a59ce3
commit
a5dde0fe4f
|
@ -42,7 +42,8 @@ def parse(source, filename='<unknown>', mode='exec', *,
|
|||
flags |= PyCF_TYPE_COMMENTS
|
||||
if isinstance(feature_version, tuple):
|
||||
major, minor = feature_version # Should be a 2-tuple.
|
||||
assert major == 3
|
||||
if major != 3:
|
||||
raise ValueError(f"Unsupported major version: {major}")
|
||||
feature_version = minor
|
||||
elif feature_version is None:
|
||||
feature_version = -1
|
||||
|
|
|
@ -756,6 +756,12 @@ class AST_Tests(unittest.TestCase):
|
|||
with self.assertRaises(SyntaxError):
|
||||
ast.parse('(x := 0)', feature_version=(3, 7))
|
||||
|
||||
def test_invalid_major_feature_version(self):
|
||||
with self.assertRaises(ValueError):
|
||||
ast.parse('pass', feature_version=(2, 7))
|
||||
with self.assertRaises(ValueError):
|
||||
ast.parse('pass', feature_version=(4, 0))
|
||||
|
||||
def test_constant_as_name(self):
|
||||
for constant in "True", "False", "None":
|
||||
expr = ast.Expression(ast.Name(constant, ast.Load()))
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Replaced assert with exception in :func:`ast.parse`, when ``feature_version`` has an invalid major version. Patch by Shantanu Jain.
|
Loading…
Reference in New Issue