Title: [166229] trunk/Tools
Revision
166229
Author
commit-qu...@webkit.org
Date
2014-03-25 05:13:03 -0700 (Tue, 25 Mar 2014)

Log Message

[webkitpy] Improve _parse_bug_description to recognize more descriptions
https://bugs.webkit.org/show_bug.cgi?id=130137

Patch by Eva Balazsfalvi <evab.u-sze...@partner.samsung.com> on 2014-03-25
Reviewed by Csaba Osztrogonác.

* Scripts/webkitpy/common/checkout/changelog.py:
(ChangeLogEntry._parse_bug_description):
* Scripts/webkitpy/common/checkout/changelog_unittest.py:
(test_parse_log_entries_from_changelog):
* Scripts/webkitpy/common/checkout/checkout_unittest.py:
(CheckoutTest.test_commit_info_for_revision):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (166228 => 166229)


--- trunk/Tools/ChangeLog	2014-03-25 09:53:26 UTC (rev 166228)
+++ trunk/Tools/ChangeLog	2014-03-25 12:13:03 UTC (rev 166229)
@@ -1,3 +1,17 @@
+2014-03-25  Eva Balazsfalvi  <evab.u-sze...@partner.samsung.com>
+
+        [webkitpy] Improve _parse_bug_description to recognize more descriptions
+        https://bugs.webkit.org/show_bug.cgi?id=130137
+
+        Reviewed by Csaba Osztrogonác.
+
+        * Scripts/webkitpy/common/checkout/changelog.py:
+        (ChangeLogEntry._parse_bug_description):
+        * Scripts/webkitpy/common/checkout/changelog_unittest.py:
+        (test_parse_log_entries_from_changelog):
+        * Scripts/webkitpy/common/checkout/checkout_unittest.py:
+        (CheckoutTest.test_commit_info_for_revision):
+
 2014-03-24  Andy Estes  <aes...@apple.com>
 
         Fix the iOS build of TestWebKitAPI.

Modified: trunk/Tools/Scripts/webkitpy/common/checkout/changelog.py (166228 => 166229)


--- trunk/Tools/Scripts/webkitpy/common/checkout/changelog.py	2014-03-25 09:53:26 UTC (rev 166228)
+++ trunk/Tools/Scripts/webkitpy/common/checkout/changelog.py	2014-03-25 12:13:03 UTC (rev 166229)
@@ -188,15 +188,16 @@
 
     @classmethod
     def _parse_bug_description(cls, text):
-        # If line 4 is a bug url, line 3 is the bug description.
-        # It's too hard to guess in other cases, so we return None.
+        # Line 3 is the bug description in most cases.
         lines = text.splitlines()
-        if len(lines) < 4:
+        if len(lines) < 3:
             return None
-        for bug_url in (config_urls.bug_url_short, config_urls.bug_url_long):
-            if re.match("^\s*" + bug_url + "$", lines[3]):
-                return lines[2].strip()
-        return None
+        found_reviewed = re.search(ChangeLogEntry.reviewed_by_regexp, lines[2], re.IGNORECASE)
+        found_reviewed_byless = re.search(ChangeLogEntry.reviewed_byless_regexp, lines[2], re.IGNORECASE)
+        found_url = parse_bug_id_from_changelog(lines[2])
+        if found_reviewed or found_reviewed_byless or found_url:
+            return None
+        return lines[2].strip()
 
     def _parse_entry(self):
         match = re.match(self.date_line_regexp, self._contents, re.MULTILINE)

Modified: trunk/Tools/Scripts/webkitpy/common/checkout/changelog_unittest.py (166228 => 166229)


--- trunk/Tools/Scripts/webkitpy/common/checkout/changelog_unittest.py	2014-03-25 09:53:26 UTC (rev 166228)
+++ trunk/Tools/Scripts/webkitpy/common/checkout/changelog_unittest.py	2014-03-25 12:13:03 UTC (rev 166229)
@@ -241,15 +241,18 @@
         self.assertEqual(parsed_entries[0].date(), "2009-08-17")
         self.assertEqual(parsed_entries[0].reviewer_text(), "David Levin")
         self.assertEqual(parsed_entries[0].is_touched_files_text_clean(), False)
