← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] lp:~bryceharrington/launchpad/lp-31745-237126-617102 into lp:launchpad/devel

 

Bryce Harrington has proposed merging lp:~bryceharrington/launchpad/lp-31745-237126-617102 into lp:launchpad/devel.

Requested reviews:
  Launchpad code reviewers (launchpad-reviewers)
Related bugs:
  #31745 The Bugzilla ExternalSystem should know more about possible resolutions
  https://bugs.launchpad.net/bugs/31745
  #237126 Bugzilla bug watch status mappings shouldn't default to invalid
  https://bugs.launchpad.net/bugs/237126
  #617102 Launchpad mischaracterizes openSUSE remote bug tracker status
  https://bugs.launchpad.net/bugs/617102


This fixes three bugs relating to the mapping of bugzilla statuses to Launchpad statuses.
(LP: #31745, #237126, #617102).

Different bugzilla instances sometimes add custom statuses and resolutions beyond the defaults; we have tracked some of these, this branch adds several more.

We also recently added an Expired status to Launchpad.  This branch takes advantage of this by mapping a few relevant Bugzilla resolutions to it.

For situations where the bug was closed with an unrecognized resolution, we had been mapping those unknown resolutions to be status 'Invalid'.  Instead, this branch explicitly maps resolutions that *should* be invalid to Invalid, and any other unknown resolutions map to status 'Unknown'.

I've tested this using 'test -t bugzilla' and run it successfully through ec2 test.
I've done a lint check and verified this branch adds no new lint errors.

-- 
https://code.launchpad.net/~bryceharrington/launchpad/lp-31745-237126-617102/+merge/33182
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~bryceharrington/launchpad/lp-31745-237126-617102 into lp:launchpad/devel.
=== modified file 'lib/lp/bugs/doc/externalbugtracker-bugzilla.txt'
--- lib/lp/bugs/doc/externalbugtracker-bugzilla.txt	2010-04-21 10:30:24 +0000
+++ lib/lp/bugs/doc/externalbugtracker-bugzilla.txt	2010-08-20 03:55:57 +0000
@@ -285,6 +285,8 @@
     'Fix Committed'
     >>> external_bugzilla.convertRemoteStatus('RESOLVED FIXED').title
     'Fix Released'
+    >>> external_bugzilla.convertRemoteStatus('RESOLVED UPSTREAM').title
+    "Won't Fix"
     >>> external_bugzilla.convertRemoteStatus(
     ...     'CLOSED PATCH_ALREADY_AVAILABLE').title
     'Fix Released'
@@ -295,7 +297,7 @@
     >>> external_bugzilla.convertRemoteStatus('CLOSED INVALID').title
     'Invalid'
     >>> external_bugzilla.convertRemoteStatus('CLOSED UPSTREAM').title
-    'Fix Released'
+    "Won't Fix"
 
 If the status can't be converted an UnknownRemoteStatusError will be
 returned.

=== modified file 'lib/lp/bugs/externalbugtracker/bugzilla.py'
--- lib/lp/bugs/externalbugtracker/bugzilla.py	2010-04-21 10:30:24 +0000
+++ lib/lp/bugs/externalbugtracker/bugzilla.py	2010-08-20 03:55:57 +0000
@@ -223,6 +223,7 @@
         ('ASSIGNED', 'ON_DEV', 'FAILS_QA', 'STARTED',
          BugTaskStatus.INPROGRESS),
         ('NEEDINFO', 'NEEDINFO_REPORTER', 'WAITING', 'SUSPENDED',
+         'PLEASETEST',
          BugTaskStatus.INCOMPLETE),
         ('PENDINGUPLOAD', 'MODIFIED', 'RELEASE_PENDING', 'ON_QA',
          BugTaskStatus.FIXCOMMITTED),
@@ -230,11 +231,19 @@
         ('RESOLVED', 'VERIFIED', 'CLOSED',
             LookupTree(
                 ('CODE_FIX', 'CURRENTRELEASE', 'ERRATA', 'NEXTRELEASE',
-                 'PATCH_ALREADY_AVAILABLE', 'FIXED', 'RAWHIDE', 'UPSTREAM',
+                 'PATCH_ALREADY_AVAILABLE', 'FIXED', 'RAWHIDE',
+                 'DOCUMENTED',
                  BugTaskStatus.FIXRELEASED),
-                ('WONTFIX', BugTaskStatus.WONTFIX),
-                (BugTaskStatus.INVALID,))),
-        ('REOPENED', 'NEW', 'UPSTREAM', 'DEFERRED', BugTaskStatus.CONFIRMED),
+                ('WONTFIX', 'WILL_NOT_FIX', 'NOTOURBUG', 'UPSTREAM',
+                 BugTaskStatus.WONTFIX),
+                ('OBSOLETE', 'INSUFFICIENT_DATA', 'INCOMPLETE', 'EXPIRED',
+                 BugTaskStatus.EXPIRED),
+                ('INVALID', 'WORKSFORME', 'NOTABUG', 'CANTFIX',
+                 'UNREPRODUCIBLE',
+                 BugTaskStatus.INVALID),
+                (BugTaskStatus.UNKNOWN,))),
+        ('REOPENED', 'NEW', 'UPSTREAM', 'DEFERRED',
+         BugTaskStatus.CONFIRMED),
         ('UNCONFIRMED', BugTaskStatus.NEW),
         )
 


Follow ups