[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

eric at webkit.org eric at webkit.org
Wed Dec 22 14:53:43 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit e6de40e465f5675fce9299eb0c8b59d68789d3fe
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Oct 23 06:47:45 2010 +0000

    2010-10-22  Eric Seidel  <eric at webkit.org>
    
            Reviewed by Adam Barth.
    
            EWS never releases patches which fail to apply
            https://bugs.webkit.org/show_bug.cgi?id=48171
    
            * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
            * Scripts/webkitpy/tool/commands/queues.py:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70382 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 4806f13..db8a5d3 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,5 +1,15 @@
 2010-10-22  Eric Seidel  <eric at webkit.org>
 
+        Reviewed by Adam Barth.
+
+        EWS never releases patches which fail to apply
+        https://bugs.webkit.org/show_bug.cgi?id=48171
+
+        * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
+        * Scripts/webkitpy/tool/commands/queues.py:
+
+2010-10-22  Eric Seidel  <eric at webkit.org>
+
         Unreviewed.
 
         Make the EWS queues restart themselves more often.
diff --git a/WebKitTools/Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py b/WebKitTools/Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py
index 448c314..ae44748 100644
--- a/WebKitTools/Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py
+++ b/WebKitTools/Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py
@@ -29,11 +29,27 @@
 import os
 
 from webkitpy.thirdparty.mock import Mock
+from webkitpy.common.system.outputcapture import OutputCapture
+from webkitpy.tool.bot.queueengine import QueueEngine
 from webkitpy.tool.commands.earlywarningsystem import *
 from webkitpy.tool.commands.queuestest import QueuesTest
 from webkitpy.tool.mocktool import MockTool
 
 
+class AbstractEarlyWarningSystemTest(QueuesTest):
+    def test_subprocess_handled_error(self):
+        queue = AbstractReviewQueue()
+        queue.bind_to_tool(MockTool())
+
+        def mock_review_patch(patch):
+            raise ScriptError('MOCK script error', exit_code=QueueEngine.handled_error_code)
+
+        queue.review_patch = mock_review_patch
+        mock_patch = queue._tool.bugs.fetch_attachment(197)
+        expected_stderr = "MOCK: release_work_item: None 197\n"
+        OutputCapture().assert_outputs(self, queue.process_work_item, [mock_patch], expected_stderr=expected_stderr, expected_exception=ScriptError)
+
+
 class EarlyWarningSytemTest(QueuesTest):
     def test_failed_builds(self):
         ews = ChromiumLinuxEWS()
diff --git a/WebKitTools/Scripts/webkitpy/tool/commands/queues.py b/WebKitTools/Scripts/webkitpy/tool/commands/queues.py
index 346c036..d6efeb4 100644
--- a/WebKitTools/Scripts/webkitpy/tool/commands/queues.py
+++ b/WebKitTools/Scripts/webkitpy/tool/commands/queues.py
@@ -412,6 +412,10 @@ class AbstractReviewQueue(AbstractPatchQueue, StepSequenceErrorHandler):
         except ScriptError, e:
             if e.exit_code != QueueEngine.handled_error_code:
                 self._did_fail(patch)
+            else:
+                # The subprocess handled the error, but won't have released the patch, so we do.
+                # FIXME: We need to simplify the rules by which _release_work_item is called.
+                self._release_work_item(patch)
             raise e
 
     def handle_unexpected_error(self, patch, message):

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list