+        self.assertIsNone(parsed_entries[0].bug_description())
         self.assertEqual(parsed_entries[1].date_line(), "2009-08-16  David Kilzer  <ddkil...@apple.com>")
         self.assertEqual(parsed_entries[1].date(), "2009-08-16")
         self.assertEqual(parsed_entries[1].author_email(), "ddkil...@apple.com")
+        self.assertEqual(parsed_entries[1].bug_description(), "Backed out r47343 which was mistakenly committed")
         self.assertEqual(parsed_entries[1].touched_files_text(), "        * Scripts/bugzilla-tool:\n        * Scripts/modules/scm.py:\n")
         self.assertEqual(parsed_entries[1].is_touched_files_text_clean(), True)
         self.assertEqual(parsed_entries[2].reviewer_text(), "Mark Rowe")
         self.assertEqual(parsed_entries[2].touched_files(), ["DumpRenderTree/mac/DumpRenderTreeWindow.mm"])
         self.assertEqual(parsed_entries[2].touched_functions(), {"DumpRenderTree/mac/DumpRenderTreeWindow.mm": ["-[DumpRenderTreeWindow close]"]})
         self.assertEqual(parsed_entries[2].is_touched_files_text_clean(), False)
+        self.assertIsNone(parsed_entries[2].bug_description())
         self.assertEqual(parsed_entries[3].author_name(), "Benjamin Poulain")
         self.assertEqual(parsed_entries[3].touched_files(), ["platform/cf/KURLCFNet.cpp", "platform/mac/KURLMac.mm",
             "WebCoreSupport/ChromeClientEfl.cpp", "ewk/ewk_private.h", "ewk/ewk_view.cpp"])
@@ -260,9 +263,13 @@
         self.assertEqual(parsed_entries[4].reviewer_text(), "David Hyatt")
         self.assertIsNone(parsed_entries[4].bug_description())
         self.assertEqual(parsed_entries[5].reviewer_text(), "Adam Roben")
+        self.assertIsNone(parsed_entries[5].bug_description())
         self.assertEqual(parsed_entries[6].reviewer_text(), "Tony Chang")
+        self.assertIsNone(parsed_entries[6].bug_description())
         self.assertIsNone(parsed_entries[7].reviewer_text())
+        self.assertEqual(parsed_entries[7].bug_description(), "Unreviewed warning fix.")
         self.assertEqual(parsed_entries[8].reviewer_text(), 'Darin Adler')
+        self.assertEqual(parsed_entries[8].bug_description(), 'Resolve regular and visited link style in a single pass')
 
     def test_parse_log_entries_from_annotated_file(self):
         # Note that there are trailing spaces on some of the lines intentionally.

Modified: trunk/Tools/Scripts/webkitpy/common/checkout/checkout_unittest.py (166228 => 166229)


--- trunk/Tools/Scripts/webkitpy/common/checkout/checkout_unittest.py	2014-03-25 09:53:26 UTC (rev 166228)
+++ trunk/Tools/Scripts/webkitpy/common/checkout/checkout_unittest.py	2014-03-25 12:13:03 UTC (rev 166229)
@@ -192,7 +192,7 @@
         checkout.changelog_entries_for_revision = lambda revision, changed_files=None: [ChangeLogEntry(_changelog1entry1)]
         commitinfo = checkout.commit_info_for_revision(4)
         self.assertEqual(commitinfo.bug_id(), 36629)
-        self.assertEqual(commitinfo.bug_description(), None)
+        self.assertEqual(commitinfo.bug_description(), "Unreviewed build fix to un-break webkit-patch land.")
         self.assertEqual(commitinfo.author_name(), u"Tor Arne Vestb\u00f8")
         self.assertEqual(commitinfo.author_email(), "ves...@webkit.org")
         self.assertIsNone(commitinfo.reviewer_text())
@@ -208,7 +208,7 @@
             ],
             'reviewer_text': None,
             'author_name': u'Tor Arne Vestb\xf8',
-            'bug_description': None,
+            'bug_description': 'Unreviewed build fix to un-break webkit-patch land.',
         })
 
         checkout.changelog_entries_for_revision = lambda revision, changed_files=None: []
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to