esc-reporting/qa-tools.py | 53 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 38 insertions(+), 15 deletions(-)
New commits: commit 506bbd13abebbc2506dc509c9dcf0bd9953e04ec Author: Xisco Fauli <[email protected]> Date: Mon Jul 10 21:08:31 2017 +0200 QA tools: List all crashreports with more than 1 bug This way we can find duplicated bugs easily. diff --git a/esc-reporting/qa-tools.py b/esc-reporting/qa-tools.py index 698070a..9053bd2 100755 --- a/esc-reporting/qa-tools.py +++ b/esc-reporting/qa-tools.py @@ -128,6 +128,7 @@ def util_create_statList(): 'backTraceStatus': {}, 'regressionStatus': {}, 'bisectedStatus': {}, + 'crashSignatures': {}, 'status_changed_to': {s:0 for s in statutes_list}, 'keyword_added': {k:0 for k in keywords_list}, 'keyword_removed': {k:0 for k in keywords_list}, @@ -213,6 +214,7 @@ def analyze_bugzilla(statList, bugzillaData, cfg): statList['data']['bugs']['all']['count'] += 1 + rowId = row['id'] rowStatus = row['status'] rowResolution = row['resolution'] @@ -266,7 +268,7 @@ def analyze_bugzilla(statList, bugzillaData, cfg): if rowStatus == 'UNCONFIRMED': statList['detailedReport']['unconfirmed_count'] += 1 - statList['detailedReport']['lists']['unconfirmed'].append(row['id']) + statList['detailedReport']['lists']['unconfirmed'].append(rowId) statList['detailedReport']['lists']['author'][0].append(key) statList['detailedReport']['lists']['author'][1].append(creatorMail) @@ -276,6 +278,14 @@ def analyze_bugzilla(statList, bugzillaData, cfg): statList['detailedReport']['created_week'][week] = 0 statList['detailedReport']['created_week'][week] += 1 + + crashSignature = row['cf_crashreport'] + + if crashSignature: + if crashSignature not in statList['detailedReport']['crashSignatures']: + statList['detailedReport']['crashSignatures'][crashSignature] = [] + statList['detailedReport']['crashSignatures'][crashSignature].append([rowId, rowStatus]) + whiteboard_list = row['whiteboard'].split(' ') bugTargets = [] for whiteboard in whiteboard_list: @@ -517,19 +527,19 @@ def analyze_bugzilla(statList, bugzillaData, cfg): if movedToFixed: total += 1 - print(str(total) + " - MOVED TO FIXED: https://bugs.documentfoundation.org/show_bug.cgi?id=" + str(row['id'])) + print(str(total) + " - MOVED TO FIXED: https://bugs.documentfoundation.org/show_bug.cgi?id=" + str(rowId)) if autoConfirmed: total += 1 - print(str(total) + " - AUTO-CONFIRMED: https://bugs.documentfoundation.org/show_bug.cgi?id=" + str(row['id'])) + print(str(total) + " - AUTO-CONFIRMED: https://bugs.documentfoundation.org/show_bug.cgi?id=" + str(rowId)) if newerVersion: total += 1 - print(str(total) + " - VERSION CHANGED TO A NEWER ONE: https://bugs.documentfoundation.org/show_bug.cgi?id=" + str(row['id'])) + print(str(total) + " - VERSION CHANGED TO A NEWER ONE: https://bugs.documentfoundation.org/show_bug.cgi?id=" + str(rowId)) - if row['cf_crashreport'] and not row['cf_crashreport'].startswith('["'): + if crashSignature and not crashSignature.startswith('["'): total += 1 - print(str(total) + " - INCORRECT CRASHREPORT SYNTAX: https://bugs.documentfoundation.org/show_bug.cgi?id=" + str(row['id'])) + print(str(total) + " - INCORRECT CRASHREPORT SYNTAX: https://bugs.documentfoundation.org/show_bug.cgi?id=" + str(rowId)) for k, v in statList['people'].items(): @@ -749,6 +759,19 @@ def users_Report(statList) : for v,k in statList['newUsersPeriod'].items(): print(v) +def crashes_Report(statList) : + fp = open('/tmp/crashes_report.txt', 'w', encoding='utf-8') + + print('* Report from {} to {}'.format(cfg[reportPeriod].strftime("%Y-%m-%d"), statList['stat']['newest']), file=fp ) + + for key, value in sorted(statList['detailedReport']['crashSignatures'].items()): + if len(value) > 1: + print(file=fp) + print('* ' + key + '.', file=fp) + for i in value: + print('\t - ' + i[1] + ' - https://bugs.documentfoundation.org/show_bug.cgi?id=' + str(i[0]), file=fp) + fp.close() + def Blog_Report(statList) : fp = open('/tmp/blog_report.txt', 'w', encoding='utf-8') @@ -840,7 +863,7 @@ def Blog_Report(statList) : fp.close() -def QA_Report(statList) : +def Weekly_Report(statList) : print('QA report from {} to {}'.format(cfg[reportPeriod].strftime("%Y-%m-%d"), statList['stat']['newest'])) fp = open('/tmp/qa_report.txt', 'w', encoding='utf-8') @@ -942,21 +965,21 @@ if __name__ == '__main__': if len(sys.argv) > 1: if sys.argv[1] == 'report': - QA_Report(statList) + Weekly_Report(statList) if sys.argv[1] == 'blog': Blog_Report(statList) - elif sys.argv[1] == 'targets': + elif sys.argv[1] == 'target': create_wikimedia_table_by_target(cfg, statList) - elif sys.argv[1] == 'periods': + elif sys.argv[1] == 'period': create_wikimedia_table_by_period(cfg, statList) - elif sys.argv[1] == 'users': + elif sys.argv[1] == 'user': users_Report(statList) + elif sys.argv[1] == 'crash': + crashes_Report(statList) else: - print('You must use \'report\', \'targets\', \'periods\' or \'users\' as parameter.') + print('You must use \'report\',\'blog\', \'target\', \'period\', \'users\' or \'crash\' as parameter.') sys.exit(1) else: - QA_Report(statList) - create_wikimedia_table_by_target(cfg, statList) - create_wikimedia_table_by_period(cfg, statList) + Weekly_Report(statList) print('End of report') _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
