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

Unified Diff: recipe_modules/raw_io/example.py

Issue 2909983003: [loader] Make recipe engine support examples/ module subdir (Closed)
Patch Set: Created 3 years, 7 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
Index: recipe_modules/raw_io/example.py
diff --git a/recipe_modules/raw_io/example.py b/recipe_modules/raw_io/example.py
deleted file mode 100644
index 11c308d444241e9bf3db45086ed00a8c17ce8ad3..0000000000000000000000000000000000000000
--- a/recipe_modules/raw_io/example.py
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 2014 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 = [
- 'path',
- 'properties',
- 'python',
- 'raw_io',
- 'step',
-]
-
-
-def RunSteps(api):
- # Read command's stdout and stderr.
- step_result = api.step('echo', ['echo', 'Hello World'],
- stdout=api.raw_io.output(),
- stderr=api.raw_io.output())
- assert step_result.stdout == 'Hello World\n'
- assert step_result.stderr == ''
-
- # Pass stuff to command's stdin, read it from stdout.
- step_result = api.step('cat', ['cat'],
- stdin=api.raw_io.input_text(data='hello'),
- stdout=api.raw_io.output('out'))
- assert step_result.stdout == 'hello'
-
- step_result = api.step('cat', ['cat', api.raw_io.input_text(data='hello')],
- stdout=api.raw_io.output('out'))
- assert step_result.stdout == 'hello'
-
- # \xe2 is not encodable by utf-8 (and has shown up in actual recipe data)
- # so test that input correctly doesn't try to encode it as utf-8.
- step_result = api.step('cat', ['cat'],
- stdin=api.raw_io.input(data='\xe2hello'),
- stdout=api.raw_io.output())
- assert step_result.stdout == '\xe2hello'
-
- # Example of auto-mocking stdout. '\n' appended to mock 'echo' behavior.
- step_result = api.step('automock', ['echo', 'huh'],
- stdout=api.raw_io.output('out'),
- step_test_data=(
- lambda: api.raw_io.test_api.stream_output('huh\n')))
- assert step_result.stdout == 'huh\n'
-
- # Example of auto-mocking stdout + stderr.
- step_result = api.step(
- 'automock (fail)', ['bash', '-c', 'echo blah && echo fail 1>&2'],
- stdout=api.raw_io.output('out'),
- stderr=api.raw_io.output('err'),
- step_test_data=(
- lambda: (
- api.raw_io.test_api.stream_output('blah\n') +
- api.raw_io.test_api.stream_output('fail\n', 'stderr')
- ))
- )
- assert step_result.stdout == 'blah\n'
- assert step_result.stderr == 'fail\n'
-
- # leak_to coverage.
- step_result = api.step(
- 'leak stdout', ['echo', 'leaking'],
- stdout=api.raw_io.output(leak_to=api.path['tmp_base'].join('out.txt')),
- step_test_data=(
- lambda: api.raw_io.test_api.stream_output('leaking\n')))
- assert step_result.stdout == 'leaking\n'
-
- api.step('list temp dir', ['ls', api.raw_io.output_dir()])
- api.step('leak dir', ['ls', api.raw_io.output_dir(
- leak_to=api.path['tmp_base'].join('out'))])
-
- # Example of overriding default mocked output for a single named output.
- step_result = api.python.inline(
- 'override_default_mock',
- """
- import sys
- with open(sys.argv[1], 'w') as f:
- f.write(%r)
- """ % api.properties.get('some_prop', 'good_value'),
- args=[api.raw_io.output_text(name='test')],
- step_test_data=(
- lambda: api.raw_io.test_api.output_text(
- 'second_bad_value', name='test')))
- assert step_result.raw_io.output_texts['test'] == 'good_value'
- assert step_result.raw_io.output_text == 'good_value'
-
-
-def GenTests(api):
- # This test shows that you can override a specific placeholder, even with
- # default `step_test_data`. However, since this recipe is ACTUALLY run in
- # the presubmit, we need to do a trick with properties:
- # When run for real, "some_prop" will be "good_value" and pass.
- # When run for simulation, we override this property to provide a bad value,
- # AND the default step_test_data in RunSteps above ALSO provides another
- # bad value, the simulation passes ONLY because of the
- # 'override_default_mock' below.
- yield (api.test('basic') +
- api.properties(some_prop='bad_value') +
- api.step_data('echo',
- stdout=api.raw_io.output('Hello World\n'),
- stderr=api.raw_io.output('')) +
- api.step_data('cat',
- stdout=api.raw_io.output('hello')) +
- api.step_data('cat (2)',
- stdout=api.raw_io.output('hello')) +
- api.step_data('cat (3)',
- stdout=api.raw_io.output('\xe2hello')) +
- api.step_data('override_default_mock',
- api.raw_io.output_text('good_value', name='test'))
- )
« no previous file with comments | « recipe_modules/python/examples/full.resources/test.vpython ('k') | recipe_modules/raw_io/example.expected/basic.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698