Index: recipe_engine/run.py |
diff --git a/recipe_engine/run.py b/recipe_engine/run.py |
index 96e871229a6ac62c1d5e948d01dbca184269e980..8fde4bff76bb9a5289200b07cb08d510788e3d77 100644 |
--- a/recipe_engine/run.py |
+++ b/recipe_engine/run.py |
@@ -210,7 +210,7 @@ def run_steps(properties, stream_engine, step_runner, universe_view): |
'TESTING_SLAVENAME' in os.environ)): |
properties['use_mirror'] = False |
- with stream_engine.new_step_stream('setup_build') as s: |
+ with stream_engine.make_step_stream('setup_build') as s: |
engine = RecipeEngine(step_runner, properties, universe_view) |
# Create all API modules and top level RunSteps function. It doesn't launch |
@@ -297,7 +297,7 @@ class RecipeEngine(object): |
""" |
ActiveStep = collections.namedtuple('ActiveStep', ( |
- 'step', 'step_result', 'open_step', 'nest_level')) |
+ 'config', 'step_result', 'open_step')) |
def __init__(self, step_runner, properties, universe_view): |
"""See run_steps() for parameter meanings.""" |
@@ -349,48 +349,44 @@ class RecipeEngine(object): |
Args: |
level (int): the nest level to close through. |
""" |
- while self._step_stack and self._step_stack[-1].nest_level >= level: |
+ while self._step_stack and self._step_stack[-1].config.nest_level >= level: |
cur = self._step_stack.pop() |
if cur.step_result: |
cur.step_result.presentation.finalize(cur.open_step.stream) |
cur.open_step.finalize() |
- def run_step(self, step): |
+ def run_step(self, step_dict): |
""" |
Runs a step. |
Args: |
- step: The step to run. |
+ step_dict (dict): A step dictionary to run. |
Returns: |
A StepData object containing the result of running the step. |
""" |
+ step_config = recipe_api._make_step_config(**step_dict) |
with util.raises((recipe_api.StepFailure, OSError), |
self._step_runner.stream_engine): |
- ok_ret = step.pop('ok_ret') |
- infra_step = step.pop('infra_step') |
- |
step_result = None |
- nest_level = step.get('nest_level', 0) |
- self._close_through_level(nest_level) |
+ self._close_through_level(step_config.nest_level) |
- open_step = self._step_runner.open_step(step) |
+ open_step = self._step_runner.open_step(step_config) |
self._step_stack.append(self.ActiveStep( |
- step=step, |
+ config=step_config, |
step_result=None, |
- open_step=open_step, |
- nest_level=nest_level)) |
+ open_step=open_step)) |
step_result = open_step.run() |
self._step_stack[-1] = ( |
self._step_stack[-1]._replace(step_result=step_result)) |
- if step_result.retcode in ok_ret: |
+ if step_result.retcode in step_config.ok_ret: |
step_result.presentation.status = 'SUCCESS' |
return step_result |
else: |
- if not infra_step: |
+ if not step_config.infra_step: |
state = 'FAILURE' |
exc = recipe_api.StepFailure |
else: |
@@ -402,7 +398,7 @@ class RecipeEngine(object): |
self._step_stack[-1].open_step.stream.write_line( |
'step returned non-zero exit code: %d' % step_result.retcode) |
- raise exc(step['name'], step_result) |
+ raise exc(step_config.name, step_result) |
def run(self, recipe_script, api): |
"""Run a recipe represented by a recipe_script object. |
@@ -464,18 +460,6 @@ class RecipeEngine(object): |
result['name'] = '$result' |
return RecipeResult(result) |
- def create_step(self, step): # pylint: disable=R0201 |
- """Called by step module to instantiate a new step. |
- |
- Args: |
- step: ConfigGroup object with information about the step, see |
- recipe_modules/step/config.py. |
- |
- Returns: |
- Opaque engine specific object that is understood by 'run_steps' method. |
- """ |
- return step.as_jsonish() |
- |
def depend_on(self, recipe, properties, distributor=None): |
return self.depend_on_multi( |
((recipe, properties),), distributor=distributor)[0] |