Do not truncate crash messages in short test summary on CI (#9933)
Closes #9920
This commit is contained in:
parent
69fb79e741
commit
56c266640e
|
@ -0,0 +1 @@
|
||||||
|
Display full crash messages in ``short test summary info``, when runng in a CI environment.
|
|
@ -37,6 +37,7 @@ from _pytest._code import ExceptionInfo
|
||||||
from _pytest._code.code import ExceptionRepr
|
from _pytest._code.code import ExceptionRepr
|
||||||
from _pytest._io import TerminalWriter
|
from _pytest._io import TerminalWriter
|
||||||
from _pytest._io.wcwidth import wcswidth
|
from _pytest._io.wcwidth import wcswidth
|
||||||
|
from _pytest.assertion.util import running_on_ci
|
||||||
from _pytest.compat import final
|
from _pytest.compat import final
|
||||||
from _pytest.config import _PluggyPlugin
|
from _pytest.config import _PluggyPlugin
|
||||||
from _pytest.config import Config
|
from _pytest.config import Config
|
||||||
|
@ -1315,8 +1316,11 @@ def _get_line_with_reprcrash_message(
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
available_width = tw.fullwidth - line_width
|
if not running_on_ci():
|
||||||
msg = _format_trimmed(" - {}", msg, available_width)
|
available_width = tw.fullwidth - line_width
|
||||||
|
msg = _format_trimmed(" - {}", msg, available_width)
|
||||||
|
else:
|
||||||
|
msg = f" - {msg}"
|
||||||
if msg is not None:
|
if msg is not None:
|
||||||
line += msg
|
line += msg
|
||||||
|
|
||||||
|
|
|
@ -1139,7 +1139,21 @@ class TestTerminalFunctional:
|
||||||
assert result.stdout.lines.count(expected) == 1
|
assert result.stdout.lines.count(expected) == 1
|
||||||
|
|
||||||
|
|
||||||
def test_fail_extra_reporting(pytester: Pytester, monkeypatch) -> None:
|
@pytest.mark.parametrize(
|
||||||
|
("use_ci", "expected_message"),
|
||||||
|
(
|
||||||
|
(True, f"- AssertionError: {'this_failed'*100}"),
|
||||||
|
(False, "- AssertionError: this_failedt..."),
|
||||||
|
),
|
||||||
|
ids=("on CI", "not on CI"),
|
||||||
|
)
|
||||||
|
def test_fail_extra_reporting(
|
||||||
|
pytester: Pytester, monkeypatch, use_ci: bool, expected_message: str
|
||||||
|
) -> None:
|
||||||
|
if use_ci:
|
||||||
|
monkeypatch.setenv("CI", "true")
|
||||||
|
else:
|
||||||
|
monkeypatch.delenv("CI", raising=False)
|
||||||
monkeypatch.setenv("COLUMNS", "80")
|
monkeypatch.setenv("COLUMNS", "80")
|
||||||
pytester.makepyfile("def test_this(): assert 0, 'this_failed' * 100")
|
pytester.makepyfile("def test_this(): assert 0, 'this_failed' * 100")
|
||||||
result = pytester.runpytest("-rN")
|
result = pytester.runpytest("-rN")
|
||||||
|
@ -1148,7 +1162,7 @@ def test_fail_extra_reporting(pytester: Pytester, monkeypatch) -> None:
|
||||||
result.stdout.fnmatch_lines(
|
result.stdout.fnmatch_lines(
|
||||||
[
|
[
|
||||||
"*test summary*",
|
"*test summary*",
|
||||||
"FAILED test_fail_extra_reporting.py::test_this - AssertionError: this_failedt...",
|
f"FAILED test_fail_extra_reporting.py::test_this {expected_message}",
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue