Title: [165447] trunk/Tools
Revision
165447
Author
[email protected]
Date
2014-03-11 04:23:27 -0700 (Tue, 11 Mar 2014)

Log Message

webkitbot rollout ChangeLogs should be nicer
https://bugs.webkit.org/show_bug.cgi?id=122654

Patch by Eva Balazsfalvi <[email protected]> on 2014-03-11
Reviewed by Csaba Osztrogonác.

Added bug urls and descriptions of rolled out patches to the rollout changelog
if they are present in the original changelog. Additionally removed the list of
changed files and functions.

* Scripts/webkitpy/common/checkout/changelog.py:
(ChangeLog.update_with_unreviewed_message): Cut off the list of modified files.
* Scripts/webkitpy/common/checkout/checkout.py:
(Checkout._changelog_data_for_revision): Store bug description.
* Scripts/webkitpy/common/checkout/checkout_mock.py:
* Scripts/webkitpy/common/checkout/checkout_unittest.py:
(CheckoutTest.test_commit_info_for_revision):
* Scripts/webkitpy/common/checkout/commitinfo.py:
(CommitInfo.bug_description): Added.
(CommitInfo.to_json):
* Scripts/webkitpy/common/checkout/commitinfo_unittest.py:
(CommitInfoTest.test_commit_info_creation):
* Scripts/webkitpy/tool/commands/download.py:
(AbstractRolloutPrepCommand._prepare_state): Store bug ids and descriptions of rolled
out patches for creating rollout changelog.
(CreateRollout._prepare_state): Remove obsolete comments and code, the bug id that
caused the regression is stored in state["bug_blocked"] now.
* Scripts/webkitpy/tool/commands/download_unittest.py:
(test_prepare_rollout):
(test_create_rollout_multiple_revision):
* Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
(PrepareChangeLogForRevert._message_for_revert): Add bug urls and descriptions of
rolled out patches to the changelog.
(PrepareChangeLogForRevert.run):
* Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:
(UpdateChangeLogsForRevertTest):
(test_message_for_revert):
* Scripts/webkitpy/tool/steps/reopenbugafterrollout.py:
(ReopenBugAfterRollout.run):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (165446 => 165447)


--- trunk/Tools/ChangeLog	2014-03-11 11:19:06 UTC (rev 165446)
+++ trunk/Tools/ChangeLog	2014-03-11 11:23:27 UTC (rev 165447)
@@ -1,3 +1,44 @@
+2014-03-11  Eva Balazsfalvi  <[email protected]>
+
+        webkitbot rollout ChangeLogs should be nicer
+        https://bugs.webkit.org/show_bug.cgi?id=122654
+
+        Reviewed by Csaba Osztrogonác.
+
+        Added bug urls and descriptions of rolled out patches to the rollout changelog
+        if they are present in the original changelog. Additionally removed the list of
+        changed files and functions.
+
+        * Scripts/webkitpy/common/checkout/changelog.py:
+        (ChangeLog.update_with_unreviewed_message): Cut off the list of modified files.
+        * Scripts/webkitpy/common/checkout/checkout.py:
+        (Checkout._changelog_data_for_revision): Store bug description.
+        * Scripts/webkitpy/common/checkout/checkout_mock.py:
+        * Scripts/webkitpy/common/checkout/checkout_unittest.py:
+        (CheckoutTest.test_commit_info_for_revision):
+        * Scripts/webkitpy/common/checkout/commitinfo.py:
+        (CommitInfo.bug_description): Added.
+        (CommitInfo.to_json):
+        * Scripts/webkitpy/common/checkout/commitinfo_unittest.py:
+        (CommitInfoTest.test_commit_info_creation):
+        * Scripts/webkitpy/tool/commands/download.py:
+        (AbstractRolloutPrepCommand._prepare_state): Store bug ids and descriptions of rolled
+        out patches for creating rollout changelog.
+        (CreateRollout._prepare_state): Remove obsolete comments and code, the bug id that
+        caused the regression is stored in state["bug_blocked"] now.
+        * Scripts/webkitpy/tool/commands/download_unittest.py:
+        (test_prepare_rollout):
+        (test_create_rollout_multiple_revision):
+        * Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
+        (PrepareChangeLogForRevert._message_for_revert): Add bug urls and descriptions of
+        rolled out patches to the changelog.
+        (PrepareChangeLogForRevert.run):
+        * Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:
+        (UpdateChangeLogsForRevertTest):
+        (test_message_for_revert):
+        * Scripts/webkitpy/tool/steps/reopenbugafterrollout.py:
+        (ReopenBugAfterRollout.run):
+
 2014-03-11  Krzysztof Czech  <[email protected]>
 
         [ATK] Adjust WKTR/DRT to use new API from ATK 2.11.90

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


