Fix pytrace=False and --tb=line reports None (#10905)

Closes #10831.

This fixes a small bug where running tests that contained
`pytest.fail(pytrace=False)` with the `--tb=line` flag set results in
 an output of "None" in the Failures section of the output, and adds
 a test to ensure the behavior is correct.
This commit is contained in:
Alex
2023-04-16 16:31:45 -04:00
committed by GitHub
parent 4eca6063c8
commit 41f57ef95d
4 changed files with 17 additions and 4 deletions

View File

@@ -1539,6 +1539,19 @@ class TestGenericReporting:
s = result.stdout.str()
assert "def test_func2" not in s
def test_tb_crashline_pytrace_false(self, pytester: Pytester, option) -> None:
p = pytester.makepyfile(
"""
import pytest
def test_func1():
pytest.fail('test_func1', pytrace=False)
"""
)
result = pytester.runpytest("--tb=line")
result.stdout.str()
bn = p.name
result.stdout.fnmatch_lines(["*%s:3: Failed: test_func1" % bn])
def test_pytest_report_header(self, pytester: Pytester, option) -> None:
pytester.makeconftest(
"""