| Index: recipes/example/nested.py
|
| diff --git a/recipes/example/nested.py b/recipes/example/nested.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c16844aca179c895b31e80ea776565d5b358d1f4
|
| --- /dev/null
|
| +++ b/recipes/example/nested.py
|
| @@ -0,0 +1,41 @@
|
| +# Copyright 2015 The LUCI Authors. All rights reserved.
|
| +# Use of this source code is governed under the Apache License, Version 2.0
|
| +# that can be found in the LICENSE file.
|
| +
|
| +
|
| +DEPS = [
|
| + 'step',
|
| +]
|
| +
|
| +
|
| +def RunSteps(api):
|
| + # Nest all steps below this.
|
| + with api.step.nest('complicated thing'):
|
| + with api.step.nest('first part'):
|
| + api.step('wait a bit', ['sleep', '1'])
|
| +
|
| + # Prefix the name without indenting.
|
| + with api.step.context({'name': 'attempt number'}):
|
| + step_result = api.step('one', ['echo', 'herpy'])
|
| + assert step_result.step['name'] == 'complicated thing.attempt number.one'
|
| + api.step('two', ['echo', 'derpy'])
|
| +
|
| + # Outer nested step's status should not inherit from inner.
|
| + with api.step.nest('inherit status') as nest_step:
|
| + with api.step.nest('inner step') as other_nest_step:
|
| + other_nest_step.presentation.status = api.step.EXCEPTION
|
| + assert nest_step.presentation.status == api.step.SUCCESS
|
| +
|
| + # Change outer status after nesting is complete.
|
| + with api.step.nest('versatile status') as nest_step:
|
| + with api.step.nest('inner step'):
|
| + with api.step.nest('even deeper'):
|
| + pass
|
| + nest_step.presentation.status = api.step.FAILURE
|
| + assert nest_step.presentation.status == api.step.FAILURE
|
| +
|
| + api.step('simple thing', ['sleep', '1'])
|
| +
|
| +
|
| +def GenTests(api):
|
| + yield api.test('basic')
|
|
|