--- trunk/Tools/Scripts/webkitpy/common/checkout/changelog.py	2014-03-11 11:19:06 UTC (rev 165446)
+++ trunk/Tools/Scripts/webkitpy/common/checkout/changelog.py	2014-03-11 11:23:27 UTC (rev 165447)
@@ -391,11 +391,10 @@
                 if first_boilerplate_line_regexp.search(line):
                     message_lines = self._wrap_lines(message)
                     result.write(first_boilerplate_line_regexp.sub(message_lines, line))
-                    # Remove all the ChangeLog boilerplate before the first changed
-                    # file.
+                    # Remove all the ChangeLog boilerplate, except the first line (date, name, e-mail).
                     removing_boilerplate = True
                 elif removing_boilerplate:
-                    if line.find('*') >= 0:  # each changed file is preceded by a *
+                    if re.search("^[1-9]", line):  # each changelog entry is preceded by a date
                         removing_boilerplate = False
 
                 if not removing_boilerplate:

Modified: trunk/Tools/Scripts/webkitpy/common/checkout/checkout.py (165446 => 165447)


--- trunk/Tools/Scripts/webkitpy/common/checkout/checkout.py	2014-03-11 11:19:06 UTC (rev 165446)
+++ trunk/Tools/Scripts/webkitpy/common/checkout/checkout.py	2014-03-11 11:23:27 UTC (rev 165447)
@@ -90,10 +90,11 @@
             return None
         changelog_entry = changelog_entries[0]
         return {
-            "bug_id": parse_bug_id_from_changelog(changelog_entry.contents()),
+            "bug_id": changelog_entry.bug_id(),
             "author_name": changelog_entry.author_name(),
             "author_email": changelog_entry.author_email(),
             "author": changelog_entry.author(),
+            "bug_description": changelog_entry.bug_description(),
             "reviewer_text": changelog_entry.reviewer_text(),
             "reviewer": changelog_entry.reviewer(),
             "contents": changelog_entry.contents(),

Modified: trunk/Tools/Scripts/webkitpy/common/checkout/checkout_mock.py (165446 => 165447)


--- trunk/Tools/Scripts/webkitpy/common/checkout/checkout_mock.py	2014-03-11 11:19:06 UTC (rev 165446)
+++ trunk/Tools/Scripts/webkitpy/common/checkout/checkout_mock.py	2014-03-11 11:23:27 UTC (rev 165447)
@@ -53,6 +53,7 @@
             "path/to/file",
             "another/file",
         ],
+        "bug_description": "Example description.",
     }),
     3001: CommitInfo(3001, "[email protected]", {
         "bug_id": 50004,
@@ -65,6 +66,7 @@
             "path/to/file",
             "another/file",
         ],
+        "bug_description": "Another example description.",
     })
 }
 

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


--- trunk/Tools/Scripts/webkitpy/common/checkout/checkout_unittest.py	2014-03-11 11:19:06 UTC (rev 165446)
+++ trunk/Tools/Scripts/webkitpy/common/checkout/checkout_unittest.py	2014-03-11 11:23:27 UTC (rev 165447)
@@ -192,6 +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.author_name(), u"Tor Arne Vestb\u00f8")
         self.assertEqual(commitinfo.author_email(), "[email protected]")
         self.assertIsNone(commitinfo.reviewer_text())
@@ -207,6 +208,7 @@
             ],
             'reviewer_text': None,
             'author_name': u'Tor Arne Vestb\xf8',
+            'bug_description': None,
         })
 
         checkout.changelog_entries_for_revision = lambda revision, changed_files=None: []

Modified: trunk/Tools/Scripts/webkitpy/common/checkout/commitinfo.py (165446 => 165447)


--- trunk/Tools/Scripts/webkitpy/common/checkout/commitinfo.py	2014-03-11 11:19:06 UTC (rev 165446)
+++ trunk/Tools/Scripts/webkitpy/common/checkout/commitinfo.py	2014-03-11 11:23:27 UTC (rev 165447)
@@ -62,6 +62,9 @@
     def author_email(self):
         return self._changelog_data["author_email"]
 
+    def bug_description(self):
+        return self._changelog_data["bug_description"]
+
     def reviewer(self):
         return self._changelog_data["reviewer"]  # May be None
 
@@ -78,6 +81,7 @@
             "author_email": self.author_email(),
             "reviewer_text": self.reviewer_text(),
             "changed_files": self.changed_files(),
+            "bug_description": self.bug_description(),
         }
 
     def responsible_parties(self):

Modified: trunk/Tools/Scripts/webkitpy/common/checkout/commitinfo_unittest.py (165446 => 165447)


--- trunk/Tools/Scripts/webkitpy/common/checkout/commitinfo_unittest.py	2014-03-11 11:19:06 UTC (rev 165446)
+++ trunk/Tools/Scripts/webkitpy/common/checkout/commitinfo_unittest.py	2014-03-11 11:23:27 UTC (rev 165447)
@@ -46,6 +46,7 @@
             "author": author,
             "reviewer_text": "Reviewer",
             "reviewer": reviewer,
+            "bug_description": "Bug description",
         }
         commit = CommitInfo(123, "[email protected]", changelog_data, committer_list)
 
@@ -59,3 +60,4 @@
         self.assertEqual(commit.committer(), committer)
         self.assertEqual(commit.committer_email(), "[email protected]")
         self.assertEqual(commit.responsible_parties(), set([author, committer, reviewer]))
+        self.assertEqual(commit.bug_description(), "Bug description")

Modified: trunk/Tools/Scripts/webkitpy/tool/commands/download.py (165446 => 165447)


--- trunk/Tools/Scripts/webkitpy/tool/commands/download.py	2014-03-11 11:19:06 UTC (rev 165446)
+++ trunk/Tools/Scripts/webkitpy/tool/commands/download.py	2014-03-11 11:23:27 UTC (rev 165447)
@@ -394,6 +394,8 @@
 
     def _prepare_state(self, options, args, tool):
         revision_list = []
+        description_list = []
+        bug_id_list = []
         for revision in str(args[0]).split():
             if revision.isdigit():
                 revision_list.append(int(revision))
@@ -402,15 +404,26 @@
         revision_list.sort()
 
         # We use the earliest revision for the bug info
+        for revision in revision_list:
+            commit_info = self._commit_info(revision)
+            if commit_info:
+                description_list.append(commit_info.bug_description())
+                bug_id_list.append(commit_info.bug_id())
+            else:
+                description_list.append(None)
+                bug_id_list.append(None)
         earliest_revision = revision_list[0]
         state = {
             "revision": earliest_revision,
             "revision_list": revision_list,
             "reason": args[1],
+            "bug_id": None,
+            "bug_id_list": bug_id_list,
+            "description_list": description_list,
         }
         commit_info = self._commit_info(earliest_revision)
         if commit_info:
-            state["bug_id"] = commit_info.bug_id()
+            state["bug_blocked"] = commit_info.bug_id()
             cc_list = sorted([party.bugzilla_email()
                             for party in commit_info.responsible_parties()
                             if party.bugzilla_email()])
