@@ -123,7 +123,7 @@ def __init__(self, ns: Namespace, _add_python_opts: bool = False):
123123 self .python_cmd = None
124124 self .coverage : bool = ns .trace
125125 self .coverage_dir : StrPath | None = ns .coverdir
126- self .tmp_dir : StrPath | None = ns .tempdir
126+ self ._tmp_dir : StrPath | None = ns .tempdir
127127
128128 # Randomize
129129 self .randomize : bool = ns .randomize
@@ -159,6 +159,8 @@ def log(self, line: str = '') -> None:
159159 self .logger .log (line )
160160
161161 def find_tests (self , tests : TestList | None = None ) -> tuple [TestTuple , TestList | None ]:
162+ if tests is None :
163+ tests = []
162164 if self .single_test_run :
163165 self .next_single_filename = os .path .join (self .tmp_dir , 'pynexttest' )
164166 try :
@@ -454,6 +456,11 @@ def finalize_tests(self, coverage: trace.CoverageResults | None) -> None:
454456 self .results .write_junit (self .junit_filename )
455457
456458 def display_summary (self ) -> None :
459+ if self .first_runtests is None :
460+ raise ValueError (
461+ "Should never call `display_summary()` before calling `_run_test()`"
462+ )
463+
457464 duration = time .perf_counter () - self .logger .start_time
458465 filtered = bool (self .match_tests )
459466
@@ -708,7 +715,15 @@ def _init(self):
708715
709716 strip_py_suffix (self .cmdline_args )
710717
711- self .tmp_dir = get_temp_dir (self .tmp_dir )
718+ self ._tmp_dir = get_temp_dir (self ._tmp_dir )
719+
720+ @property
721+ def tmp_dir (self ) -> StrPath :
722+ if self ._tmp_dir is None :
723+ raise ValueError (
724+ "Should never use `.tmp_dir` before calling `.main()`"
725+ )
726+ return self ._tmp_dir
712727
713728 def main (self , tests : TestList | None = None ) -> NoReturn :
714729 if self .want_add_python_opts :
0 commit comments