Index: Tools/Scripts/webkitpy/tool/commands/queuestest.py |
diff --git a/Tools/Scripts/webkitpy/tool/commands/queuestest.py b/Tools/Scripts/webkitpy/tool/commands/queuestest.py |
deleted file mode 100644 |
index 9812eb7072374a7c7a4809da479f88b50585a3c8..0000000000000000000000000000000000000000 |
--- a/Tools/Scripts/webkitpy/tool/commands/queuestest.py |
+++ /dev/null |
@@ -1,107 +0,0 @@ |
-# Copyright (C) 2009 Google Inc. All rights reserved. |
-# |
-# Redistribution and use in source and binary forms, with or without |
-# modification, are permitted provided that the following conditions are |
-# met: |
-# |
-# * Redistributions of source code must retain the above copyright |
-# notice, this list of conditions and the following disclaimer. |
-# * Redistributions in binary form must reproduce the above |
-# copyright notice, this list of conditions and the following disclaimer |
-# in the documentation and/or other materials provided with the |
-# distribution. |
-# * Neither the name of Google Inc. nor the names of its |
-# contributors may be used to endorse or promote products derived from |
-# this software without specific prior written permission. |
-# |
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
- |
-import webkitpy.thirdparty.unittest2 as unittest |
- |
-from webkitpy.common.net.bugzilla import Attachment |
-from webkitpy.common.system.outputcapture import OutputCapture |
-from webkitpy.common.system.executive import ScriptError |
-from webkitpy.thirdparty.mock import Mock |
-from webkitpy.tool.commands.stepsequence import StepSequenceErrorHandler |
-from webkitpy.tool.mocktool import MockTool |
- |
- |
-class MockQueueEngine(object): |
- def __init__(self, name, queue, wakeup_event, seconds_to_sleep): |
- pass |
- |
- def run(self): |
- pass |
- |
- |
-class QueuesTest(unittest.TestCase): |
- # This is _patch1 in mocktool.py |
- mock_work_item = MockTool().bugs.fetch_attachment(10000) |
- |
- def assert_outputs(self, func, func_name, args, expected_stdout, expected_stderr, expected_exceptions, expected_logs): |
- exception = None |
- if expected_exceptions and func_name in expected_exceptions: |
- exception = expected_exceptions[func_name] |
- |
- logs = None |
- if expected_logs and func_name in expected_logs: |
- logs = expected_logs[func_name] |
- |
- OutputCapture().assert_outputs(self, |
- func, |
- args=args, |
- expected_stdout=expected_stdout.get(func_name, ""), |
- expected_stderr=expected_stderr.get(func_name, ""), |
- expected_exception=exception, |
- expected_logs=logs) |
- |
- def _default_begin_work_queue_stderr(self, name): |
- string_replacements = {"name": name} |
- return "MOCK: update_status: %(name)s Starting Queue\n" % string_replacements |
- |
- def _default_begin_work_queue_logs(self, name): |
- checkout_dir = '/mock-checkout' |
- string_replacements = {"name": name, 'checkout_dir': checkout_dir} |
- return "CAUTION: %(name)s will discard all local changes in \"%(checkout_dir)s\"\nRunning WebKit %(name)s.\nMOCK: update_status: %(name)s Starting Queue\n" % string_replacements |
- |
- def assert_queue_outputs(self, queue, args=None, work_item=None, expected_stdout=None, expected_stderr=None, expected_exceptions=None, expected_logs=None, options=None, tool=None): |
- if not tool: |
- tool = MockTool() |
- # This is a hack to make it easy for callers to not have to setup a custom MockFileSystem just to test the commit-queue |
- # the cq tries to read the layout test results, and will hit a KeyError in MockFileSystem if we don't do this. |
- tool.filesystem.write_text_file('/mock-results/full_results.json', "") |
- if not expected_stdout: |
- expected_stdout = {} |
- if not expected_stderr: |
- expected_stderr = {} |
- if not args: |
- args = [] |
- if not options: |
- options = Mock() |
- options.port = None |
- if not work_item: |
- work_item = self.mock_work_item |
- tool.user.prompt = lambda message: "yes" |
- |
- queue.execute(options, args, tool, engine=MockQueueEngine) |
- |
- self.assert_outputs(queue.queue_log_path, "queue_log_path", [], expected_stdout, expected_stderr, expected_exceptions, expected_logs) |
- self.assert_outputs(queue.work_item_log_path, "work_item_log_path", [work_item], expected_stdout, expected_stderr, expected_exceptions, expected_logs) |
- self.assert_outputs(queue.begin_work_queue, "begin_work_queue", [], expected_stdout, expected_stderr, expected_exceptions, expected_logs) |
- self.assert_outputs(queue.should_continue_work_queue, "should_continue_work_queue", [], expected_stdout, expected_stderr, expected_exceptions, expected_logs) |
- self.assert_outputs(queue.next_work_item, "next_work_item", [], expected_stdout, expected_stderr, expected_exceptions, expected_logs) |
- self.assert_outputs(queue.process_work_item, "process_work_item", [work_item], expected_stdout, expected_stderr, expected_exceptions, expected_logs) |
- self.assert_outputs(queue.handle_unexpected_error, "handle_unexpected_error", [work_item, "Mock error message"], expected_stdout, expected_stderr, expected_exceptions, expected_logs) |
- # Should we have a different function for testing StepSequenceErrorHandlers? |
- if isinstance(queue, StepSequenceErrorHandler): |
- self.assert_outputs(queue.handle_script_error, "handle_script_error", [tool, {"patch": self.mock_work_item}, ScriptError(message="ScriptError error message", script_args="MockErrorCommand", output="MOCK output")], expected_stdout, expected_stderr, expected_exceptions, expected_logs) |