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( '
Severity | Types | Amount | \n') +mainpage.write('
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']) + ' |
Last update: ' + lastupdate + '
') allrecent = ''