webkit-patch: fix 'upload' command with Bugzilla 4.2.5
authorddkilzer@apple.com <ddkilzer@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 6 May 2013 19:49:08 +0000 (19:49 +0000)
committerddkilzer@apple.com <ddkilzer@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 6 May 2013 19:49:08 +0000 (19:49 +0000)
<http://webkit.org/b/115667>

Reviewed by Dirk Pranke.

* Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
(Bugzilla._check_create_bug_response): Update regex to work with
Bugzilla 3.2.3 and 4.2.5.
* Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:
(test__check_create_bug_response): Add new test that covers both
old and new <title> variations.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149630 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py
Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py

index 7d267e0554f5ecda2a7d5a72303e97e73e2bdf6e..ae563810efbbc9c542cf0694ce45a48b4490a942 100644 (file)
@@ -1,3 +1,17 @@
+2013-05-06  David Kilzer  <ddkilzer@apple.com>
+
+        webkit-patch: fix 'upload' command with Bugzilla 4.2.5
+        <http://webkit.org/b/115667>
+
+        Reviewed by Dirk Pranke.
+
+        * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
+        (Bugzilla._check_create_bug_response): Update regex to work with
+        Bugzilla 3.2.3 and 4.2.5.
+        * Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:
+        (test__check_create_bug_response): Add new test that covers both
+        old and new <title> variations.
+
 2013-05-06  Zan Dobersek  <zdobersek@igalia.com>
 
         [Flakiness Dashboard] Stop decoding SnowLeopard builder names into platforms
 2013-05-06  Zan Dobersek  <zdobersek@igalia.com>
 
         [Flakiness Dashboard] Stop decoding SnowLeopard builder names into platforms
index c71f310f9ba98d722ca8a0622d2fc50de9f2e89c..bcd41b78edfc0e0f799b6bf2f3c7ee2899a8f018 100644 (file)
@@ -629,7 +629,7 @@ class Bugzilla(object):
 
     # FIXME: There has to be a more concise way to write this method.
     def _check_create_bug_response(self, response_html):
 
     # FIXME: There has to be a more concise way to write this method.
     def _check_create_bug_response(self, response_html):
-        match = re.search("<title>Bug (?P<bug_id>\d+) Submitted</title>",
+        match = re.search("<title>Bug (?P<bug_id>\d+) Submitted[^<]*</title>",
                           response_html)
         if match:
             return match.group('bug_id')
                           response_html)
         if match:
             return match.group('bug_id')
index 136b014871f86d86a43db7e4b27d6ede892a57fe..7c5a56d061f6641b85b5c2b3322d547ef2012c94 100644 (file)
@@ -336,6 +336,15 @@ Ignore this bug.  Just for testing failure modes of webkit-patch and the commit-
         assert_commit_queue_flag(mark_for_landing=True, mark_for_commit_queue=False, expected='+', username='reviewer@webkit.org')
         assert_commit_queue_flag(mark_for_landing=True, mark_for_commit_queue=True, expected='+', username='reviewer@webkit.org')
 
         assert_commit_queue_flag(mark_for_landing=True, mark_for_commit_queue=False, expected='+', username='reviewer@webkit.org')
         assert_commit_queue_flag(mark_for_landing=True, mark_for_commit_queue=True, expected='+', username='reviewer@webkit.org')
 
+    def test__check_create_bug_response(self):
+        bugzilla = Bugzilla()
+
+        title_html_bugzilla_323 = "<title>Bug 101640 Submitted</title>"
+        self.assertEqual(bugzilla._check_create_bug_response(title_html_bugzilla_323), '101640')
+
+        title_html_bugzilla_425 = "<title>Bug 101640 Submitted &ndash; Testing webkit-patch again</title>"
+        self.assertEqual(bugzilla._check_create_bug_response(title_html_bugzilla_425), '101640')
+
 
 class BugzillaQueriesTest(unittest.TestCase):
     _sample_request_page = """
 
 class BugzillaQueriesTest(unittest.TestCase):
     _sample_request_page = """