Add test coverage to test rewrite

This commit is contained in:
Brett Holman 2022-01-18 09:46:06 -07:00
parent fe1f0e5376
commit 3f44b4078c
2 changed files with 23 additions and 0 deletions

View File

@ -0,0 +1 @@
Add test coverage to assertion rewrite path.

View File

@ -1123,6 +1123,28 @@ class TestAssertionRewriteHookDetails:
assert _read_pyc(source, pyc) is None # no error
def test_read_pyc_success(self, tmp_path: Path, pytester: Pytester) -> None:
"""
Ensure that the _rewrite_test() -> _write_pyc() produces a pyc file
that can be properly read with _read_pyc()
"""
from _pytest.assertion import AssertionState
from _pytest.assertion.rewrite import _read_pyc
from _pytest.assertion.rewrite import _rewrite_test
from _pytest.assertion.rewrite import _write_pyc
config = pytester.parseconfig()
state = AssertionState(config, "rewrite")
fn = tmp_path / "source.py"
pyc = Path(str(fn) + "c")
fn.write_text("def test(): assert True")
source_stat, co = _rewrite_test(fn, config)
_write_pyc(state, co, source_stat, pyc)
assert _read_pyc(fn, pyc, state.trace) is not None
def test_read_pyc_more_invalid(self, tmp_path: Path) -> None:
from _pytest.assertion.rewrite import _read_pyc