@@ -166,11 +166,8 @@ def sum_range(limit):
166166
167167def cant_trace_msg (concurrency : str , the_module : ModuleType | None ) -> str | None :
168168 """What might coverage.py say about a concurrency setting and imported module?"""
169- # In the concurrency choices, "multiprocessing" doesn't count, so remove it.
170- if "multiprocessing" in concurrency :
171- parts = concurrency .split ("," )
172- parts .remove ("multiprocessing" )
173- concurrency = "," .join (parts )
169+ # In the concurrency choices, "multiprocessing" doesn't count.
170+ assert "multiprocessing" not in concurrency
174171
175172 if testenv .SYS_MON and concurrency :
176173 expected_out = f"Can't use core=sysmon: it doesn't support concurrency={ concurrency } "
@@ -459,7 +456,6 @@ def try_multiprocessing_code(
459456 self ,
460457 code : str ,
461458 expected_out : str | None ,
462- the_module : ModuleType | None ,
463459 nprocs : int ,
464460 start_method : str ,
465461 concurrency : str = "multiprocessing" ,
@@ -478,30 +474,24 @@ def try_multiprocessing_code(
478474
479475 cmd = f"coverage run { args } multi.py { start_method } "
480476 _ , out = self .run_command_status (cmd )
481- expected_cant_trace = cant_trace_msg (concurrency , the_module )
477+ assert out .rstrip () == expected_out
478+ assert len (glob .glob (".coverage.*" )) == nprocs + 1
482479
483- if expected_cant_trace is not None :
484- assert expected_cant_trace in out
485- pytest .skip (f"Can't test: { expected_cant_trace } " )
486- else :
487- assert out .rstrip () == expected_out
488- assert len (glob .glob (".coverage.*" )) == nprocs + 1
489-
490- out = self .run_command ("coverage combine" )
491- out_lines = out .splitlines ()
492- assert len (out_lines ) == nprocs + 1
493- assert all (
494- re .fullmatch (
495- rf"(Combined data file|Skipping duplicate data) \.coverage{ SUFFIX_PATTERN } " ,
496- line ,
497- )
498- for line in out_lines
480+ out = self .run_command ("coverage combine" )
481+ out_lines = out .splitlines ()
482+ assert len (out_lines ) == nprocs + 1
483+ assert all (
484+ re .fullmatch (
485+ rf"(Combined data file|Skipping duplicate data) \.coverage{ SUFFIX_PATTERN } " ,
486+ line ,
499487 )
500- assert len (glob .glob (".coverage.*" )) == 0
501- out = self .run_command ("coverage report -m" )
488+ for line in out_lines
489+ )
490+ assert len (glob .glob (".coverage.*" )) == 0
491+ out = self .run_command ("coverage report -m" )
502492
503- last_line = self .squeezed_lines (out )[- 1 ]
504- assert re .search (r"TOTAL \d+ 0 100%" , last_line )
493+ last_line = self .squeezed_lines (out )[- 1 ]
494+ assert re .search (r"TOTAL \d+ 0 100%" , last_line )
505495
506496 def test_multiprocessing_simple (self , start_method : str ) -> None :
507497 nprocs = 3
@@ -512,7 +502,6 @@ def test_multiprocessing_simple(self, start_method: str) -> None:
512502 self .try_multiprocessing_code (
513503 code ,
514504 expected_out ,
515- threading ,
516505 nprocs ,
517506 start_method = start_method ,
518507 )
@@ -526,7 +515,6 @@ def test_multiprocessing_append(self, start_method: str) -> None:
526515 self .try_multiprocessing_code (
527516 code ,
528517 expected_out ,
529- threading ,
530518 nprocs ,
531519 args = "--append" ,
532520 start_method = start_method ,
0 commit comments