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:
|
if not running_xdist:
|
||||||
self.write_ensure_prefix(line, word, **markup)
|
self.write_ensure_prefix(line, word, **markup)
|
||||||
if rep.skipped or hasattr(report, "wasxfail"):
|
if rep.skipped or hasattr(report, "wasxfail"):
|
||||||
|
reason = _get_raw_skip_reason(rep)
|
||||||
|
if self.config.option.verbose < 2:
|
||||||
available_width = (
|
available_width = (
|
||||||
(self._tw.fullwidth - self._tw.width_of_current_line)
|
(self._tw.fullwidth - self._tw.width_of_current_line)
|
||||||
- len(" [100%]")
|
- len(" [100%]")
|
||||||
- 1
|
- 1
|
||||||
)
|
)
|
||||||
reason = _get_raw_skip_reason(rep)
|
formatted_reason = _format_trimmed(
|
||||||
reason_ = _format_trimmed(" ({})", reason, available_width)
|
" ({})", reason, available_width
|
||||||
if reason and reason_ is not None:
|
)
|
||||||
self._tw.write(reason_)
|
else:
|
||||||
|
formatted_reason = f" ({reason})"
|
||||||
|
|
||||||
|
if reason and formatted_reason is not None:
|
||||||
|
self._tw.write(formatted_reason)
|
||||||
if self._show_progress_info:
|
if self._show_progress_info:
|
||||||
self._write_progress_information_filling_space()
|
self._write_progress_information_filling_space()
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -385,11 +385,22 @@ class TestTerminal:
|
||||||
|
|
||||||
def test_10():
|
def test_10():
|
||||||
pytest.xfail("It's 🕙 o'clock")
|
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)
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
result = pytester.runpytest("-v")
|
|
||||||
result.stdout.fnmatch_lines(
|
common_output = [
|
||||||
[
|
|
||||||
"test_verbose_skip_reason.py::test_1 SKIPPED (123) *",
|
"test_verbose_skip_reason.py::test_1 SKIPPED (123) *",
|
||||||
"test_verbose_skip_reason.py::test_2 XPASS (456) *",
|
"test_verbose_skip_reason.py::test_2 XPASS (456) *",
|
||||||
"test_verbose_skip_reason.py::test_3 XFAIL (789) *",
|
"test_verbose_skip_reason.py::test_3 XFAIL (789) *",
|
||||||
|
@ -401,6 +412,29 @@ class TestTerminal:
|
||||||
"test_verbose_skip_reason.py::test_9 XFAIL *",
|
"test_verbose_skip_reason.py::test_9 XFAIL *",
|
||||||
"test_verbose_skip_reason.py::test_10 XFAIL (It's 🕙 o'clock) *",
|
"test_verbose_skip_reason.py::test_10 XFAIL (It's 🕙 o'clock) *",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
result = pytester.runpytest("-v")
|
||||||
|
result.stdout.fnmatch_lines(
|
||||||
|
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