diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-02-24 16:36:50 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-02-24 16:36:50 +0100 |
commit | ad0d549d4cc13433f77c1ac8f0ab379c83d93f28 (patch) | |
tree | b34b0daceb7c8e7fdde4b4ec43650ab7caadb0a9 /Tools/Scripts/webkitpy/tool/commands/earlywarningsystem.py | |
parent | 03e12282df9aa1e1fb05a8b90f1cfc2e08764cec (diff) | |
download | qtwebkit-ad0d549d4cc13433f77c1ac8f0ab379c83d93f28.tar.gz |
Imported WebKit commit bb52bf3c0119e8a128cd93afe5572413a8617de9 (http://svn.webkit.org/repository/webkit/trunk@108790)
Diffstat (limited to 'Tools/Scripts/webkitpy/tool/commands/earlywarningsystem.py')
-rw-r--r-- | Tools/Scripts/webkitpy/tool/commands/earlywarningsystem.py | 41 |
1 files changed, 12 insertions, 29 deletions
diff --git a/Tools/Scripts/webkitpy/tool/commands/earlywarningsystem.py b/Tools/Scripts/webkitpy/tool/commands/earlywarningsystem.py index cbf4ce6d2..4085e366a 100644 --- a/Tools/Scripts/webkitpy/tool/commands/earlywarningsystem.py +++ b/Tools/Scripts/webkitpy/tool/commands/earlywarningsystem.py @@ -26,28 +26,29 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +from optparse import make_option + from webkitpy.common.config.committers import CommitterList -from webkitpy.common.config.ports import WebKitPort +from webkitpy.common.config.ports import DeprecatedPort from webkitpy.common.system.deprecated_logging import error, log from webkitpy.common.system.executive import ScriptError +from webkitpy.tool.bot.earlywarningsystemtask import EarlyWarningSystemTask, EarlyWarningSystemTaskDelegate from webkitpy.tool.bot.expectedfailures import ExpectedFailures from webkitpy.tool.bot.layouttestresultsreader import LayoutTestResultsReader +from webkitpy.tool.bot.patchanalysistask import UnableToApplyPatch from webkitpy.tool.bot.queueengine import QueueEngine -from webkitpy.tool.bot.earlywarningsystemtask import EarlyWarningSystemTask, EarlyWarningSystemTaskDelegate, UnableToApplyPatch from webkitpy.tool.commands.queues import AbstractReviewQueue class AbstractEarlyWarningSystem(AbstractReviewQueue, EarlyWarningSystemTaskDelegate): _build_style = "release" - # FIXME: Switch _run_tests from opt-in to opt-out once more bots are ready to run tests. - _run_tests = False + # FIXME: Switch _default_run_tests from opt-in to opt-out once more bots are ready to run tests. + _default_run_tests = False def __init__(self): - AbstractReviewQueue.__init__(self) - self.port = WebKitPort.port(self.port_name) - - def should_proceed_with_work_item(self, patch): - return True + options = [make_option("--run-tests", action="store_true", dest="run_tests", default=self._default_run_tests, help="Run the Layout tests for each patch")] + AbstractReviewQueue.__init__(self, options=options) + self.port = DeprecatedPort.port(self.port_name) def begin_work_queue(self): # FIXME: This violates abstraction @@ -73,7 +74,7 @@ class AbstractEarlyWarningSystem(AbstractReviewQueue, EarlyWarningSystemTaskDele tool.bugs.set_flag_on_attachment(patch.id(), "commit-queue", "-", message, extra_message_text) def review_patch(self, patch): - task = EarlyWarningSystemTask(self, patch, self._run_tests) + task = EarlyWarningSystemTask(self, patch, self._options.run_tests) if not task.validate(): self._did_error(patch, "%s did not process patch." % self.name) return False @@ -179,31 +180,13 @@ class ChromiumLinuxEWS(AbstractChromiumEWS): # a database migration. :( name = "chromium-ews" port_name = "chromium-xvfb" - _run_tests = True + _default_run_tests = True class ChromiumWindowsEWS(AbstractChromiumEWS): name = "cr-win-ews" -# For platforms that we can't run inside a VM (like Mac OS X), we require -# patches to be uploaded by committers, who are generally trustworthy folk. :) -class AbstractCommitterOnlyEWS(AbstractEarlyWarningSystem): - def process_work_item(self, patch): - if not patch.attacher() or not patch.attacher().can_commit: - self._did_error(patch, "%s cannot process patches from non-committers :(" % self.name) - return False - return AbstractEarlyWarningSystem.process_work_item(self, patch) - - -# FIXME: Inheriting from AbstractCommitterOnlyEWS is kinda a hack, but it -# happens to work because AbstractChromiumEWS and AbstractCommitterOnlyEWS -# provide disjoint sets of functionality, and Python is otherwise smart -# enough to handle the diamond inheritance. -class ChromiumMacEWS(AbstractChromiumEWS, AbstractCommitterOnlyEWS): - name = "cr-mac-ews" - - class MacEWS(AbstractEarlyWarningSystem): name = "mac-ews" port_name = "mac" |