With -vv, display the full skip/xfail reason instead of "..." (#9537)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
parent
382e3d346e
commit
a17e708352
|
@ -0,0 +1 @@
|
|||
When ``-vv`` is given on command line, show skipping and xfail reasons in full instead of truncating them to fit the terminal width.
|
|
@ -542,15 +542,21 @@ class TerminalReporter:
|
|||
if not running_xdist:
|
||||
self.write_ensure_prefix(line, word, **markup)
|
||||
if rep.skipped or hasattr(report, "wasxfail"):
|
||||
available_width = (
|
||||
(self._tw.fullwidth - self._tw.width_of_current_line)
|
||||
- len(" [100%]")
|
||||
- 1
|
||||
)
|
||||
reason = _get_raw_skip_reason(rep)
|
||||
reason_ = _format_trimmed(" ({})", reason, available_width)
|
||||
if reason and reason_ is not None:
|
||||
self._tw.write(reason_)
|
||||
if self.config.option.verbose < 2:
|
||||
available_width = (
|
||||
(self._tw.fullwidth - self._tw.width_of_current_line)
|
||||
- len(" [100%]")
|
||||
- 1
|
||||
)
|
||||
formatted_reason = _format_trimmed(
|
||||
" ({})", reason, available_width
|
||||
)
|
||||
else:
|
||||
formatted_reason = f" ({reason})"
|
||||
|
||||
if reason and formatted_reason is not None:
|
||||
self._tw.write(formatted_reason)
|
||||
if self._show_progress_info:
|
||||
self._write_progress_information_filling_space()
|
||||
else:
|
||||
|
|
|
@ -385,21 +385,55 @@ class TestTerminal:
|
|||
|
||||
def test_10():
|
||||
pytest.xfail("It's 🕙 o'clock")
|
||||
|
||||
@pytest.mark.skip(
|
||||
reason="cannot do foobar because baz is missing due to I don't know what"
|
||||
)
|
||||
def test_long_skip():
|
||||
pass
|
||||
|
||||
@pytest.mark.xfail(
|
||||
reason="cannot do foobar because baz is missing due to I don't know what"
|
||||
)
|
||||
def test_long_xfail():
|
||||
print(1 / 0)
|
||||
"""
|
||||
)
|
||||
|
||||
common_output = [
|
||||
"test_verbose_skip_reason.py::test_1 SKIPPED (123) *",
|
||||
"test_verbose_skip_reason.py::test_2 XPASS (456) *",
|
||||
"test_verbose_skip_reason.py::test_3 XFAIL (789) *",
|
||||
"test_verbose_skip_reason.py::test_4 XFAIL *",
|
||||
"test_verbose_skip_reason.py::test_5 SKIPPED (unconditional skip) *",
|
||||
"test_verbose_skip_reason.py::test_6 XPASS *",
|
||||
"test_verbose_skip_reason.py::test_7 SKIPPED *",
|
||||
"test_verbose_skip_reason.py::test_8 SKIPPED (888 is great) *",
|
||||
"test_verbose_skip_reason.py::test_9 XFAIL *",
|
||||
"test_verbose_skip_reason.py::test_10 XFAIL (It's 🕙 o'clock) *",
|
||||
]
|
||||
|
||||
result = pytester.runpytest("-v")
|
||||
result.stdout.fnmatch_lines(
|
||||
[
|
||||
"test_verbose_skip_reason.py::test_1 SKIPPED (123) *",
|
||||
"test_verbose_skip_reason.py::test_2 XPASS (456) *",
|
||||
"test_verbose_skip_reason.py::test_3 XFAIL (789) *",
|
||||
"test_verbose_skip_reason.py::test_4 XFAIL *",
|
||||
"test_verbose_skip_reason.py::test_5 SKIPPED (unconditional skip) *",
|
||||
"test_verbose_skip_reason.py::test_6 XPASS *",
|
||||
"test_verbose_skip_reason.py::test_7 SKIPPED *",
|
||||
"test_verbose_skip_reason.py::test_8 SKIPPED (888 is great) *",
|
||||
"test_verbose_skip_reason.py::test_9 XFAIL *",
|
||||
"test_verbose_skip_reason.py::test_10 XFAIL (It's 🕙 o'clock) *",
|
||||
common_output
|
||||
+ [
|
||||
"test_verbose_skip_reason.py::test_long_skip SKIPPED (cannot *...) *",
|
||||
"test_verbose_skip_reason.py::test_long_xfail XFAIL (cannot *...) *",
|
||||
]
|
||||
)
|
||||
|
||||
result = pytester.runpytest("-vv")
|
||||
result.stdout.fnmatch_lines(
|
||||
common_output
|
||||
+ [
|
||||
(
|
||||
"test_verbose_skip_reason.py::test_long_skip SKIPPED"
|
||||
" (cannot do foobar because baz is missing due to I don't know what) *"
|
||||
),
|
||||
(
|
||||
"test_verbose_skip_reason.py::test_long_xfail XFAIL"
|
||||
" (cannot do foobar because baz is missing due to I don't know what) *"
|
||||
),
|
||||
]
|
||||
)
|
||||
|
||||
|
|
Loading…
Reference in New Issue