[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py

2021-04-28 Thread Xisco Fauli (via logerrit)
 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 == 

[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py qa/common.py qa/createWikiStats.py

2019-11-29 Thread Xisco Fauli (via logerrit)
 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 

[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py qa/common.py

2019-08-07 Thread Xisco Fauli (via logerrit)
 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

2019-05-15 Thread Libreoffice Gerrit user
 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

2018-11-28 Thread Libreoffice Gerrit user
 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)
 

[Libreoffice-commits] dev-tools.git: qa/bugzillaChecker.py

2018-09-12 Thread Libreoffice Gerrit user
 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

2018-08-22 Thread Libreoffice Gerrit user
 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

2018-08-07 Thread Libreoffice Gerrit user
 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

2018-07-25 Thread Libreoffice Gerrit user
 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

2018-06-25 Thread Xisco Fauli
 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

2018-06-18 Thread Xisco Fauli
 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

2018-06-12 Thread Xisco Fauli
 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

2018-05-09 Thread Xisco Fauli
 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

2018-04-16 Thread Xisco Fauli
 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

2018-04-03 Thread Xisco Fauli
 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

2018-03-12 Thread Xisco Fauli
 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

2018-03-08 Thread Xisco Fauli
 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

2018-02-23 Thread Xisco Fauli
 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

2018-02-20 Thread Xisco Fauli
 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