From 21c7bc9291a5f586c85f524c725ddc98bc049a77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Wed, 7 Feb 2018 15:38:07 +0100 Subject: [PATCH] daca2-report: Write a summary at the bottom --- tools/daca2-report.py | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/tools/daca2-report.py b/tools/daca2-report.py index ad406cfad..1f4dca7f9 100644 --- a/tools/daca2-report.py +++ b/tools/daca2-report.py @@ -1,7 +1,7 @@ #!/usr/bin/env python import os import sys - +import re def readdate(data): if data[:5] == 'DATE ': @@ -72,6 +72,12 @@ mainpage.write( lastupdate = None recent = [] +totalNumber = {} +categories = {} +for severity in ['error', 'warning', 'style', 'portability', 'performance']: + totalNumber[severity] = 0 + categories[severity] = [] + daca2 = daca2folder for lib in (False, True): for a in "0123456789abcdefghijklmnopqrstuvwxyz": @@ -98,6 +104,24 @@ for lib in (False, True): else: datestr = '' + for line in data.split('\n'): + res = re.match(r'.*: (error|warning|style|performance|style|portability):.* \[([a-zA-Z0-9_\\-]+)\]', line) + if res is None: + continue + severity = res.group(1) + messageId = res.group(2) + if messageId == 'cppcheckError': + continue + if messageId == 'internalAstError': + continue + if messageId == 'preprocessorErrorDirective': + continue + if messageId == 'syntaxError': + continue + totalNumber[severity] = totalNumber[severity] + 1 + if not messageId in categories[severity]: + categories[severity].append(messageId) + mainpage.write( '' + '' + a + '' + @@ -132,6 +156,16 @@ for lib in (False, True): mainpage.write('\n') +mainpage.write('Summary\n') +mainpage.write('\n') +mainpage.write('\n') +mainpage.write('\n') +mainpage.write('\n') +mainpage.write('\n') +mainpage.write('\n') +mainpage.write('\n') +mainpage.write('
SeverityTypesAmount
Error (there is bug)' + str(len(categories['error'])) + '' + str(totalNumber['error']) + '
Warning (potential bug)' + str(len(categories['warning'])) + '' + str(totalNumber['warning']) + '
Style' + str(len(categories['style'])) + '' + str(totalNumber['style']) + '
Portability' + str(len(categories['portability'])) + '' + str(totalNumber['portability']) + '
Performance' + str(len(categories['performance'])) + '' + str(totalNumber['performance']) + '
\n') + if lastupdate: mainpage.write('

Last update: ' + lastupdate + '

') allrecent = ''