@@ -448,14 +461,6 @@
 
     def _prepare_state(self, options, args, tool):
         state = AbstractRolloutPrepCommand._prepare_state(self, options, args, tool)
-        # Currently, state["bug_id"] points to the bug that caused the
-        # regression.  We want to create a new bug that blocks the old bug
-        # so we move state["bug_id"] to state["bug_blocked"] and delete the
-        # old state["bug_id"] so that steps.CreateBug will actually create
-        # the new bug that we want (and subsequently store its bug id into
-        # state["bug_id"])
-        state["bug_blocked"] = state["bug_id"]
-        del state["bug_id"]
         state["bug_title"] = "REGRESSION(r%s): %s" % (state["revision"], state["reason"])
         state["bug_description"] = "%s broke the build:\n%s" % (urls.view_revision_url(state["revision"]), state["reason"])
         # FIXME: If we had more context here, we could link to other open bugs

Modified: trunk/Tools/Scripts/webkitpy/tool/commands/download_unittest.py (165446 => 165447)


--- trunk/Tools/Scripts/webkitpy/tool/commands/download_unittest.py	2014-03-11 11:19:06 UTC (rev 165446)
+++ trunk/Tools/Scripts/webkitpy/tool/commands/download_unittest.py	2014-03-11 11:23:27 UTC (rev 165447)
@@ -289,11 +289,12 @@
         self.assert_execute_outputs(LandFromURL(), ["https://bugs.webkit.org/show_bug.cgi?id=50000"], options=self._default_options(), expected_logs=expected_logs)
 
     def test_prepare_rollout(self):
-        expected_logs = "Preparing rollout for bug 50000.\nUpdating working directory\n"
+        expected_logs = "Preparing rollout for bug 50000.\nPreparing rollout for bug 50000.\nUpdating working directory\n"
         self.assert_execute_outputs(PrepareRollout(), [852, "Reason"], options=self._default_options(), expected_logs=expected_logs)
 
     def test_create_rollout(self):
         expected_logs = """Preparing rollout for bug 50000.
+Preparing rollout for bug 50000.
 Updating working directory
 MOCK create_bug
 bug_title: REGRESSION(r852): Reason
@@ -314,10 +315,37 @@
 -- End comment --
 """
         self.assert_execute_outputs(CreateRollout(), [852, "Reason"], options=self._default_options(), expected_logs=expected_logs)
+
+    def test_create_rollout_multiple_revision(self):
+        expected_logs = """Preparing rollout for bug 50000.
+Preparing rollout for bug 50000.
+Unable to parse bug number from diff.
+Preparing rollout for bug 50000.
+Updating working directory
+MOCK create_bug
+bug_title: REGRESSION(r852): Reason
+bug_description: http://trac.webkit.org/changeset/852 broke the build:
+Reason
+component: MOCK component
+cc: MOCK cc
+blocked: 50000
+MOCK add_patch_to_bug: bug_id=60001, description=ROLLOUT of r852, mark_for_review=False, mark_for_commit_queue=True, mark_for_landing=False
+-- Begin comment --
+Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.
+
+If you would like to land the rollout faster, you can use the following command:
+
+  webkit-patch land-attachment ATTACHMENT_ID
+
+where ATTACHMENT_ID is the ID of this attachment.
+-- End comment --
+"""
+        self.maxDiff = None
         self.assert_execute_outputs(CreateRollout(), ["855 852 854", "Reason"], options=self._default_options(), expected_logs=expected_logs)
 
     def test_create_rollout_resolved(self):
         expected_logs = """Preparing rollout for bug 50004.
+Preparing rollout for bug 50004.
 Updating working directory
 MOCK create_bug
 bug_title: REGRESSION(r3001): Reason
@@ -342,6 +370,7 @@
 
     def test_rollout(self):
         expected_logs = """Preparing rollout for bug 50000.
+Preparing rollout for bug 50000.
 Updating working directory
 MOCK: user.open_url: file://...
 Was that diff correct?
