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:
		
							parent
							
								
									e1ad1a14af
								
							
						
					
					
						commit
						8c9efd8608
					
				| 
						 | 
				
			
			@ -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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue