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: []