@@ -353,5 +382,5 @@
 
 Committed r49824: <http://trac.webkit.org/changeset/49824>'
 """
-        self.assert_execute_outputs(Rollout(), [852, "Reason"], options=self._default_options(), expected_logs=expected_logs)
+        self.assert_execute_outputs(Rollout(), [852, "Reason", "Description"], options=self._default_options(), expected_logs=expected_logs)
 

Modified: trunk/Tools/Scripts/webkitpy/tool/steps/preparechangelogforrevert.py (165446 => 165447)


--- trunk/Tools/Scripts/webkitpy/tool/steps/preparechangelogforrevert.py	2014-03-11 11:19:06 UTC (rev 165446)
+++ trunk/Tools/Scripts/webkitpy/tool/steps/preparechangelogforrevert.py	2014-03-11 11:23:27 UTC (rev 165447)
@@ -34,24 +34,33 @@
 
 class PrepareChangeLogForRevert(AbstractStep):
     @classmethod
-    def _message_for_revert(cls, revision_list, reason, bug_url=None):
+    def _message_for_revert(cls, revision_list, reason, description_list, reverted_bug_url_list, rollout_bug_url=None):
         message = "Unreviewed, rolling out %s.\n" % join_with_separators(['r' + str(revision) for revision in revision_list])
-        for revision in revision_list:
-            message += "%s\n" % urls.view_revision_url(revision)
-        if bug_url:
-            message += "%s\n" % bug_url
-        # Add an extra new line after the rollout links, before any reason.
+        if rollout_bug_url:
+            message += "%s\n" % rollout_bug_url
         message += "\n"
         if reason:
-            message += "%s\n\n" % reason
+            message += "%s\n" % reason
+        message += "\n"
+        pluralSuffix = 's' if len(revision_list) > 1 else ''
+        message += "Reverted changeset%s:\n\n" % pluralSuffix
+        for index in range(len(revision_list)):
+            if description_list[index]:
+                message += "\"%s\"\n" % description_list[index]
+            if reverted_bug_url_list[index]:
+                message += "%s\n" % reverted_bug_url_list[index]
+            message += "%s\n\n" % urls.view_revision_url(revision_list[index])
         return message
 
     def run(self, state):
+        reverted_bug_url_list = []
         # This could move to prepare-ChangeLog by adding a --revert= option.
         self._tool.executive.run_and_throw_if_fail(self._tool.deprecated_port().prepare_changelog_command(), cwd=self._tool.scm().checkout_root)
         changelog_paths = self._tool.checkout().modified_changelogs(git_commit=None)
-        bug_url = self._tool.bugs.bug_url_for_bug_id(state["bug_id"]) if state["bug_id"] else None
-        message = self._message_for_revert(state["revision_list"], state["reason"], bug_url)
+        rollout_bug_url = self._tool.bugs.bug_url_for_bug_id(state["bug_id"]) if state["bug_id"] else None
+        for bug_id in state["bug_id_list"]:
+            reverted_bug_url_list.append(self._tool.bugs.bug_url_for_bug_id(bug_id))
+        message = self._message_for_revert(state["revision_list"], state["reason"], state["description_list"], reverted_bug_url_list, rollout_bug_url)
         for changelog_path in changelog_paths:
             # FIXME: Seems we should prepare the message outside of changelogs.py and then just pass in
             # text that we want to use to replace the reviewed by line.

Modified: trunk/Tools/Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py (165446 => 165447)


--- trunk/Tools/Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py	2014-03-11 11:19:06 UTC (rev 165446)
+++ trunk/Tools/Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py	2014-03-11 11:23:27 UTC (rev 165447)
@@ -37,57 +37,88 @@
 
 
 class UpdateChangeLogsForRevertTest(unittest.TestCase):
-    _revert_entry_with_bug_url = '''2009-08-19  Eric Seidel  <[email protected]>
+    _revert_entry = '''2009-08-19  Eric Seidel  <[email protected]>
 
         Unreviewed, rolling out r12345.
-        http://trac.webkit.org/changeset/12345
-        http://example.com/123
 
         Reason
 
-        * Scripts/bugzilla-tool:
+        Reverted changeset:
+
+        "Blocked Bug's Description"
+        http://bug.example.com/12345
+        http://trac.webkit.org/changeset/12345
 '''
 
-    _revert_entry_without_bug_url = '''2009-08-19  Eric Seidel  <[email protected]>
+    _revert_entry_with_missing_bug_url_and_description = '''2009-08-19  Eric Seidel  <[email protected]>
 
         Unreviewed, rolling out r12345.
-        http://trac.webkit.org/changeset/12345
 
         Reason
 
-        * Scripts/bugzilla-tool:
+        Reverted changeset:
+
+        http://trac.webkit.org/changeset/12345
 '''
 
-    _multiple_revert_entry_with_bug_url = '''2009-08-19  Eric Seidel  <[email protected]>
+    _multiple_revert_entry = '''2009-08-19  Eric Seidel  <[email protected]>
 
         Unreviewed, rolling out r12345, r12346, and r12347.
+
+        Reason
+
+        Reverted changesets:
+
+        "r12345's Description"
+        http://bug.example.com/12345
         http://trac.webkit.org/changeset/12345
+
+        "r12346's Description"
+        http://bug.example.com/12346
         http://trac.webkit.org/changeset/12346
+
+        "r12347's Description"
+        http://bug.example.com/12347
         http://trac.webkit.org/changeset/12347
-        http://example.com/123
+'''
 
+    _multiple_revert_entry_with_missing_bug_urls_and_descriptions = '''2009-08-19  Eric Seidel  <[email protected]>
+
+        Unreviewed, rolling out r12345, r12346, and r12347.
+
         Reason
 
-        * Scripts/bugzilla-tool:
+        Reverted changesets:
+
+        http://trac.webkit.org/changeset/12345
+
+        http://trac.webkit.org/changeset/12346
+
+        http://trac.webkit.org/changeset/12347
 '''
 
-    _multiple_revert_entry_without_bug_url = '''2009-08-19  Eric Seidel  <[email protected]>
+    _multiple_revert_entry_with_a_missing_bug_url_and_description = '''2009-08-19  Eric Seidel  <[email protected]>
 
         Unreviewed, rolling out r12345, r12346, and r12347.
+
+        Reason
+
+        Reverted changesets:
+
+        "r12345's Description"
+        http://bug.example.com/12345
         http://trac.webkit.org/changeset/12345
+
         http://trac.webkit.org/changeset/12346
+
+        "r12347's Description"
+        http://bug.example.com/12347
         http://trac.webkit.org/changeset/12347
-
-        Reason
-
-        * Scripts/bugzilla-tool:
 '''
 
-    _revert_with_log_reason = """2009-08-19  Eric Seidel  <[email protected]>
+    _revert_with_long_reason = """2009-08-19  Eric Seidel  <[email protected]>
 
         Unreviewed, rolling out r12345.
-        http://trac.webkit.org/changeset/12345
-        http://example.com/123
 
         This is a very long reason which should be long enough so that
         _message_for_revert will need to wrap it.  We'll also include
@@ -95,9 +126,35 @@
         https://veryveryveryveryverylongbugurl.com/reallylongbugthingy.cgi?bug_id=12354
         link so that we can make sure we wrap that right too.
 
-        * Scripts/bugzilla-tool:
+        Reverted changeset:
+
+        "Blocked Bug's Description"
+        http://bug.example.com/12345
+        http://trac.webkit.org/changeset/12345
 """
 
