@@ -106,6 +106,7 @@ def to_test_suite_context(
106106 TestVectorResult .FAIL : "❌" ,
107107 TestVectorResult .TIMEOUT : "⌛" ,
108108 TestVectorResult .ERROR : "☠" ,
109+ TestVectorResult .NOT_SUPPORTED : "○" ,
109110}
110111
111112TEXT_RESULT = {
@@ -114,6 +115,7 @@ def to_test_suite_context(
114115 TestVectorResult .FAIL : "KO" ,
115116 TestVectorResult .TIMEOUT : "TO" ,
116117 TestVectorResult .ERROR : "ER" ,
118+ TestVectorResult .NOT_SUPPORTED : "NS" ,
117119}
118120
119121
@@ -376,8 +378,8 @@ def _parse_suite_results(
376378
377379 for vector in suite_decoder_res [1 ].test_vectors .values ():
378380 jcase = junitp .TestCase (vector .name )
379- if vector .test_result == TestVectorResult .NOT_RUN :
380- jcase .result = [junitp .Skipped ()]
381+ if vector .test_result in [ TestVectorResult .NOT_RUN , TestVectorResult . NOT_SUPPORTED ] :
382+ jcase .result = [junitp .Skipped (message = vector . test_result . value )]
381383 elif vector .test_result not in [
382384 TestVectorResult .SUCCESS ,
383385 TestVectorResult .REFERENCE ,
@@ -417,6 +419,7 @@ def _generate_csv_summary(ctx: Context, results: Dict[str, List[Tuple[Decoder, T
417419 TestVectorResult .ERROR : "Error" ,
418420 TestVectorResult .FAIL : "Fail" ,
419421 TestVectorResult .NOT_RUN : "Not run" ,
422+ TestVectorResult .NOT_SUPPORTED : "Not supported" ,
420423 }
421424 content : Dict [Any , Any ] = defaultdict (lambda : defaultdict (dict ))
422425 max_vectors = 0
@@ -463,6 +466,17 @@ def _global_stats(
463466 output += "\n |TOTAL|"
464467 for test_suite in test_suites :
465468 output += f"{ test_suite .test_vectors_success } /{ len (test_suite .test_vectors )} |"
469+ output += "\n |NOT SUPPORTED|"
470+ for test_suite in test_suites :
471+ output += f"{ test_suite .test_vectors_not_supported } /{ len (test_suite .test_vectors )} |"
472+ output += "\n |FAIL/ERROR|"
473+ for test_suite in test_suites :
474+ failed = (
475+ len (test_suite .test_vectors )
476+ - test_suite .test_vectors_success
477+ - test_suite .test_vectors_not_supported
478+ )
479+ output += f"{ failed } /{ len (test_suite .test_vectors )} |"
466480 output += "\n |TOTAL TIME|"
467481 for test_suite in test_suites :
468482 # Substract from the total time that took running a test suite on a decoder
@@ -541,14 +555,15 @@ def _generate_global_summary(results: Dict[str, List[Tuple[Decoder, TestSuite]]]
541555 all_decoders .append (decoder )
542556 decoder_names .add (decoder .name )
543557
544- decoder_totals = {dec .name : {"success" : 0 , "total" : 0 } for dec in all_decoders }
558+ decoder_totals = {dec .name : {"success" : 0 , "total" : 0 , "not_supported" : 0 } for dec in all_decoders }
545559 decoder_times = {dec .name : 0.0 for dec in all_decoders }
546560 global_profile_stats : Dict [str , Dict [str , Dict [str , int ]]] = {dec .name : {} for dec in all_decoders }
547561
548562 for test_suite_results in results .values ():
549563 for decoder , test_suite in test_suite_results :
550564 totals = decoder_totals [decoder .name ]
551565 totals ["success" ] += test_suite .test_vectors_success
566+ totals ["not_supported" ] += test_suite .test_vectors_not_supported
552567 totals ["total" ] += len (test_suite .test_vectors )
553568
554569 timeouts = (
@@ -578,6 +593,16 @@ def _generate_global_summary(results: Dict[str, List[Tuple[Decoder, TestSuite]]]
578593 output += "\n |TOTAL|" + "" .join (
579594 f"{ decoder_totals [dec .name ]['success' ]} /{ decoder_totals [dec .name ]['total' ]} |" for dec in all_decoders
580595 )
596+ output += "\n |NOT SUPPORTED|" + "" .join (
597+ f"{ decoder_totals [dec .name ]['not_supported' ]} /{ decoder_totals [dec .name ]['total' ]} |"
598+ for dec in all_decoders
599+ )
600+ fail_error_parts = []
601+ for dec in all_decoders :
602+ totals = decoder_totals [dec .name ]
603+ failed = totals ["total" ] - totals ["success" ] - totals ["not_supported" ]
604+ fail_error_parts .append (f"{ failed } /{ totals ['total' ]} |" )
605+ output += "\n |FAIL/ERROR|" + "" .join (fail_error_parts )
581606 output += "\n |TOTAL TIME|" + "" .join (f"{ decoder_times [dec .name ]:.3f} s|" for dec in all_decoders )
582607
583608 all_profiles : Set [str ] = set ()
0 commit comments