From: Luca Fancellu Date: Mon, 30 Jan 2023 11:01:31 +0000 (+0000) Subject: xen/cppcheck: sort alphabetically cppcheck report entries X-Git-Tag: 4.18.0-rc1~1150 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=94f154f1681a54a1e1d1226bd6a6ecd216f9eddc;p=xen.git xen/cppcheck: sort alphabetically cppcheck report entries Sort alphabetically cppcheck report entries when producing the text report, this will help comparing different reports and will group together findings from the same file. The sort operation is performed with two criteria, the first one is sorting by misra rule, the second one is sorting by file. Signed-off-by: Luca Fancellu [stefano: add black line for code style] Signed-off-by: Stefano Stabellini Reviewed-by: Michal Orzel Acked-by: Stefano Stabellini --- diff --git a/xen/scripts/xen_analysis/cppcheck_report_utils.py b/xen/scripts/xen_analysis/cppcheck_report_utils.py index 02440aefdf..c5f466aff1 100644 --- a/xen/scripts/xen_analysis/cppcheck_report_utils.py +++ b/xen/scripts/xen_analysis/cppcheck_report_utils.py @@ -104,6 +104,14 @@ def cppcheck_merge_txt_fragments(fragments_list, out_txt_file, strip_paths): for path in strip_paths: text_report_content[i] = text_report_content[i].replace( path + "/", "") + # Split by : separator + text_report_content[i] = text_report_content[i].split(":") + + # sort alphabetically for second field (misra rule) and as second + # criteria for the first field (file name) + text_report_content.sort(key = lambda x: (x[1], x[0])) + # merge back with : separator + text_report_content = [":".join(x) for x in text_report_content] # Write the final text report outfile.writelines(text_report_content) except OSError as e: