typing: FSHookProxy/gethookproxy

Taken out of https://github.com/pytest-dev/pytest/pull/6556.
This commit is contained in:
Ran Benita 2020-01-27 20:57:32 +01:00 committed by Daniel Hahler
parent e2934c3f8c
commit ae5d16be10
3 changed files with 8 additions and 5 deletions

View File

@ -436,7 +436,7 @@ class Session(nodes.FSCollector):
def isinitpath(self, path):
return path in self._initialpaths
def gethookproxy(self, fspath):
def gethookproxy(self, fspath: py.path.local):
return super()._gethookproxy(fspath)
def perform_collect(self, args=None, genitems=True):

View File

@ -19,6 +19,7 @@ from _pytest.compat import cached_property
from _pytest.compat import getfslineno
from _pytest.compat import TYPE_CHECKING
from _pytest.config import Config
from _pytest.config import PytestPluginManager
from _pytest.fixtures import FixtureDef
from _pytest.fixtures import FixtureLookupError
from _pytest.fixtures import FixtureLookupErrorRepr
@ -394,12 +395,14 @@ def _check_initialpaths_for_relpath(session, fspath):
class FSHookProxy:
def __init__(self, fspath, pm, remove_mods):
def __init__(
self, fspath: py.path.local, pm: PytestPluginManager, remove_mods
) -> None:
self.fspath = fspath
self.pm = pm
self.remove_mods = remove_mods
def __getattr__(self, name):
def __getattr__(self, name: str):
x = self.pm.subset_hook_caller(name, remove_plugins=self.remove_mods)
self.__dict__[name] = x
return x
@ -431,7 +434,7 @@ class FSCollector(Collector):
self._norecursepatterns = self.config.getini("norecursedirs")
def _gethookproxy(self, fspath):
def _gethookproxy(self, fspath: py.path.local):
# check if we have the common case of running
# hooks with all conftest.py files
pm = self.config.pluginmanager

View File

@ -578,7 +578,7 @@ class Package(Module):
func = partial(_call_with_optional_argument, teardown_module, self.obj)
self.addfinalizer(func)
def gethookproxy(self, fspath):
def gethookproxy(self, fspath: py.path.local):
return super()._gethookproxy(fspath)
def _collectfile(self, path, handle_dupes=True):