| Backport of https://github.com/pytest-dev/py/commit/3305183b964bded36f9cd43976d22524f6ae15b2 |
| |
| --- a/testing/code/test_assertion.py |
| +++ b/testing/code/test_assertion.py |
| @@ -141,7 +141,10 @@ def test_assert_implicit_multiline(): |
| e = exvalue()
|
| assert str(e).find('assert [1, 2, 3] !=') != -1
|
|
|
| -
|
| +@py.test.mark.xfail(py.test.__version__[0] != "2", |
| + reason="broken on modern pytest", |
| + run=False |
| +) |
| def test_assert_with_brokenrepr_arg():
|
| class BrokenRepr:
|
| def __repr__(self): 0 / 0
|
| @@ -278,7 +281,10 @@ def test_assert_raise_alias(testdir): |
| ])
|
|
|
|
|
| -@pytest.mark.skipif("sys.version_info < (2,5)")
|
| +@py.test.mark.xfail(py.test.__version__[0] != "2", |
| + reason="broken on modern pytest", |
| + run=False) |
| +@py.test.mark.skipif("sys.version_info < (2,5)") |
| def test_assert_raise_subclass():
|
| class SomeEx(AssertionError):
|
| def __init__(self, *args):
|
| --- a/testing/code/test_excinfo.py |
| +++ b/testing/code/test_excinfo.py |
| @@ -16,6 +16,13 @@ else: |
|
|
| import pytest
|
| pytest_version_info = tuple(map(int, pytest.__version__.split(".")[:3]))
|
| + |
| +broken_on_modern_pytest = pytest.mark.xfail( |
| + pytest_version_info[0] != 2, |
| + reason="this test hasn't been fixed after moving py.code into pytest", |
| + run=False |
| + ) |
| + |
|
|
| class TWMock:
|
| def __init__(self):
|
| @@ -355,6 +362,7 @@ class TestFormattedExcinfo: |
| assert lines[0] == "| def f(x):"
|
| assert lines[1] == " pass"
|
|
|
| + @broken_on_modern_pytest |
| def test_repr_source_excinfo(self):
|
| """ check if indentation is right """
|
| pr = FormattedExcinfo()
|
| @@ -657,6 +665,7 @@ raise ValueError() |
| assert p._makepath(__file__) == __file__
|
| reprtb = p.repr_traceback(excinfo)
|
|
|
| + @broken_on_modern_pytest |
| def test_repr_excinfo_addouterr(self, importasmod):
|
| mod = importasmod("""
|
| def entry():
|
| @@ -699,6 +708,7 @@ raise ValueError() |
| assert reprtb.extraline == "!!! Recursion detected (same locals & position)"
|
| assert str(reprtb)
|
|
|
| + @broken_on_modern_pytest |
| def test_tb_entry_AssertionError(self, importasmod):
|
| # probably this test is a bit redundant
|
| # as py/magic/testing/test_assertion.py
|
| @@ -742,6 +752,7 @@ raise ValueError() |
| x = py.builtin._totext(MyRepr())
|
| assert x == py.builtin._totext("я", "utf-8")
|
|
|
| + @broken_on_modern_pytest |
| def test_toterminal_long(self, importasmod):
|
| mod = importasmod("""
|
| def g(x):
|
| @@ -768,6 +779,7 @@ raise ValueError() |
| assert tw.lines[9] == ""
|
| assert tw.lines[10].endswith("mod.py:3: ValueError")
|
|
|
| + @broken_on_modern_pytest |
| def test_toterminal_long_missing_source(self, importasmod, tmpdir):
|
| mod = importasmod("""
|
| def g(x):
|
| @@ -793,6 +805,7 @@ raise ValueError() |
| assert tw.lines[7] == ""
|
| assert tw.lines[8].endswith("mod.py:3: ValueError")
|
|
|
| + @broken_on_modern_pytest |
| def test_toterminal_long_incomplete_source(self, importasmod, tmpdir):
|
| mod = importasmod("""
|
| def g(x):
|
| @@ -818,6 +831,7 @@ raise ValueError() |
| assert tw.lines[7] == ""
|
| assert tw.lines[8].endswith("mod.py:3: ValueError")
|
|
|
| + @broken_on_modern_pytest |
| def test_toterminal_long_filenames(self, importasmod):
|
| mod = importasmod("""
|
| def f():
|
| @@ -863,6 +877,7 @@ raise ValueError() |
| assert tw.stringio.getvalue()
|
|
|
|
|
| + @broken_on_modern_pytest |
| def test_native_style(self):
|
| excinfo = self.excinfo_from_exec("""
|
| assert 0
|
| @@ -877,6 +892,7 @@ raise ValueError() |
| if py.std.sys.version_info >= (2, 5):
|
| assert s.count('assert 0') == 2
|
|
|
| + @broken_on_modern_pytest |
| def test_traceback_repr_style(self, importasmod):
|
| mod = importasmod("""
|
| def f():
|