[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 1/2] xen/cppcheck: sort alphabetically cppcheck report entries



On Mon, 30 Jan 2023, Luca Fancellu wrote:
> 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 <luca.fancellu@xxxxxxx>

Acked-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>


> ---
> Changes in v2:
>  - Sort with two criteria, first misra rule, second filename
>    (Michal, Jan)
> ---
> ---
>  xen/scripts/xen_analysis/cppcheck_report_utils.py | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/xen/scripts/xen_analysis/cppcheck_report_utils.py 
> b/xen/scripts/xen_analysis/cppcheck_report_utils.py
> index 02440aefdfec..0b6cc72b9ac1 100644
> --- a/xen/scripts/xen_analysis/cppcheck_report_utils.py
> +++ b/xen/scripts/xen_analysis/cppcheck_report_utils.py
> @@ -104,6 +104,13 @@ 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:
> -- 
> 2.25.1
> 

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.