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@arm.com>
[stefano: add black line for code style]
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
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: