summaryrefslogtreecommitdiff
path: root/tools/patman/command.py
diff options
context:
space:
mode:
authorTom Rini <trini@ti.com>2014-09-09 20:02:43 -0400
committerTom Rini <trini@ti.com>2014-09-09 20:02:43 -0400
commit5935408a4092a1a132ff1ce866374ab1ed555bcd (patch)
tree232412fb1d28582fc261a23d04f866c795e72d19 /tools/patman/command.py
parent8c9c74e4c69b43cd50a1f04b34cfc141ed21654c (diff)
parentd0ea61d9caf85e4285d5c2da508db9fac70e4aba (diff)
Merge branch 'buildman' of git://git.denx.de/u-boot-x86
Diffstat (limited to 'tools/patman/command.py')
-rw-r--r--tools/patman/command.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/tools/patman/command.py b/tools/patman/command.py
index 449d3d0e035..d586f111586 100644
--- a/tools/patman/command.py
+++ b/tools/patman/command.py
@@ -20,9 +20,25 @@ class CommandResult:
def __init__(self):
self.stdout = None
self.stderr = None
+ self.combined = None
self.return_code = None
self.exception = None
+ def __init__(self, stdout='', stderr='', combined='', return_code=0,
+ exception=None):
+ self.stdout = stdout
+ self.stderr = stderr
+ self.combined = combined
+ self.return_code = return_code
+ self.exception = exception
+
+
+# This permits interception of RunPipe for test purposes. If it is set to
+# a function, then that function is called with the pipe list being
+# executed. Otherwise, it is assumed to be a CommandResult object, and is
+# returned as the result for every RunPipe() call.
+# When this value is None, commands are executed as normal.
+test_result = None
def RunPipe(pipe_list, infile=None, outfile=None,
capture=False, capture_stderr=False, oneline=False,
@@ -44,10 +60,16 @@ def RunPipe(pipe_list, infile=None, outfile=None,
Returns:
CommandResult object
"""
+ if test_result:
+ if hasattr(test_result, '__call__'):
+ return test_result(pipe_list=pipe_list)
+ return test_result
result = CommandResult()
last_pipe = None
pipeline = list(pipe_list)
user_pipestr = '|'.join([' '.join(pipe) for pipe in pipe_list])
+ kwargs['stdout'] = None
+ kwargs['stderr'] = None
while pipeline:
cmd = pipeline.pop(0)
if last_pipe is not None: