@@ -627,6 +627,36 @@ def analyzecmd(args: argparse.Namespace) -> NoReturn:
627627 exit (0 )
628628
629629
630+ def results_check (args : argparse .Namespace ) -> NoReturn :
631+ """Checks if results present are compatible with the current version."""
632+
633+ # arguments
634+ xname : str = str (args .xname )
635+
636+ try :
637+ (path , xfile ) = get_path_filename (xname )
638+ UF .check_analysis_results (path , xfile )
639+ except UF .CHBError as e :
640+ print_error (str (e .wrap ()))
641+ exit (1 )
642+
643+ chbversion = UF .get_resultmetrics_chb_version (path , xfile )
644+ if chbversion >= minimum_required_chb_version :
645+ print_status_update (
646+ "Analysis results version: "
647+ + chbversion
648+ + " is compatible with minimum required version: "
649+ + minimum_required_chb_version )
650+ exit (0 )
651+ else :
652+ print_error (
653+ "Analysis results version: "
654+ + chbversion
655+ + " is not compatible with minimum required version: "
656+ + minimum_required_chb_version )
657+ exit (1 )
658+
659+
630660def results_stats (args : argparse .Namespace ) -> NoReturn :
631661 """Prints out a summary of the analysis results per function."""
632662
@@ -650,6 +680,15 @@ def results_stats(args: argparse.Namespace) -> NoReturn:
650680 print_error (str (e .wrap ()))
651681 exit (1 )
652682
683+ chbversion = UF .get_resultmetrics_chb_version (path , xfile )
684+ if chbversion < minimum_required_chb_version :
685+ print_status_update (
686+ "Warning: analysis results may be out of date. "
687+ + "The version of the analysis results: "
688+ + chbversion
689+ + " is not compatible with the minimum required version: "
690+ + minimum_required_chb_version )
691+
653692 set_logging (
654693 loglevel ,
655694 path ,
0 commit comments