Only call _collectfile on package instances

As discussed in #3751, this feels like a hack, pushing it only so we can
see how it fares on CI and if there are better solutions out there
This commit is contained in:
Bruno Oliveira 2018-07-31 19:06:30 -03:00
parent e1ad1a14af
commit 8c9efd8608
2 changed files with 4 additions and 2 deletions

View File

@ -482,6 +482,8 @@ class Session(nodes.FSCollector):
self.trace.root.indent -= 1
def _collect(self, arg):
from _pytest.python import Package
names = self._parsearg(arg)
argpath = names.pop(0)
paths = []
@ -503,7 +505,7 @@ class Session(nodes.FSCollector):
root = self._node_cache[pkginit]
else:
col = root._collectfile(pkginit)
if col:
if col and isinstance(col, Package):
root = col[0]
self._node_cache[root.fspath] = root

View File

@ -647,7 +647,7 @@ class Test_getinitialnodes(object):
col = testdir.getnode(config, x)
assert isinstance(col, pytest.Module)
assert col.name == "x.py"
assert col.parent.parent.parent is None
assert col.parent.parent is None
for col in col.listchain():
assert col.config is config