fixtures: make FixtureRequest abstract, add TopRequest subclass

Fix #11218.
This commit is contained in:
Ran Benita
2023-07-16 00:37:33 +03:00
parent 556e075d23
commit 9e164fc4fe
6 changed files with 148 additions and 96 deletions

View File

@@ -2,6 +2,7 @@ from pathlib import Path
import pytest
from _pytest.compat import LEGACY_PATH
from _pytest.fixtures import TopRequest
from _pytest.legacypath import TempdirFactory
from _pytest.legacypath import Testdir
@@ -91,7 +92,7 @@ def test_fixturerequest_getmodulepath(pytester: pytest.Pytester) -> None:
modcol = pytester.getmodulecol("def test_somefunc(): pass")
(item,) = pytester.genitems([modcol])
assert isinstance(item, pytest.Function)
req = pytest.FixtureRequest(item, _ispytest=True)
req = TopRequest(item, _ispytest=True)
assert req.path == modcol.path
assert req.fspath == modcol.fspath # type: ignore[attr-defined]