Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(976)

Unified Diff: master/skia_master_scripts/commands.py

Issue 648353002: Remove Skia's forked buildbot code (Closed) Base URL: https://skia.googlesource.com/buildbot.git@master
Patch Set: Address comment Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « master/skia_master_scripts/chromeos_factory.py ('k') | master/skia_master_scripts/drt_canary_factory.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: master/skia_master_scripts/commands.py
diff --git a/master/skia_master_scripts/commands.py b/master/skia_master_scripts/commands.py
deleted file mode 100644
index 9728a42cebbcb4a34432912225e7ea02a829d42b..0000000000000000000000000000000000000000
--- a/master/skia_master_scripts/commands.py
+++ /dev/null
@@ -1,124 +0,0 @@
-# Copyright (c) 2012 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""Set of utilities to add commands to a buildbot factory.
-
-This is based on commands.py and adds skia-specific commands.
-
-TODO(borenet): Do we need this file at all? Can't we just do everything
-in factory.py? (See https://codereview.chromium.org/248053003/ )
-"""
-
-
-from buildbot.process.properties import WithProperties
-from master.factory import commands
-import skia_build_step
-
-
-class SkiaCommands(commands.FactoryCommands):
-
- def __init__(self, factory, configuration, workdir, target_arch,
- default_timeout, target_platform, environment_variables):
- """Instantiates subclass of FactoryCommands appropriate for Skia.
-
- factory: a BaseFactory
- configuration: 'Debug' or 'Release'
- workdir: string indicating path within slave directory
- target_arch: string such as 'x64'
- default_timeout: default timeout for each command, in seconds
- target_platform: a string such as skia_factory.TARGET_PLATFORM_LINUX,
- to be passed into FactoryCommands.__init__()
- environment_variables: dictionary of environment variables that should
- be passed to all commands
- """
- commands.FactoryCommands.__init__(
- self, factory=factory, target=configuration,
- build_dir='', target_platform=target_platform)
- # Store some parameters that the subclass may want to use later.
- self.default_timeout = default_timeout
- self.environment_variables = environment_variables
- self.factory = factory
- self.target_arch = target_arch
- self.workdir = workdir
- # TODO(epoger): It would be better for this path to be specified by
- # an environment variable or some such, so that it is not dependent on the
- # path from CWD to slave/skia_slave_scripts... but for now, this will do.
- self._local_slave_script_dir = self.PathJoin(
- '..', '..', '..', '..', '..', '..', 'slave', 'skia_slave_scripts')
-
- # TODO(borenet): Can kwargs be used to simplify this function declaration?
- def AddSlaveScript(self, script, args, description, timeout=None,
- halt_on_failure=False, is_upload_step=False,
- is_rebaseline_step=False, get_props_from_stdout=None,
- workdir=None, do_step_if=None,
- always_run=False, flunk_on_failure=True,
- exception_on_failure=False):
- """Run a slave-side Python script as its own build step."""
- if workdir:
- path_to_script = script
- use_workdir = workdir
- else:
- path_to_script = self.PathJoin(self._local_slave_script_dir, script)
- use_workdir = self.workdir
- self.AddRunCommand(command=['python', path_to_script] + args,
- description=description, timeout=timeout,
- halt_on_failure=halt_on_failure,
- is_upload_step=is_upload_step,
- is_rebaseline_step=is_rebaseline_step,
- get_props_from_stdout=get_props_from_stdout,
- workdir=use_workdir,
- do_step_if=do_step_if,
- always_run=always_run,
- flunk_on_failure=flunk_on_failure,
- exception_on_failure=exception_on_failure)
-
- # TODO(borenet): Can kwargs be used to simplify this function declaration?
- def AddRunCommand(self, command, description='Run', timeout=None,
- halt_on_failure=False, is_upload_step=False,
- is_rebaseline_step=False, get_props_from_stdout=None,
- workdir=None, do_step_if=None, always_run=False,
- flunk_on_failure=True, exception_on_failure=False):
- """Runs an arbitrary command, perhaps a binary we built."""
- if description not in self.factory.dontskipsteps:
- if description in self.factory.skipsteps:
- return
-
- # If a developer has marked the step as dontskip, make sure it will run.
- if description in self.factory.dontskipsteps:
- do_step_if = True
-
- if not timeout:
- timeout = self.default_timeout
- self.factory.addStep(skia_build_step.SkiaBuildStep,
- is_upload_step=is_upload_step,
- is_rebaseline_step=is_rebaseline_step,
- get_props_from_stdout=get_props_from_stdout,
- description=description, timeout=timeout,
- command=command, workdir=workdir or self.workdir,
- env=self.environment_variables,
- haltOnFailure=halt_on_failure,
- doStepIf=do_step_if or skia_build_step.ShouldDoStep,
- alwaysRun=always_run,
- flunkOnFailure=flunk_on_failure,
- exception_on_failure=exception_on_failure,
- hideStepIf=lambda s: s.isSkipped())
-
- # TODO(borenet): Can kwargs be used to simplify this function declaration?
- def AddRunCommandList(self, command_list, description='Run', timeout=None,
- halt_on_failure=False, is_upload_step=False,
- is_rebaseline_step=False):
- """Runs a list of arbitrary commands."""
- # TODO(epoger): Change this so that build-step output shows each command
- # in the list separately--that will be a lot easier to follow.
- #
- # TODO(epoger): For now, this wraps the total command with WithProperties()
- # because *some* callers need it, and we can't use the string.join() command
- # to concatenate strings that have already been wrapped with
- # WithProperties(). Once I figure out how to make the build-step output
- # show each command separately, maybe I can remove this wrapper.
- self.AddRunCommand(command=WithProperties(' && '.join(command_list)),
- description=description, timeout=timeout,
- halt_on_failure=halt_on_failure,
- is_upload_step=is_upload_step,
- is_rebaseline_step=is_rebaseline_step)
« no previous file with comments | « master/skia_master_scripts/chromeos_factory.py ('k') | master/skia_master_scripts/drt_canary_factory.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698