[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py
qa/bugzillaChecker.py | 135 -- 1 file changed, 45 insertions(+), 90 deletions(-) New commits: commit 034bd4a5309c50ef7ee7d99c8fadc9379f75542a Author: Xisco Fauli AuthorDate: Wed Apr 28 17:58:11 2021 +0200 Commit: Xisco Fauli CommitDate: Wed Apr 28 17:58:11 2021 +0200 QA: Change output from the script and simplify code In the old output, each URL pointed to a single bug. Change it to point to a list of bugs so the list is sorter Change-Id: Iec678bda68efc819e110b7000469778b09439fb5 diff --git a/qa/bugzillaChecker.py b/qa/bugzillaChecker.py index 538f4e1..8bc23c2 100755 --- a/qa/bugzillaChecker.py +++ b/qa/bugzillaChecker.py @@ -104,9 +104,8 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): crashSignature = row['cf_crashreport'] if crashSignature: -resultValue = [ rowId, creationDate, ''] if not crashSignature.startswith('["'): -util_add_to_result(lResults, 'incorrect_crash_signature', resultValue) +util_add_to_result(lResults, 'incorrect_crash_signature', rowId) else: if common.isOpen(rowStatus): lcrashSignature = ast.literal_eval(crashSignature) @@ -115,38 +114,28 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): crashReportUrl = crashReportUrl.replace('<', '%3C').replace('>', '%3E') #Link should be shorter than 255, otherwise Bugzilla returns an error if crashReportUrl not in row['see_also'] and len(crashReportUrl) < 255: -util_add_to_result(lResults, 'add_crashReport_to_seeAlso', resultValue) +util_add_to_result(lResults, 'add_crashReport_to_seeAlso', rowId) everConfirmed = False autoConfirmed = False -autoConfirmedValue = None versionChanged = False -versionChangedValue = None oldestVersion = 99 newerVersion = False -newerVersionValue = None autoFixed = False -autoFixedValue = None -lastAssignedValue = None closeDate = None movedToFixed = False movedToNeedInfo = False -movedToNeedInfoValue = None isReopened = False -reopenValue = None addAssigned = False -addassignedValue = None movedToNew = False -movedToNewValue = None addAssigned = False +actionMail = None for action in row['history']: actionMail = action['who'] actionDate = datetime.datetime.strptime(action['when'], "%Y-%m-%dT%H:%M:%SZ") common.util_check_bugzilla_mail(statList, actionMail, '', actionDate, rowId) -resultValue = [ rowId, actionDate, actionMail ] - # Use this variable in case the status is set before the resolution newStatus = None for change in action['changes']: @@ -178,23 +167,17 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): newerVersion = False else: newerVersion = True -newerVersionValue = resultValue elif change['field_name'] == 'status': addedStatus = change['added'] removedStatus = change['removed'] -if rowStatus == 'ASSIGNED' and addedStatus == 'ASSIGNED': -lastAssignedValue = resultValue - if addedStatus == 'REOPENED' and rowStatus == 'REOPENED' and not movedToFixed: isReopened = True -reopenValue = resultValue if actionDate >= cfg['reportPeriod'] and addedStatus == 'NEEDINFO' and \ rowStatus == 'NEEDINFO' and common.isOpen(removedStatus): movedToNeedInfo = True -movedToNeedInfoValue = resultValue if movedToNeedInfo and removedStatus == 'NEEDINFO': movedToNeedInfo = False @@ -219,7 +202,6 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): common.isOpen(rowStatus) and common.isOpen(addedStatus) and 'bisected' not in rowKeywords and \ creatorMail not in cfg['configQA']['ignore']['autoConfirmed']: autoConfirmed = True -autoConfirmedValue = resultValue if autoFixed and removedStatus == 'RESOLV
[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py qa/common.py qa/createWikiStats.py
qa/bugzillaChecker.py | 41 - qa/common.py | 13 + qa/createWikiStats.py | 15 +-- 3 files changed, 50 insertions(+), 19 deletions(-) New commits: commit c623f77a3b60f1f6c8945dca57ab5274adff508c Author: Xisco Fauli AuthorDate: Fri Nov 29 13:57:20 2019 +0100 Commit: Xisco Fauli CommitDate: Fri Nov 29 14:29:14 2019 +0100 QA: Change priority based on number of duplicates diff --git a/qa/bugzillaChecker.py b/qa/bugzillaChecker.py index 9909b9a..0c7edff 100755 --- a/qa/bugzillaChecker.py +++ b/qa/bugzillaChecker.py @@ -48,6 +48,8 @@ versionsToCheck = ('5', '6') crashReportDomain = "https://crashreport.libreoffice.org/stats/signature/"; +minNumOfDupes = 5 + def util_create_statList_checkers(): return { 'people': {} @@ -63,6 +65,7 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): print("Analyzing bugzilla chekers\n", end="", flush=True) lResults = {} +dupesBugs = {} for key, row in bugzillaData['bugs'].items(): rowId = row['id'] @@ -85,6 +88,16 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): common.util_check_bugzilla_mail(statList, creatorMail, row['creator_detail']['real_name'], creationDate, rowId) +if common.isOpen(rowStatus) and rowId not in dupesBugs: +dupesBugs[rowId] = { 'total': 0, 'priority': row['priority'], 'severity': row['severity'] } + +rowDupeOf = common.util_check_duplicated(bugzillaData, rowId) +if rowDupeOf and common.isOpen(bugzillaData['bugs'][str(rowDupeOf)]['status']): +if rowDupeOf not in dupesBugs: +dupesBugs[rowDupeOf] = { 'total': 0, 'priority': bugzillaData['bugs'][str(rowDupeOf)]['priority'], +'severity': bugzillaData['bugs'][str(rowDupeOf)]['severity'] } +dupesBugs[rowDupeOf]['total'] += 1 + crashSignature = row['cf_crashreport'] if crashSignature: resultValue = [ rowId, creationDate, ''] @@ -386,6 +399,19 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): value = [rowId, '', ''] util_add_to_result(lResults, 'empty_alias', value) +for k, v in dupesBugs.items(): +if v['severity'] == 'enhancement': +if v['total'] < minNumOfDupes and (v['priority'] == 'high' or v['priority'] == 'highest'): +value = [k, '', ''] +util_add_to_result(lResults, 'change_enhancement_priority_to_medium', value) +elif v['total'] >= minNumOfDupes and (v['priority'] != 'high' and v['priority'] != 'highest'): +value = [k, '', ''] +util_add_to_result(lResults, 'change_enhancement_priority_to_high', value) +else: +if v['total'] >= minNumOfDupes and (v['priority'] != 'high' and v['priority'] != 'highest'): +value = [k, '', ''] +util_add_to_result(lResults, 'change_bug_priority_to_high', value) + fp = open(bugzillaReportPath, 'w', encoding='utf-8') print("Creating file " + bugzillaReportPath) @@ -400,11 +426,16 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): dValue[idx][1] = datetime.datetime.strptime(dValue[idx][1], "%Y-%m-%dT%H:%M:%SZ") count = idx + 1 -print("{:<3} | {:<58} | {} | {}".format( -str(count), common.urlShowBug + str(dValue[idx][0]), -str(dValue[idx][1].strftime("%Y-%m-%d")), -str(dValue[idx][2])), -file=fp) +if dValue[idx][1]: +print("{:<3} | {:<58} | {} | {}".format( +str(count), common.urlShowBug + str(dValue[idx][0]), +str(dValue[idx][1].strftime("%Y-%m-%d")), +str(dValue[idx][2])), +file=fp) +else: +print("{:<3} | {:<58}".format( +str(count), common.urlShowBug + str(dValue[idx][0])), +file=fp) if count != len(dValue) and count % 10 == 0: print('=' * 100, file=fp) diff --git a/qa/common.py b/qa/common.py index 51a9b47..52a5cdd 100755 --- a/qa/common.py +++ b/qa/common.py @@ -80,6 +80,19 @@ def util_create_person_bugzilla(email, name): 'bugs': set() } +def util_check_duplicated(bugzillaData, bugID, isFirst=True): +rowDupeOf = bugzillaData['bugs'][str(bugID)]['dupe_of'] +if rowDupeOf: +if str(rowDupeOf) in bugzillaData['bugs']: +return util_check_duplicated(bugzillaData, rowDupeOf, False) +else: +return bugID +else: +if isFirst: +return None +else: +return bugID + def util_check_bugzilla_mail(statList
[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py qa/common.py
qa/bugzillaChecker.py |8 +++- qa/common.py |3 ++- 2 files changed, 9 insertions(+), 2 deletions(-) New commits: commit 2ed0c279c652880614dfa98b4c9cb8703d0c8323 Author: Xisco Fauli AuthorDate: Wed Aug 7 14:03:00 2019 +0200 Commit: Xisco Fauli CommitDate: Wed Aug 7 14:40:09 2019 +0200 QA: Save config info in file diff --git a/qa/bugzillaChecker.py b/qa/bugzillaChecker.py index df9e5a0..9909b9a 100755 --- a/qa/bugzillaChecker.py +++ b/qa/bugzillaChecker.py @@ -426,13 +426,15 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): isEasyHack = True print("{:<3} | {:<58} | {}".format( str(idx + 1), common.urlShowBug + str(lBugs[idx]), 'easyHack: ' + str(isEasyHack)), file=fp) + cfg['configQA']['ignore']['newContributors'].append(statList['people'][k]['email']) -if statList['people'][k]['oldest'] >= cfg['memberPeriod'] and statList['people'][k]['newest'] >= cfg['reportPeriod'] and \ +if statList['people'][k]['oldest'] >= cfg['memberPeriod'] and \ len(statList['people'][k]['bugs']) >= memberBugs and statList['people'][k]['email'] not in cfg['configQA']['ignore']['members']: print('\n=== New MEMBER: ' + statList['people'][k]['name'] + " (" + statList['people'][k]['email'] + ") ===", file=fp) print('\tOldest: ' + statList['people'][k]['oldest'].strftime("%Y-%m-%d"), file=fp) print('\tNewest: ' + statList['people'][k]['newest'].strftime("%Y-%m-%d"), file=fp) print('\tTotal: ' + str(len(statList['people'][k]['bugs'])), file=fp) + cfg['configQA']['ignore']['members'].append(statList['people'][k]['email']) if statList['people'][k]['newest'] < cfg['oldUserPeriod'] and statList['people'][k]['newest'] >= cfg['oldUserPeriod2'] and \ len(statList['people'][k]['bugs']) >= oldUserBugs and statList['people'][k]['email'] not in cfg['configQA']['ignore']['oldContributors']: @@ -440,11 +442,15 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): print('\tOldest: ' + statList['people'][k]['oldest'].strftime("%Y-%m-%d"), file=fp) print('\tNewest: ' + statList['people'][k]['newest'].strftime("%Y-%m-%d"), file=fp) print('\tTotal: ' + str(len(statList['people'][k]['bugs'])), file=fp) + cfg['configQA']['ignore']['oldContributors'].append(statList['people'][k]['email']) statList['people'][k]['oldest'] = statList['people'][k]['oldest'].strftime("%Y-%m-%d") statList['people'][k]['newest'] = statList['people'][k]['newest'].strftime("%Y-%m-%d") fp.close() +dumpResult = {} +dumpResult['configQA'] = cfg['configQA'] +common.util_dump_config(dumpResult) def runCfg(): cfg = common.get_config() diff --git a/qa/common.py b/qa/common.py index 3b94860..51a9b47 100755 --- a/qa/common.py +++ b/qa/common.py @@ -60,8 +60,9 @@ def util_load_file(fileName): pass return rawData -def util_dump_file(fileName, rawList): +def util_dump_config(rawList): try: +fileName = configDir + 'configQA.json' fp = open(fileName, 'w', encoding='utf-8') json.dump(rawList, fp, ensure_ascii=False, indent=4, sort_keys=True) fp.close() ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py
qa/bugzillaChecker.py |8 +--- 1 file changed, 1 insertion(+), 7 deletions(-) New commits: commit 1f716ec6b6d4948e37d4b53bb185830cbad52bd5 Author: Xisco Fauli AuthorDate: Wed May 15 14:24:14 2019 +0200 Commit: Xisco Fauli CommitDate: Wed May 15 14:24:14 2019 +0200 QA: this can go now diff --git a/qa/bugzillaChecker.py b/qa/bugzillaChecker.py index c1b546f..982b3ac 100755 --- a/qa/bugzillaChecker.py +++ b/qa/bugzillaChecker.py @@ -250,13 +250,7 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): util_add_to_result(lResults, 'patch_added', resultValue) if row['status'] != 'RESOLVED': -if keyword == 'regression' and 'bibisectRequest' not in rowKeywords and \ -'bibisected' not in rowKeywords and 'bisected' not in rowKeywords and \ -'preBibisect' not in rowKeywords and 'bibisectNotNeeded' not in rowKeywords and \ -'notBibisectable' not in rowKeywords: -util_add_to_result(lResults, 'regression_added', resultValue) - -elif keyword == 'bibisectRequest' and 'regression' not in rowKeywords: +if keyword == 'bibisectRequest' and 'regression' not in rowKeywords: util_add_to_result(lResults, 'bibisectRequest_added', resultValue) elif keyword == 'possibleRegression' and 'possibleRegression' in rowKeywords: ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py
qa/bugzillaChecker.py | 30 -- 1 file changed, 24 insertions(+), 6 deletions(-) New commits: commit 37823b54dd0b1adc95268952e2f815c46b3346bd Author: Xisco Fauli AuthorDate: Wed Nov 28 17:56:37 2018 +0100 Commit: Xisco Fauli CommitDate: Wed Nov 28 17:56:37 2018 +0100 QA: check inactive unconfirmed bugs which last comment is from the reporter diff --git a/qa/bugzillaChecker.py b/qa/bugzillaChecker.py index 55f2dfd..55e8d49 100755 --- a/qa/bugzillaChecker.py +++ b/qa/bugzillaChecker.py @@ -29,15 +29,23 @@ memberBugs = 50 oldUserPeriodDays = 180 oldUserBugs = 20 +# bugs which last comment is from the Commit Notification pingFixedBugPeriodDays = 30 +# Unconfirmed bugs which last comment is not written by the reporter +# or not comments at all retestUnconfirmedPeriodDays = 30 +# Unconfirmed bugs which last comment is written by the reporter +inactiveUnconfirmedPeriodDays = 180 + +# Needinfo bugs which last comment is written by the reporter retestNeedinfoPeriodDays = 60 +# Assigned bugs without activity inactiveAssignedPeriodDays = 90 -#tuple of versions to check whether the version has been changed at confirmation time +# tuple of versions to check whether the version has been changed at confirmation time versionsToCheck = ('5', '6') crashReportDomain = "https://crashreport.libreoffice.org/stats/signature/"; @@ -295,13 +303,18 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): if bSameAuthor and rowStatus == 'UNCONFIRMED' and \ datetime.datetime.strptime(row['last_change_time'], "%Y-%m-%dT%H:%M:%SZ") < cfg['retestUnconfirmedPeriod']: value = [ rowId, row['last_change_time'], creatorMail ] -util_add_to_result(lResults, 'unconfirmed_not_triaged', value) +util_add_to_result(lResults, 'unconfirmed_without_comments', value) if len(comments) > 0: -if rowStatus == 'UNCONFIRMED' and comments[-1]['creator'] != creatorMail and \ +if rowStatus == 'UNCONFIRMED': +if comments[-1]['creator'] != creatorMail and \ datetime.datetime.strptime(row['last_change_time'], "%Y-%m-%dT%H:%M:%SZ") < cfg['retestUnconfirmedPeriod']: -value = [ rowId, row['last_change_time'], comments[-1]['creator'] ] -util_add_to_result(lResults, 'untouched_unconfirmed', value) +value = [ rowId, row['last_change_time'], comments[-1]['creator'] ] +util_add_to_result(lResults, 'unconfirmed_last_comment_not_from_reporter', value) +elif comments[-1]['creator'] == creatorMail and \ +datetime.datetime.strptime(row['last_change_time'], "%Y-%m-%dT%H:%M:%SZ") < cfg['inactiveUnconfirmedPeriod']: +value = [ rowId, row['last_change_time'], comments[-1]['creator'] ] +util_add_to_result(lResults, 'unconfirmed_last_comment_from_reporter', value) elif rowStatus == 'NEEDINFO' and comments[-1]['creator'] == creatorMail and \ datetime.datetime.strptime(row['last_change_time'], "%Y-%m-%dT%H:%M:%SZ") >= cfg['retestNeedinfoPeriod']: @@ -402,9 +415,12 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): if dKey == 'inactive_assignee': if dValue[idx][1] >= cfg['coloredInactiveAssignedPeriod']: background = Back.GREEN -elif dKey == 'untouched_unconfirmed' or dKey == 'unconfirmed_not_triaged': +elif dKey == 'unconfirmed_last_comment_not_from_reporter' or dKey == 'unconfirmed_without_comments': if dValue[idx][1] >= cfg['coloredRetestUnconfirmedPeriod']: background = Back.GREEN +elif dKey == 'unconfirmed_last_comment_from_reporter': +if dValue[idx][1] >= cfg['coloredInactiveUnconfirmedPeriod']: +background = Back.GREEN elif dKey == 'ping_bug_fixed': if dValue[idx][1] >= cfg['coloredFixBugPingPeriod']: background = Back.GREEN @@ -460,6 +476,8 @@ def runCfg(): cfg['pingFixedBugDiff'] = common.util_convert_days_to_datetime(cfg, pingFixedBugPeriodDays + reportPeriodDays) cfg['coloredFixBugPingPeriod'] = common.util_convert_days_to_datetime(cfg, coloredPeriodDays + pingFixedBugPeriodDays) cfg['retestUnconfirmedPeriod'] = common.util_convert_days_to_datetime(cfg, retestUnconfirmedPeriodDays) +cfg['coloredInactiveUnconfirmedPeriod'] = common.util_convert_days_to_datetime(cfg, coloredPeriodDays + inactiveUnconfirmedPeriodDays) +cfg['inactiveUnconfirmedPeriod'] = common.util_convert_days_to_datetime(cfg, inactiveUnconfirmedPeriodDays) cfg['coloredRe
[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py
qa/bugzillaChecker.py | 56 ++ 1 file changed, 39 insertions(+), 17 deletions(-) New commits: commit 27771ad8be9279277671ddb4eaf649747fd1e3c1 Author: Xisco Fauli AuthorDate: Wed Sep 12 16:04:15 2018 +0200 Commit: Xisco Fauli CommitDate: Wed Sep 12 16:04:15 2018 +0200 QA: rework logic of fixed bug pinging diff --git a/qa/bugzillaChecker.py b/qa/bugzillaChecker.py index b3ab9cb..55f2dfd 100755 --- a/qa/bugzillaChecker.py +++ b/qa/bugzillaChecker.py @@ -29,7 +29,7 @@ memberBugs = 50 oldUserPeriodDays = 180 oldUserBugs = 20 -fixBugPingPeriodDays = 30 +pingFixedBugPeriodDays = 30 retestUnconfirmedPeriodDays = 30 @@ -340,19 +340,41 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): (rowVersion.startswith(versionsToCheck) or rowVersion == 'unspecified'): util_add_to_result(lResults, 'version_not_changed', movedToNewValue) -#Check bugs where: -# 1. last comment is done by 'libreoffice-comm...@lists.freedesktop.org' -# 2. Penultimate comment is done by 'libreoffice-comm...@lists.freedesktop.org', -# last comment is not written by the commit's author and it's not a revert commit -if common.isOpen(rowStatus) and ((commentMail == 'libreoffice-comm...@lists.freedesktop.org' and \ -'evert' not in comments[-1]['text']) or \ -(len(comments) >= 2 and comments[-2]['creator'] == 'libreoffice-comm...@lists.freedesktop.org' and \ -comments[-2]['text'].split(' committed a patch related')[0] != statList['people'][comments[-1]['creator']]['name'] and \ -'evert' not in comments[-2]['text'])) and \ -commentDate < cfg['fixBugPingPeriod'] and commentDate >= cfg['fixBugPingDiff'] and \ -'easyHack' not in row['keywords']: -value = [rowId, commentDate, row['assigned_to']] -util_add_to_result(lResults, 'ping_bug_fixed', value) + +if common.isOpen(rowStatus) and 'target:' in row['whiteboard'] and 'easyHack' not in row['keywords']: + +it = 1 +#Check the last 3 comments +totalComments = 3 +while it <= totalComments: +negIt = it * -1 +if len(comments) >= it: +commentMail = comments[negIt]['creator'] +commentText = comments[negIt]['text'] +commentDate = datetime.datetime.strptime(comments[negIt]['time'], "%Y-%m-%dT%H:%M:%SZ") +if commentDate < cfg['PingFixedBugPeriod'] and commentDate >= cfg['pingFixedBugDiff']: +if it == 1 and 'Is this bug fixed?' in commentText and commentMail == 'xiscofa...@libreoffice.org': +value = [rowId, commentDate, row['assigned_to']] +util_add_to_result(lResults, 'take_action_fixed_bug', value) +break + +elif commentMail == 'libreoffice-comm...@lists.freedesktop.org': +# Check the commit hasn't been reverted +if 'evert' in commentText: +break +else: +value = [rowId, commentDate, row['assigned_to']] +util_add_to_result(lResults, 'ping_bug_fixed', value) +break + +# Ignore duplicated comments +elif 'has been marked as a duplicate of this bug' in commentText: +totalComments += 1 +it += 1 +else: +break +else: +break if rowStatus == 'ASSIGNED' and \ datetime.datetime.strptime(row['last_change_time'], "%Y-%m-%dT%H:%M:%SZ") < cfg['inactiveAssignedPeriod'] and \ @@ -434,9 +456,9 @@ def runCfg(): cfg['oldUserPeriod'] = common.util_convert_days_to_datetime(cfg, oldUserPeriodDays) cfg['oldUserPeriod2'] = common.util_convert_days_to_datetime(cfg, oldUserPeriodDays + reportPeriodDays) cfg['memberPeriod'] = common.util_convert_days_to_datetime(cfg, memberPeriodDays) -cfg['fixBugPingPeriod'] = common.util_convert_days_to_datetime(cfg, fixBugPingPeriodDays) -cfg['fixBugPingDiff'] = common.util_convert_days_to_datetime(cfg, fixBugPingPeriodDays + reportPeriodDays) -cfg['coloredFixBugPingPeriod'] = common.util_convert_days_to_datetime(cfg, coloredPeriodDays + fixBugPingPeriodDays) +cfg['PingFixedBugPeriod'] = common.util_convert_days_to_datetime(cfg, pingFixedBugPeriodDays) +cfg['pingFixedBugDiff'] =
[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py
qa/bugzillaChecker.py |2 ++ 1 file changed, 2 insertions(+) New commits: commit 52c2b90c15fd0967ad560626fde5f3c6eb14f07f Author: Xisco Fauli AuthorDate: Wed Aug 22 15:58:18 2018 +0200 Commit: Xisco Fauli CommitDate: Wed Aug 22 15:58:18 2018 +0200 QA: Check for needsUXEval without the ux email in the CC list diff --git a/qa/bugzillaChecker.py b/qa/bugzillaChecker.py index dfdf226..b3ab9cb 100755 --- a/qa/bugzillaChecker.py +++ b/qa/bugzillaChecker.py @@ -256,6 +256,8 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): elif keyword == 'possibleRegression' and 'possibleRegression' in rowKeywords: util_add_to_result(lResults, 'possibleregression_added', resultValue) +elif keyword == 'needsUXEval' and 'libreoffice-ux-adv...@lists.freedesktop.org' not in row['cc']: +util_add_to_result(lResults, 'needsUXEval_missing_email', resultValue) elif change['field_name'] == 'whiteboard': if actionDate >= cfg['reportPeriod']: ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py
qa/bugzillaChecker.py |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) New commits: commit aaba5c44f67b65a48b1a478b0ee072233085d25f Author: Xisco Fauli AuthorDate: Tue Aug 7 20:37:02 2018 +0200 Commit: Xisco Fauli CommitDate: Tue Aug 7 20:37:30 2018 +0200 QA: narrow down the bugs where metabug is not added diff --git a/qa/bugzillaChecker.py b/qa/bugzillaChecker.py index 1d747bd..dfdf226 100755 --- a/qa/bugzillaChecker.py +++ b/qa/bugzillaChecker.py @@ -327,7 +327,8 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): if movedToNeedInfo and everConfirmed: util_add_to_result(lResults, 'moved_to_needinfo', movedToNeedInfoValue) -if movedToNew and not row['blocks']: +if movedToNew and row['component'] != 'Documentation' and 'needsUXEval' not in rowKeywords\ +and 'regression' not in rowKeywords and not row['blocks']: util_add_to_result(lResults, 'metabug_not_added', movedToNewValue) if not versionChanged and movedToNew and not autoConfirmed and row['severity'] != 'enhancement' and \ ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py
qa/bugzillaChecker.py |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) New commits: commit 0e99f1a031e09cfa5fd5f6741b51aac5754a0b13 Author: Xisco Fauli AuthorDate: Wed Jul 25 17:57:49 2018 +0200 Commit: Xisco Fauli CommitDate: Wed Jul 25 17:58:55 2018 +0200 QA: Show results in sorted order diff --git a/qa/bugzillaChecker.py b/qa/bugzillaChecker.py index 00ee793..1d747bd 100755 --- a/qa/bugzillaChecker.py +++ b/qa/bugzillaChecker.py @@ -363,9 +363,9 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): util_add_to_result(lResults, 'empty_alias', value) colorama.init(autoreset=True) -for dKey, dValue in lResults.items(): +for dKey, dValue in sorted(lResults.items()): if dValue: -print('\n=== ' + dKey.replace('_', ' ') + ' ===') +print('\n=== ' + dKey.replace('_', ' ').upper() + ' ===') dValue = sorted(dValue, key=lambda x: x[1]) for idx in range(len(dValue)): background = Back.RESET ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py
qa/bugzillaChecker.py | 21 - 1 file changed, 12 insertions(+), 9 deletions(-) New commits: commit 2dbaec919ef98e574572b7bac36b6275bd735dba Author: Xisco Fauli Date: Mon Jun 25 15:41:01 2018 +0200 QA: Check for bibisectRequest without regression keyword diff --git a/qa/bugzillaChecker.py b/qa/bugzillaChecker.py index 1113ea9..c565719 100755 --- a/qa/bugzillaChecker.py +++ b/qa/bugzillaChecker.py @@ -243,15 +243,18 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): if keyword == 'patch' and (common.isOpen(rowStatus) or rowStatus == 'UNCONFIRMED'): util_add_to_result(lResults, 'patch_added', resultValue) -if keyword == 'regression' and row['status'] != 'RESOLVED' and \ -'bibisectRequest' not in rowKeywords and 'bibisected' not in rowKeywords and \ -'bisected' not in rowKeywords and 'preBibisect' not in rowKeywords and \ -'bibisectNotNeeded' not in rowKeywords and 'notBibisectable' not in rowKeywords: -util_add_to_result(lResults, 'regression_added', resultValue) - -if keyword == 'possibleRegression' and 'possibleRegression' in rowKeywords and \ -row['status'] != 'RESOLVED': -util_add_to_result(lResults, 'possibleregression_added', resultValue) +if row['status'] != 'RESOLVED': +if keyword == 'regression' and 'bibisectRequest' not in rowKeywords and \ +'bibisected' not in rowKeywords and 'bisected' not in rowKeywords and \ +'preBibisect' not in rowKeywords and 'bibisectNotNeeded' not in rowKeywords and \ +'notBibisectable' not in rowKeywords: +util_add_to_result(lResults, 'regression_added', resultValue) + +elif keyword == 'bibisectRequest' and 'regression' not in rowKeywords: +util_add_to_result(lResults, 'bibisectRequest_added', resultValue) + +elif keyword == 'possibleRegression' and 'possibleRegression' in rowKeywords: +util_add_to_result(lResults, 'possibleregression_added', resultValue) elif change['field_name'] == 'whiteboard': if actionDate >= cfg['reportPeriod']: ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py
qa/bugzillaChecker.py | 21 + 1 file changed, 17 insertions(+), 4 deletions(-) New commits: commit 2c643b62e0480d2b5bbeff98fedbc47160ae Author: Xisco Fauli Date: Mon Jun 18 22:01:35 2018 +0200 QA: Check for crashreports without the URL in See Also diff --git a/qa/bugzillaChecker.py b/qa/bugzillaChecker.py index d8029df..1113ea9 100755 --- a/qa/bugzillaChecker.py +++ b/qa/bugzillaChecker.py @@ -13,6 +13,7 @@ import datetime import re import colorama from colorama import Back +import ast #Use this variable to hightlight the most recent bugs coloredPeriodDays = 1 @@ -39,6 +40,8 @@ inactiveAssignedPeriodDays = 90 #tuple of versions to check whether the version has been changed at confirmation time versionsToCheck = ('5', '6') +crashReportDomain = "https://crashreport.libreoffice.org/stats/signature/"; + def util_create_statList_checkers(): return { 'people': {} @@ -76,6 +79,20 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): common.util_check_bugzilla_mail(statList, creatorMail, row['creator_detail']['real_name'], creationDate, rowId) +crashSignature = row['cf_crashreport'] +if crashSignature: +resultValue = [ rowId, creationDate, ''] +if not crashSignature.startswith('["'): +util_add_to_result(lResults, 'incorrect_crash_signature', resultValue) +else: +if common.isOpen(rowStatus): +lcrashSignature = ast.literal_eval(crashSignature) +for i in lcrashSignature: +crashReportUrl = crashReportDomain + str(i).replace(' ', '%20').replace('`', '%60') +#Link should be shorter than 255, otherwise Bugzilla returns an error +if crashReportUrl not in row['see_also'] and len(crashReportUrl) < 255: +util_add_to_result(lResults, 'add_crashReport_to_seeAlso', resultValue) + everConfirmed = False autoConfirmed = False autoConfirmedValue = None @@ -243,10 +260,6 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): whiteboard in row['whiteboard'] and common.isOpen(rowStatus): util_add_to_result(lResults, 'backport_added', resultValue) -elif change['field_name'] == 'cf_crashreport': -crashSignature = row['cf_crashreport'] -if crashSignature and not crashSignature.startswith('["'): -util_add_to_result(lResults, 'incorrect_crash_signature', resultValue) elif change['field_name'] == 'assigned_to': if actionDate >= cfg['reportPeriod']: ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py
qa/bugzillaChecker.py | 17 ++--- 1 file changed, 10 insertions(+), 7 deletions(-) New commits: commit 6cce106232d90337b89dead3a5105a9f970853d6 Author: Xisco Fauli Date: Tue Jun 12 14:02:40 2018 +0200 QA: Check for unconfirmed bugs where all comments are done by the reporter diff --git a/qa/bugzillaChecker.py b/qa/bugzillaChecker.py index 9a40a96..d8029df 100755 --- a/qa/bugzillaChecker.py +++ b/qa/bugzillaChecker.py @@ -263,12 +263,21 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): commentMail = None comments = row['comments'][1:] +bSameAuthor = True for idx, comment in enumerate(comments): commentMail = comment['creator'] commentDate = datetime.datetime.strptime(comment['time'], "%Y-%m-%dT%H:%M:%SZ") common.util_check_bugzilla_mail(statList, commentMail, '', commentDate, rowId) +if bSameAuthor and commentMail != creatorMail: +bSameAuthor = False + +if bSameAuthor and rowStatus == 'UNCONFIRMED' and \ +datetime.datetime.strptime(row['last_change_time'], "%Y-%m-%dT%H:%M:%SZ") < cfg['retestUnconfirmedPeriod']: +value = [ rowId, row['last_change_time'], creatorMail ] +util_add_to_result(lResults, 'unconfirmed_not_triaged', value) + if len(comments) > 0: if rowStatus == 'UNCONFIRMED' and comments[-1]['creator'] != creatorMail and \ datetime.datetime.strptime(row['last_change_time'], "%Y-%m-%dT%H:%M:%SZ") < cfg['retestUnconfirmedPeriod']: @@ -280,12 +289,6 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): value = [ rowId, row['last_change_time'], comments[-1]['creator'] ] util_add_to_result(lResults, 'needinfo_provided', value) -else: -if rowStatus == 'UNCONFIRMED' and \ -datetime.datetime.strptime(row['last_change_time'], "%Y-%m-%dT%H:%M:%SZ") < cfg['retestUnconfirmedPeriod']: -value = [ rowId, row['last_change_time'], creatorMail ] -util_add_to_result(lResults, 'unconfirmed_1_comment', value) - if autoFixed: util_add_to_result(lResults, 'auto_fixed', autoFixedValue) @@ -357,7 +360,7 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): if dKey == 'inactive_assignee': if dValue[idx][1] >= cfg['coloredInactiveAssignedPeriod']: background = Back.GREEN -elif dKey == 'untouched_unconfirmed' or dKey == 'unconfirmed_1_comment': +elif dKey == 'untouched_unconfirmed' or dKey == 'unconfirmed_not_triaged': if dValue[idx][1] >= cfg['coloredRetestUnconfirmedPeriod']: background = Back.GREEN elif dKey == 'ping_bug_fixed': ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py
qa/bugzillaChecker.py | 16 +--- 1 file changed, 9 insertions(+), 7 deletions(-) New commits: commit 915ad1f4f9b40d1427b07ce1bcc4b31197015c43 Author: Xisco Fauli Date: Wed May 9 15:32:46 2018 +0200 QA: find bugs being confirmed without any metabug diff --git a/qa/bugzillaChecker.py b/qa/bugzillaChecker.py index 27f58c2..5f025b7 100755 --- a/qa/bugzillaChecker.py +++ b/qa/bugzillaChecker.py @@ -199,12 +199,7 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): row['assigned_to'] == 'libreoffice-b...@lists.freedesktop.org': util_add_to_result(lResults, 'add_assignee', resultValue) -if addedStatus == 'NEW' and rowStatus == 'NEW' and row['product'] == 'LibreOffice' and \ -row['severity'] != 'enhancement' and \ -('regression' not in rowKeywords and 'bisected' not in rowKeywords and \ -'easyHack' not in rowKeywords) and row['component'] != 'Documentation' and \ -actionMail not in cfg['configQA']['ignore']['confirmer'] and \ -(rowVersion.startswith(versionsToCheck) or rowVersion == 'unspecified'): +if addedStatus == 'NEW' and rowStatus == 'NEW' and row['product'] == 'LibreOffice': movedToNew = True movedToNewValue = resultValue @@ -322,7 +317,14 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): if movedToNeedInfo and everConfirmed: util_add_to_result(lResults, 'moved_to_needinfo', movedToNeedInfoValue) -if not versionChanged and movedToNew and not autoConfirmed: +if movedToNew and not row['blocks']: +util_add_to_result(lResults, 'metabug_not_added', movedToNewValue) + +if not versionChanged and movedToNew and not autoConfirmed and row['severity'] != 'enhancement' and \ +('regression' not in rowKeywords and 'bisected' not in rowKeywords and \ +'easyHack' not in rowKeywords) and row['component'] != 'Documentation' and \ +movedToNewValue[2] not in cfg['configQA']['ignore']['confirmer'] and \ +(rowVersion.startswith(versionsToCheck) or rowVersion == 'unspecified'): util_add_to_result(lResults, 'version_not_changed', movedToNewValue) #Check bugs where: ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py
qa/bugzillaChecker.py |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 47bdd51c340083d0afbde0b60e81f6c084fe95a3 Author: Xisco Fauli Date: Mon Apr 16 16:53:08 2018 +0200 QA: minor change diff --git a/qa/bugzillaChecker.py b/qa/bugzillaChecker.py index 3211b37..27f58c2 100755 --- a/qa/bugzillaChecker.py +++ b/qa/bugzillaChecker.py @@ -202,7 +202,7 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): if addedStatus == 'NEW' and rowStatus == 'NEW' and row['product'] == 'LibreOffice' and \ row['severity'] != 'enhancement' and \ ('regression' not in rowKeywords and 'bisected' not in rowKeywords and \ -'haveBacktrace' not in rowKeywords) and row['component'] != 'Documentation' and \ +'easyHack' not in rowKeywords) and row['component'] != 'Documentation' and \ actionMail not in cfg['configQA']['ignore']['confirmer'] and \ (rowVersion.startswith(versionsToCheck) or rowVersion == 'unspecified'): movedToNew = True ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py
qa/bugzillaChecker.py |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) New commits: commit 6c68f9ee6942c2952b53b499d4121cac273351de Author: Xisco Fauli Date: Tue Apr 3 12:38:18 2018 +0200 QA: Fix TypeError problem diff --git a/qa/bugzillaChecker.py b/qa/bugzillaChecker.py index 8e501fe..ea0731f 100755 --- a/qa/bugzillaChecker.py +++ b/qa/bugzillaChecker.py @@ -315,7 +315,7 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): #In case the reporter assigned the bug to himself at creation time if not addAssigned and creationDate >= cfg['reportPeriod'] and \ row['assigned_to'] != 'libreoffice-b...@lists.freedesktop.org' and (rowStatus == 'NEW' or rowStatus == 'UNCONFIRMED'): -value = [ rowId, row['creation_time'], row['assigned_to'] ] +value = [ rowId, creationDate, row['assigned_to'] ] util_add_to_result(lResults, 'change_status_assigned', value) if movedToNeedInfo and everConfirmed: ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py
qa/bugzillaChecker.py |6 -- 1 file changed, 4 insertions(+), 2 deletions(-) New commits: commit 13b6f4d79b44a22d0c02b37886e6f433857ce657 Author: Xisco Fauli Date: Mon Mar 12 11:26:22 2018 +0100 QA: Fix problem with duplicated entries diff --git a/qa/bugzillaChecker.py b/qa/bugzillaChecker.py index 0bf58e2..0a73fae 100755 --- a/qa/bugzillaChecker.py +++ b/qa/bugzillaChecker.py @@ -99,6 +99,7 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): addassignedValue = None movedToNew = False movedToNewValue = None +addAssigned = False for action in row['history']: actionMail = action['who'] @@ -260,6 +261,7 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): if removedAssignee == "libreoffice-b...@lists.freedesktop.org" and \ row['assigned_to'] != 'libreoffice-b...@lists.freedesktop.org' and \ ( rowStatus == 'NEW' or rowStatus == 'UNCONFIRMED'): +addAssigned = True util_add_to_result(lResults, 'change_status_assigned', resultValue) if addedAssignee == "libreoffice-b...@lists.freedesktop.org" and \ row['assigned_to'] == 'libreoffice-b...@lists.freedesktop.org' and rowStatus == 'ASSIGNED': @@ -306,8 +308,8 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): util_add_to_result(lResults, 'is_reopened', reopenValue) #In case the reporter assigned the bug to himself at creation time -if creationDate >= cfg['reportPeriod'] and row['assigned_to'] != 'libreoffice-b...@lists.freedesktop.org' and \ -(rowStatus == 'NEW' or rowStatus == 'UNCONFIRMED'): +if not addAssigned and creationDate >= cfg['reportPeriod'] and \ +row['assigned_to'] != 'libreoffice-b...@lists.freedesktop.org' and (rowStatus == 'NEW' or rowStatus == 'UNCONFIRMED'): value = [ rowId, row['creation_time'], row['assigned_to'] ] util_add_to_result(lResults, 'change_status_assigned', value) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py
qa/bugzillaChecker.py | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) New commits: commit 18d7c58f384ae4e5c8dff09c5f07e05ab9949708 Author: Xisco Fauli Date: Thu Mar 8 18:46:00 2018 +0100 QA: Fix error when bug is assigned at creation time diff --git a/qa/bugzillaChecker.py b/qa/bugzillaChecker.py index cce8dff..0bf58e2 100755 --- a/qa/bugzillaChecker.py +++ b/qa/bugzillaChecker.py @@ -260,8 +260,7 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): if removedAssignee == "libreoffice-b...@lists.freedesktop.org" and \ row['assigned_to'] != 'libreoffice-b...@lists.freedesktop.org' and \ ( rowStatus == 'NEW' or rowStatus == 'UNCONFIRMED'): -addAssigned = True -addAssignedValue = resultValue +util_add_to_result(lResults, 'change_status_assigned', resultValue) if addedAssignee == "libreoffice-b...@lists.freedesktop.org" and \ row['assigned_to'] == 'libreoffice-b...@lists.freedesktop.org' and rowStatus == 'ASSIGNED': util_add_to_result(lResults, 'remove_assigned_status', resultValue) @@ -307,9 +306,10 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): util_add_to_result(lResults, 'is_reopened', reopenValue) #In case the reporter assigned the bug to himself at creation time -if addAssigned or (creationDate >= cfg['reportPeriod'] and row['assigned_to'] != 'libreoffice-b...@lists.freedesktop.org' and \ -(rowStatus == 'NEW' or rowStatus == 'UNCONFIRMED')): -util_add_to_result(lResults, 'change_status_assigned', addAssignedValue) +if creationDate >= cfg['reportPeriod'] and row['assigned_to'] != 'libreoffice-b...@lists.freedesktop.org' and \ +(rowStatus == 'NEW' or rowStatus == 'UNCONFIRMED'): +value = [ rowId, row['creation_time'], row['assigned_to'] ] +util_add_to_result(lResults, 'change_status_assigned', value) if movedToNeedInfo and everConfirmed: util_add_to_result(lResults, 'moved_to_needinfo', movedToNeedInfoValue) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py
qa/bugzillaChecker.py | 10 ++ 1 file changed, 10 insertions(+) New commits: commit cc022732f43bbc29ae1e9fcdec2805a3eebf23c8 Author: Xisco Fauli Date: Fri Feb 23 17:58:09 2018 +0100 QA: Warn about possibleRegression added diff --git a/qa/bugzillaChecker.py b/qa/bugzillaChecker.py index 2b81989..084a3b0 100755 --- a/qa/bugzillaChecker.py +++ b/qa/bugzillaChecker.py @@ -90,6 +90,7 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): lastAssignedEmail = "" patchAdded = False regressionAdded = False +possibleRegressionAdded = False isReopened6Months = False closeDate = None reopener6MonthsEmail = "" @@ -222,6 +223,9 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): if keyword == 'regression': regressionAdded = True +if keyword == 'possibleRegression': +possibleRegressionAdded = True + elif change['field_name'] == 'whiteboard': if actionDate >= cfg['reportPeriod']: for whiteboard in change['added'].split(' '): @@ -296,6 +300,12 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): tup = (rowId, '') lResults['regressionAdded'].append(tup) +if possibleRegressionAdded and 'possibleRegression' in rowKeywords: +if 'possibleRegressionAdded' not in lResults: +lResults['possibleRegressionAdded'] = [] +tup = (rowId, '') +lResults['possibleRegressionAdded'].append(tup) + if autoFixed: if 'autoFixed' not in lResults: lResults['autoFixed'] = [] ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py
qa/bugzillaChecker.py | 25 + 1 file changed, 21 insertions(+), 4 deletions(-) New commits: commit 3c18dbda61f3e1d2cf5ff29a8936294c76d2d782 Author: Xisco Fauli Date: Tue Feb 20 19:46:28 2018 +0100 QA: Warn about old inactive contributors diff --git a/qa/bugzillaChecker.py b/qa/bugzillaChecker.py index cfd9c0b..2b81989 100755 --- a/qa/bugzillaChecker.py +++ b/qa/bugzillaChecker.py @@ -17,7 +17,11 @@ newUserPeriodDays = 30 newUserBugs = 3 memberPeriodDays = 365 -memberBugs = 100 +memberBugs = 50 + +oldUserPeriodDays = 180 +oldUserPeriod2Days = 365 +oldUserBugs = 20 fixBugPingPeriodDays = 30 @@ -433,9 +437,20 @@ def analyze_bugzilla_checkers(statList, bugzillaData, cfg): isEasyHack = True print(str(idx + 1) + ' - ' + common.urlShowBug + str(lBugs[idx]) + ' - easyHack: ' + str(isEasyHack)) -if statList['people'][k]['oldest'] >= cfg['memberPeriod'] and len(statList['people'][k]['bugs']) >= memberBugs and \ -statList['people'][k]['email'] not in cfg['configQA']['ignore']['members']: -print('\n=== New member: '+ statList['people'][k]['name'] + " (" + statList['people'][k]['email'] + ")") +if statList['people'][k]['oldest'] >= cfg['memberPeriod'] and statList['people'][k]['newest'] >= cfg['reportPeriod'] and \ +len(statList['people'][k]['bugs']) >= memberBugs and statList['people'][k]['email'] not in cfg['configQA']['ignore']['members']: +print('\nNew member: ' + statList['people'][k]['name'] + " (" + statList['people'][k]['email'] + ")") +print('\tOldest: ' + statList['people'][k]['oldest'].strftime("%Y-%m-%d")) +print('\tNewest: ' + statList['people'][k]['newest'].strftime("%Y-%m-%d")) +print('\tTotal: ' + str(len(statList['people'][k]['bugs']))) + +if statList['people'][k]['newest'] < cfg['oldUserPeriod'] and statList['people'][k]['newest'] >= cfg['oldUserPeriod2'] and \ +len(statList['people'][k]['bugs']) >= oldUserBugs and statList['people'][k]['email'] not in cfg['configQA']['ignore']['oldContributors']: +print('\nOld Contributor: ' + statList['people'][k]['name'] + " (" + statList['people'][k]['email'] + ")") +print('\tOldest: ' + statList['people'][k]['oldest'].strftime("%Y-%m-%d")) +print('\tNewest: ' + statList['people'][k]['newest'].strftime("%Y-%m-%d")) +print('\tTotal: ' + str(len(statList['people'][k]['bugs']))) + statList['people'][k]['oldest'] = statList['people'][k]['oldest'].strftime("%Y-%m-%d") statList['people'][k]['newest'] = statList['people'][k]['newest'].strftime("%Y-%m-%d") @@ -444,6 +459,8 @@ def runCfg(): cfg['todayDate'] = datetime.datetime.now().replace(hour=0, minute=0,second=0) cfg['reportPeriod'] = common.util_convert_days_to_datetime(cfg, reportPeriodDays) cfg['newUserPeriod'] = common.util_convert_days_to_datetime(cfg, newUserPeriodDays) +cfg['oldUserPeriod'] = common.util_convert_days_to_datetime(cfg, oldUserPeriodDays) +cfg['oldUserPeriod2'] = common.util_convert_days_to_datetime(cfg, oldUserPeriod2Days) cfg['memberPeriod'] = common.util_convert_days_to_datetime(cfg, memberPeriodDays) cfg['fixBugPingPeriod'] = common.util_convert_days_to_datetime(cfg, fixBugPingPeriodDays) cfg['fixBugPingDiff'] = common.util_convert_days_to_datetime(cfg, fixBugPingPeriodDays + reportPeriodDays) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits