mozautomation: detect requestee-less review flags (
Bug 1320251); r?gps
Commit descriptions containing review flags without a requestee (eg. "r?") were
not being rewritten with reviewers prior to landing with autoland.
MozReview-Commit-ID: 7dsCOV3YzT4
--- a/pylib/mozautomation/mozautomation/commitparser.py
+++ b/pylib/mozautomation/mozautomation/commitparser.py
@@ -43,17 +43,17 @@ REVIEWERS_RE = re.compile(
r'(' + SPECIFIER + r')' + # flag
r'(' + # capture all reviewers
IRC_NICK + # reviewer
r'(?:' + # additional reviewers
LIST + # delimiter
r'(?![a-z0-9\.\-]+[=?])' + # don't extend match into next flag
IRC_NICK + # reviewer
r')*' +
- r')') # noqa
+ r')?') # noqa
BACKED_OUT_RE = re.compile('^backed out changeset (?P<node>[0-9a-f]{12}) ',
re.I)
BACKOUT_RE = re.compile('^back\s?out (?P<node>[0-9a-f]{12}) ', re.I)
SHORT_RE = re.compile('^[0-9a-f]{12}$', re.I)
--- a/pylib/mozautomation/tests/test_commitparser.py
+++ b/pylib/mozautomation/tests/test_commitparser.py
@@ -320,16 +320,19 @@ differs from that used to generate the h
'Bug 1 - blah r?dminor,r?gps,r?abc,sr=abc',
['dminor', 'glob', 'gps', 'abc']),
'Bug 1 - blah r=dminor,glob,gps,abc,sr=abc')
self.assertEqual(replace_reviewers('Bug 123 - Blah blah; r=gps DONTBUILD (NPOTB)', ['remus']), 'Bug 123 - Blah blah; r=remus DONTBUILD (NPOTB)')
self.assertEqual(replace_reviewers('Bug 123 - Blah blah; r=gps DONTBUILD', ['remus']), 'Bug 123 - Blah blah; r=remus DONTBUILD')
self.assertEqual(replace_reviewers('Bug 123 - Blah blah; r=gps (DONTBUILD)', ['remus']), 'Bug 123 - Blah blah; r=remus (DONTBUILD)')
+ self.assertEqual(replace_reviewers('Bug 123 - Blah blah; r?', ['remus']), 'Bug 123 - Blah blah; r=remus')
+ self.assertEqual(replace_reviewers('Bug 123 - Blah blah; r? DONTBUILD', ['remus']), 'Bug 123 - Blah blah; r=remus DONTBUILD')
+
def test_backout_missing(self):
self.assertIsNone(parse_backouts('Bug 1 - More stuff; r=romulus'))
def test_backout_single(self):
self.assertEqual(
parse_backouts('Backed out changeset 6435d5aab611 (bug 858680)'),
(['6435d5aab611'], [858680]))