@@ -374,31 +374,16 @@ def __init__(self, no_colors: bool = False) -> None:
374374 self ._kernel_panic = False
375375 self ._kernel_tainted = None
376376 self ._timed_out = False
377- self ._running = []
377+ self ._pl_total = 0
378+ self ._pl_done = 0
378379
379380 libkirk .events .register ("sut_not_responding" , self .sut_not_responding )
380381 libkirk .events .register ("kernel_panic" , self .kernel_panic )
381382 libkirk .events .register ("kernel_tainted" , self .kernel_tainted )
383+ libkirk .events .register ("suite_started" , self .print_parallel )
382384 libkirk .events .register ("test_timed_out" , self .test_timed_out )
383- libkirk .events .register ("test_started" , self .test_started )
384385 libkirk .events .register ("test_completed" , self .test_completed )
385386
386- async def _refresh_running_tests (self ) -> None :
387- tests_num = len (self ._running )
388-
389- await self ._print (" " * 64 , end = '\r ' )
390- await self ._print ("" )
391- await self ._print (f"*** { tests_num } background test(s) ***" )
392-
393- for test_name in self ._running :
394- await self ._print (f"- { test_name } " , end = '' )
395- await self ._print (" " * 32 )
396-
397- # move back at the very beginning so the next time
398- # we will override current running tests status
399- for _ in range (tests_num + 2 ):
400- await self ._print (self .LINE_UP , end = '' )
401-
402387 async def sut_not_responding (self ) -> None :
403388 self ._sut_not_responding = True
404389
@@ -411,12 +396,29 @@ async def kernel_tainted(self, message: str) -> None:
411396 async def test_timed_out (self , _ : Test , timeout : int ) -> None :
412397 self ._timed_out = True
413398
414- async def test_started (self , test : Test ) -> None :
415- self ._running .append (test .name )
416- await self ._refresh_running_tests ()
399+ async def print_parallel (self , suite : Suite ) -> None :
400+ msg = []
401+
402+ for test in suite .tests :
403+ if not test .parallelizable :
404+ continue
405+
406+ self ._pl_total += 1
407+ msg .append (f"- { test .name } " )
408+
409+ if msg :
410+ await self ._print ("Following tests will run in parallel:" )
411+ await self ._print ("\n " .join (msg ), end = "\n \n " )
417412
418413 async def test_completed (self , results : TestResults ) -> None :
419- await self ._print (f"{ results .test .name } : " , end = "" )
414+ if results .test .parallelizable :
415+ self ._pl_done += 1
416+
417+ await self ._print (
418+ f"{ results .test .name } ({ self ._pl_done } /{ self ._pl_total } ): " ,
419+ end = "" )
420+ else :
421+ await self ._print (f"{ results .test .name } : " , end = "" )
420422
421423 if self ._timed_out :
422424 await self ._print ("timed out" , color = self .RED )
@@ -447,14 +449,9 @@ async def test_completed(self, results: TestResults) -> None:
447449 await self ._print ("tainted" , color = self .YELLOW , end = "" )
448450
449451 uf_time = self ._user_friendly_duration (results .exec_time )
450- await self ._print (f" ({ uf_time } )" , end = '' )
451- # cleanup message that was there before
452- await self ._print (" " * 16 )
452+ await self ._print (f" ({ uf_time } )" )
453453
454454 self ._sut_not_responding = False
455455 self ._kernel_panic = False
456456 self ._kernel_tainted = None
457457 self ._timed_out = False
458-
459- self ._running .remove (results .test .name )
460- await self ._refresh_running_tests ()
0 commit comments