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

Unified Diff: scripts/slave/recipe_modules/raw_io/example.py

Issue 1347263002: Revert of Cross-repo recipe package system. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 5 years, 3 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: scripts/slave/recipe_modules/raw_io/example.py
diff --git a/scripts/slave/recipe_modules/raw_io/example.py b/scripts/slave/recipe_modules/raw_io/example.py
new file mode 100644
index 0000000000000000000000000000000000000000..3bcbc44498a110f5e986981ab462c871fccdd222
--- /dev/null
+++ b/scripts/slave/recipe_modules/raw_io/example.py
@@ -0,0 +1,66 @@
+# Copyright 2014 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.
+
+DEPS = [
+ 'path',
+ '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(data='hello'),
+ stdout=api.raw_io.output('out'))
+ assert step_result.stdout == 'hello'
+
+ # 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['slave_build'].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['slave_build'].join('out'))])
+
+
+def GenTests(api):
+ yield (api.test('basic') +
+ 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')))
« no previous file with comments | « scripts/slave/recipe_modules/raw_io/api.py ('k') | scripts/slave/recipe_modules/raw_io/example.expected/basic.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698