@@ -244,7 +244,7 @@ def __init__(self, config: Config, file=None) -> None:
244244
245245 self .config = config
246246 self ._numcollected = 0
247- self ._testscollected = None # type: Optional[int ]
247+ self ._session = None # type: Optional[Session ]
248248 self ._showfspath = None
249249
250250 self .stats = {} # type: Dict[str, List[Any]]
@@ -467,18 +467,13 @@ def pytest_runtest_logreport(self, report: TestReport) -> None:
467467
468468 @property
469469 def _is_last_item (self ):
470- return len (self ._progress_nodeids_reported ) == self ._testscollected
471-
472- # XXX
473- if "xdist" in sys .modules :
474-
475- def pytest_xdist_node_collection_finished (self , node , ids ):
476- self ._testscollected = len (ids )
470+ return len (self ._progress_nodeids_reported ) == self ._session .testscollected
477471
478472 def pytest_runtest_logfinish (self , nodeid ):
473+ assert self ._session
479474 if self .verbosity <= 0 and self ._show_progress_info :
480475 if self ._show_progress_info == "count" :
481- num_tests = self ._testscollected
476+ num_tests = self ._session . testscollected
482477 progress_length = len (" [{}/{}]" .format (str (num_tests ), str (num_tests )))
483478 else :
484479 progress_length = len (" [100%]" )
@@ -496,7 +491,8 @@ def pytest_runtest_logfinish(self, nodeid):
496491 self ._tw .write (msg + "\n " , ** {main_color : True })
497492
498493 def _get_progress_information_message (self ) -> str :
499- collected = self ._testscollected
494+ assert self ._session
495+ collected = self ._session .testscollected
500496 if self ._show_progress_info == "count" :
501497 if collected :
502498 progress = self ._progress_nodeids_reported
@@ -587,6 +583,7 @@ def report_collect(self, final=False):
587583
588584 @pytest .hookimpl (trylast = True )
589585 def pytest_sessionstart (self , session : Session ) -> None :
586+ self ._session = session
590587 self ._sessionstarttime = time .time ()
591588 if not self .showheader :
592589 return
@@ -634,9 +631,7 @@ def pytest_report_header(self, config):
634631 result .append ("plugins: %s" % ", " .join (_plugin_nameversions (plugininfo )))
635632 return result
636633
637- def pytest_collection_finish (self , session : Session ):
638- self ._testscollected = len (session .items )
639-
634+ def pytest_collection_finish (self , session ):
640635 self .report_collect (True )
641636
642637 if self .config .getoption ("collectonly" ):
0 commit comments