@@ -54,10 +54,13 @@ def __filter(cases_) -> typing.List[TestCase]:
5454 cases .remove (case )
5555
5656 if ARG ("percent" ) == 100 :
57- return cases
57+ skipped_cases = []
58+ return selected_cases , skipped_cases
5859
59- return sample (cases , k = int (len (cases )* ARG ("percent" )/ 100.0 ))
60+ selected_cases = sample (cases , k = int (len (cases )* ARG ("percent" )/ 100.0 ))
61+ skipped_cases = [item for item in cases if item not in selected_cases ]
6062
63+ return selected_cases , skipped_cases
6164
6265def test ():
6366 # pylint: disable=global-statement, global-variable-not-assigned
@@ -77,7 +80,8 @@ def test():
7780
7881 return
7982
80- cases = [ _ .to_case () for _ in __filter (cases ) ]
83+ cases , skipped_cases = __filter (cases )
84+ cases = [ _ .to_case () for _ in cases ]
8185
8286 if ARG ("list" ):
8387 table = rich .table .Table (title = "MFC Test Cases" , box = rich .table .box .SIMPLE )
@@ -132,8 +136,16 @@ def test():
132136 cons .print (f"\n Test Summary: [bold green]{ nPASS } [/bold green] passed, [bold red]{ nFAIL } [/bold red] failed, [bold yellow]{ nSKIP } [/bold yellow] skipped.\n " )
133137
134138 # Print a summary of all errors at the end if errors exist
135- for e in errors :
136- cons .print (e )
139+ if (len ((errors )) != 0 ):
140+ cons .print (f"[bold red]Failed Cases[/bold red]\n " )
141+ for e in errors :
142+ cons .print (e )
143+
144+ # Print the list of skipped cases
145+ if (len (skipped_cases ) != 0 ):
146+ cons .print ("[bold yellow]Skipped Cases[/bold yellow]\n " )
147+ for c in skipped_cases :
148+ cons .print (f"[bold yellow]{ c .trace } [/bold yellow]" )
137149
138150 exit (nFAIL )
139151
0 commit comments