gh-106368: Argument clinic: add tests for more failure paths (#107731)

This commit is contained in:
Alex Waygood 2023-08-08 13:12:49 +01:00 • committed by GitHub
parent 5df8b0d5c7
commit 7c5153de5a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 97 additions and 16 deletions

View file

@ -5207,13 +5207,14 @@ class DSLParser:
# but at least make an attempt at ensuring it's a valid expression.
try:
value = eval(default)
if value is unspecified:
fail("'unspecified' is not a legal default value!")
except NameError:
pass # probably a named constant
except Exception as e:
fail("Malformed expression given as default value "
f"{default!r} caused {e!r}")
else:
if value is unspecified:
fail("'unspecified' is not a legal default value!")
if bad:
fail(f"Unsupported expression as default value: {default!r}")