1515from typing import List
1616from typing import Mapping
1717from typing import Optional
18- from typing import Set
1918from typing import Tuple
2019
2120import attr
@@ -258,7 +257,7 @@ def __init__(self, config: Config, file=None) -> None:
258257 self .reportchars = getreportopt (config )
259258 self .hasmarkup = self ._tw .hasmarkup
260259 self .isatty = file .isatty ()
261- self ._progress_nodeids_reported = set () # type: Set[str]
260+ self ._numreported = 0
262261 self ._show_progress_info = self ._determine_show_progress_info ()
263262 self ._collect_report_last_write = None # type: Optional[float]
264263
@@ -437,7 +436,7 @@ def pytest_runtest_logreport(self, report: TestReport) -> None:
437436 else :
438437 self ._tw .write (letter , ** markup )
439438 else :
440- self ._progress_nodeids_reported . add ( rep . nodeid )
439+ self ._numreported += 1
441440 line = self ._locationline (rep .nodeid , * rep .location )
442441 if not running_xdist :
443442 self .write_ensure_prefix (line , word , ** markup )
@@ -467,10 +466,8 @@ def pytest_runtest_logfinish(self, nodeid):
467466
468467 main_color , _ = _get_main_color (self .stats )
469468
470- self ._progress_nodeids_reported .add (nodeid )
471- is_last_item = (
472- len (self ._progress_nodeids_reported ) == self ._session .testscollected
473- )
469+ self ._numreported += 1
470+ is_last_item = self ._numreported == self ._session .testscollected
474471 if is_last_item :
475472 self ._write_progress_information_filling_space (color = main_color )
476473 else :
@@ -485,16 +482,13 @@ def _get_progress_information_message(self) -> str:
485482 collected = self ._session .testscollected
486483 if self ._show_progress_info == "count" :
487484 if collected :
488- progress = self ._progress_nodeids_reported
489485 counter_format = "{{:{}d}}" .format (len (str (collected )))
490486 format_string = " [{}/{{}}]" .format (counter_format )
491- return format_string .format (len ( progress ) , collected )
487+ return format_string .format (self . _numreported , collected )
492488 return " [ {} / {} ]" .format (collected , collected )
493489 else :
494490 if collected :
495- return " [{:3d}%]" .format (
496- len (self ._progress_nodeids_reported ) * 100 // collected
497- )
491+ return " [{:3d}%]" .format (self ._numreported * 100 // collected )
498492 return " [100%]"
499493
500494 def _write_progress_information_filling_space (self , color = None ):
0 commit comments