parent
9950fdc3eb
commit
6843c64a95
|
@ -80,12 +80,12 @@ class FuncargRequest:
|
|||
self._pyfuncitem = pyfuncitem
|
||||
self.argname = argname
|
||||
self.function = pyfuncitem.obj
|
||||
self.module = pyfuncitem.getmodulecollector().obj
|
||||
self.module = pyfuncitem._getparent(py.test.collect.Module).obj
|
||||
self.cls = getattr(self.function, 'im_class', None)
|
||||
self.config = pyfuncitem.config
|
||||
self.fspath = pyfuncitem.fspath
|
||||
self._plugins = self.config.pluginmanager.getplugins()
|
||||
self._plugins.append(pyfuncitem.getmodulecollector().obj)
|
||||
self._plugins.append(self.module)
|
||||
self._provider = self.config.pluginmanager.listattr(
|
||||
plugins=self._plugins,
|
||||
attrname=self._argprefix + str(argname)
|
||||
|
|
|
@ -38,10 +38,6 @@ class PyobjMixin(object):
|
|||
def _getobj(self):
|
||||
return getattr(self.parent.obj, self.name)
|
||||
|
||||
def getmodulecollector(self):
|
||||
return self._getparent(Module)
|
||||
def getclasscollector(self):
|
||||
return self._getparent(Class)
|
||||
def _getparent(self, cls):
|
||||
current = self
|
||||
while current and not isinstance(current, cls):
|
||||
|
@ -167,10 +163,10 @@ class PyCollectorMixin(PyobjMixin, py.test.collect.Collector):
|
|||
return self._genfunctions(name, obj)
|
||||
|
||||
def _genfunctions(self, name, funcobj):
|
||||
module = self.getmodulecollector().obj
|
||||
module = self._getparent(Module).obj
|
||||
# due to _buildname2items funcobj is the raw function, we need
|
||||
# to work to get at the class
|
||||
clscol = self.getclasscollector()
|
||||
clscol = self._getparent(Class)
|
||||
cls = clscol and clscol.obj or None
|
||||
funcspec = funcargs.FuncSpecs(funcobj, config=self.config, cls=cls, module=module)
|
||||
gentesthook = self.config.hook.pytest_genfunc.clone(extralookup=module)
|
||||
|
|
Loading…
Reference in New Issue