Improve coverage for _report_unserialization_failure
This commit is contained in:
parent
ceef0af1ae
commit
2d77018d1b
|
@ -1,3 +1,5 @@
|
|||
from pprint import pprint
|
||||
|
||||
import py
|
||||
import six
|
||||
|
||||
|
@ -258,8 +260,6 @@ class BaseReport(object):
|
|||
|
||||
|
||||
def _report_unserialization_failure(type_name, report_class, reportdict):
|
||||
from pprint import pprint
|
||||
|
||||
url = "https://github.com/pytest-dev/pytest/issues"
|
||||
stream = py.io.TextIO()
|
||||
pprint("-" * 100, stream=stream)
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import pytest
|
||||
from _pytest.pathlib import Path
|
||||
from _pytest.reports import CollectReport
|
||||
from _pytest.reports import TestReport
|
||||
|
@ -219,6 +220,28 @@ class TestReportSerialization(object):
|
|||
assert data["path1"] == str(testdir.tmpdir)
|
||||
assert data["path2"] == str(testdir.tmpdir)
|
||||
|
||||
def test_unserialization_failure(self, testdir):
|
||||
"""Check handling of failure during unserialization of report types."""
|
||||
testdir.makepyfile(
|
||||
"""
|
||||
def test_a():
|
||||
assert False
|
||||
"""
|
||||
)
|
||||
reprec = testdir.inline_run()
|
||||
reports = reprec.getreports("pytest_runtest_logreport")
|
||||
assert len(reports) == 3
|
||||
test_a_call = reports[1]
|
||||
data = test_a_call._to_json()
|
||||
entry = data["longrepr"]["reprtraceback"]["reprentries"][0]
|
||||
assert entry["type"] == "ReprEntry"
|
||||
|
||||
entry["type"] = "Unknown"
|
||||
with pytest.raises(
|
||||
RuntimeError, match="INTERNALERROR: Unknown entry type returned: Unknown"
|
||||
):
|
||||
TestReport._from_json(data)
|
||||
|
||||
|
||||
class TestHooks:
|
||||
"""Test that the hooks are working correctly for plugins"""
|
||||
|
|
Loading…
Reference in New Issue