@@ -421,6 +421,7 @@ def collect(self) -> Iterable[Union[nodes.Item, nodes.Collector]]:
421
421
dicts .append (basecls .__dict__ )
422
422
seen = set () # type: Set[str]
423
423
values = [] # type: List[Union[nodes.Item, nodes.Collector]]
424
+ ihook = self .ihook
424
425
for dic in dicts :
425
426
# Note: seems like the dict can change during iteration -
426
427
# be careful not to remove the list() without consideration.
@@ -430,12 +431,15 @@ def collect(self) -> Iterable[Union[nodes.Item, nodes.Collector]]:
430
431
if name in seen :
431
432
continue
432
433
seen .add (name )
433
- res = self ._makeitem (name , obj )
434
+ res = ihook .pytest_pycollect_makeitem (
435
+ collector = self , name = name , obj = obj
436
+ )
434
437
if res is None :
435
438
continue
436
- if not isinstance (res , list ):
437
- res = [res ]
438
- values .extend (res )
439
+ elif isinstance (res , list ):
440
+ values .extend (res )
441
+ else :
442
+ values .append (res )
439
443
440
444
def sort_key (item ):
441
445
fspath , lineno , _ = item .reportinfo ()
@@ -444,17 +448,6 @@ def sort_key(item):
444
448
values .sort (key = sort_key )
445
449
return values
446
450
447
- def _makeitem (
448
- self , name : str , obj : object
449
- ) -> Union [
450
- None , nodes .Item , nodes .Collector , List [Union [nodes .Item , nodes .Collector ]]
451
- ]:
452
- # assert self.ihook.fspath == self.fspath, self
453
- item = self .ihook .pytest_pycollect_makeitem (
454
- collector = self , name = name , obj = obj
455
- ) # type: Union[None, nodes.Item, nodes.Collector, List[Union[nodes.Item, nodes.Collector]]]
456
- return item
457
-
458
451
def _genfunctions (self , name : str , funcobj ) -> Iterator ["Function" ]:
459
452
modulecol = self .getparent (Module )
460
453
assert modulecol is not None
0 commit comments