always show full diff in ci
follow-up to #1314, for similar reasons closes #9023
This commit is contained in:
parent
2367e6e9bf
commit
d5c020d8c5
|
@ -0,0 +1,4 @@
|
|||
|
||||
Full diffs are now always shown for equality assertions of iterables when
|
||||
`CI` or ``BUILD_NUMBER`` is found in the environment, even when ``-v`` isn't
|
||||
used.
|
|
@ -287,7 +287,7 @@ def _surrounding_parens_on_own_lines(lines: List[str]) -> None:
|
|||
def _compare_eq_iterable(
|
||||
left: Iterable[Any], right: Iterable[Any], verbose: int = 0
|
||||
) -> List[str]:
|
||||
if not verbose:
|
||||
if not verbose and not running_on_ci():
|
||||
return ["Use -v to get the full diff"]
|
||||
# dynamic import to speedup pytest
|
||||
import difflib
|
||||
|
|
|
@ -13,6 +13,7 @@ import pytest
|
|||
from _pytest import outcomes
|
||||
from _pytest.assertion import truncate
|
||||
from _pytest.assertion import util
|
||||
from _pytest.monkeypatch import MonkeyPatch
|
||||
from _pytest.pytester import Pytester
|
||||
|
||||
|
||||
|
@ -448,6 +449,25 @@ class TestAssert_reprcompare:
|
|||
assert verbose_expl is not None
|
||||
assert "\n".join(verbose_expl).endswith(textwrap.dedent(expected).strip())
|
||||
|
||||
def test_iterable_full_diff_ci(
|
||||
self, monkeypatch: MonkeyPatch, pytester: Pytester
|
||||
) -> None:
|
||||
pytester.makepyfile(
|
||||
r"""
|
||||
def test_full_diff():
|
||||
left = [0, 1]
|
||||
right = [0, 2]
|
||||
assert left == right
|
||||
"""
|
||||
)
|
||||
monkeypatch.setenv("CI", "true")
|
||||
result = pytester.runpytest()
|
||||
result.stdout.fnmatch_lines(["E Full diff:"])
|
||||
|
||||
monkeypatch.delenv("CI", raising=False)
|
||||
result = pytester.runpytest()
|
||||
result.stdout.fnmatch_lines(["E Use -v to get the full diff"])
|
||||
|
||||
def test_list_different_lengths(self) -> None:
|
||||
expl = callequal([0, 1], [0, 1, 2])
|
||||
assert expl is not None
|
||||
|
|
Loading…
Reference in New Issue