+    _multiple_revert_entry_with_rollout_bug_url = '''2009-08-19  Eric Seidel  <[email protected]>
+
+        Unreviewed, rolling out r12345, r12346, and r12347.
+        http://rollout.example.com/56789
+
+        Reason
+
+        Reverted changesets:
+
+        "r12345's Description"
+        http://bug.example.com/12345
+        http://trac.webkit.org/changeset/12345
+
+        "r12346's Description"
+        http://bug.example.com/12346
+        http://trac.webkit.org/changeset/12346
+
+        "r12347's Description"
+        http://bug.example.com/12347
+        http://trac.webkit.org/changeset/12347
+'''
+
     def _assert_message_for_revert_output(self, args, expected_entry):
         changelog_contents = u"%s\n%s" % (changelog_unittest.ChangeLogTest._new_entry_boilerplate, changelog_unittest.ChangeLogTest._example_changelog)
         changelog_path = "ChangeLog"
@@ -112,9 +169,11 @@
         self.assertEqual(actual_entry.author_email(), "[email protected]")
 
     def test_message_for_revert(self):
-        self._assert_message_for_revert_output([[12345], "Reason"], self._revert_entry_without_bug_url)
-        self._assert_message_for_revert_output([[12345], "Reason", "http://example.com/123"], self._revert_entry_with_bug_url)
-        self._assert_message_for_revert_output([[12345, 12346, 12347], "Reason"], self._multiple_revert_entry_without_bug_url)
-        self._assert_message_for_revert_output([[12345, 12346, 12347], "Reason", "http://example.com/123"], self._multiple_revert_entry_with_bug_url)
+        self._assert_message_for_revert_output([[12345], "Reason", ["Blocked Bug's Description"], ["http://bug.example.com/12345"]], self._revert_entry)
+        self._assert_message_for_revert_output([[12345], "Reason", [None], [None]], self._revert_entry_with_missing_bug_url_and_description)
+        self._assert_message_for_revert_output([[12345, 12346, 12347], "Reason", ["r12345's Description", "r12346's Description", "r12347's Description"], ["http://bug.example.com/12345", "http://bug.example.com/12346", "http://bug.example.com/12347"]], self._multiple_revert_entry)
+        self._assert_message_for_revert_output([[12345, 12346, 12347], "Reason", [None, None, None], [None, None, None]], self._multiple_revert_entry_with_missing_bug_urls_and_descriptions)
+        self._assert_message_for_revert_output([[12345, 12346, 12347], "Reason", ["r12345's Description", None, "r12347's Description"], ["http://bug.example.com/12345", None, "http://bug.example.com/12347"]], self._multiple_revert_entry_with_a_missing_bug_url_and_description)
         long_reason = "This is a very long reason which should be long enough so that _message_for_revert will need to wrap it.  We'll also include a https://veryveryveryveryverylongbugurl.com/reallylongbugthingy.cgi?bug_id=12354 link so that we can make sure we wrap that right too."
