Skip to content

Commit 0a75c8e

Browse files
committed
Add a regression test for a more defensive code.FormattedExcinfo.get_source
1 parent 78fb971 commit 0a75c8e

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

testing/code/test_excinfo.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1397,6 +1397,29 @@ def test(tmp_path):
13971397
result.stderr.no_fnmatch_line("*INTERNALERROR*")
13981398

13991399

1400+
def test_regression_nagative_line_index(pytester: Pytester) -> None:
1401+
"""
1402+
With Python 3.10 alphas, there was an INTERNALERROR reported in
1403+
https://github.com/pytest-dev/pytest/pull/8227
1404+
This test ensures it does not regress.
1405+
"""
1406+
pytester.makepyfile(
1407+
"""
1408+
import ast
1409+
import pytest
1410+
1411+
1412+
def test_literal_eval():
1413+
with pytest.raises(ValueError, match="^$"):
1414+
ast.literal_eval("pytest")
1415+
"""
1416+
)
1417+
result = pytester.runpytest()
1418+
result.stdout.fnmatch_lines(["* 1 failed in *"])
1419+
result.stdout.no_fnmatch_line("*INTERNALERROR*")
1420+
result.stderr.no_fnmatch_line("*INTERNALERROR*")
1421+
1422+
14001423
@pytest.mark.usefixtures("limited_recursion_depth")
14011424
def test_exception_repr_extraction_error_on_recursion():
14021425
"""

0 commit comments

Comments
 (0)