-        self._assert_message_for_revert_output([[12345], long_reason, "http://example.com/123"], self._revert_with_log_reason)
+        self._assert_message_for_revert_output([[12345], long_reason, ["Blocked Bug's Description"], ["http://bug.example.com/12345"]], self._revert_with_long_reason)
+        self._assert_message_for_revert_output([[12345, 12346, 12347], "Reason", ["r12345's Description", "r12346's Description", "r12347's Description"], ["http://bug.example.com/12345", "http://bug.example.com/12346", "http://bug.example.com/12347"], "http://rollout.example.com/56789"], self._multiple_revert_entry_with_rollout_bug_url)

Modified: trunk/Tools/Scripts/webkitpy/tool/steps/reopenbugafterrollout.py (165446 => 165447)


--- trunk/Tools/Scripts/webkitpy/tool/steps/reopenbugafterrollout.py	2014-03-11 11:19:06 UTC (rev 165446)
+++ trunk/Tools/Scripts/webkitpy/tool/steps/reopenbugafterrollout.py	2014-03-11 11:23:27 UTC (rev 165447)
@@ -39,7 +39,7 @@
         commit_comment = bug_comment_from_commit_text(self._tool.scm(), state["commit_text"])
         comment_text = "Reverted r%s for reason:\n\n%s\n\n%s" % (state["revision"], state["reason"], commit_comment)
 
-        bug_id = state["bug_id"]
+        bug_id = state["bug_blocked"]
         if not bug_id:
             _log.info(comment_text)
             _log.info("No bugs were updated.")
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to