aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorStephen Warren2016-01-22 12:30:11 -0700
committerSimon Glass2016-01-28 21:01:23 -0700
commit3f2faf7327ae7cf1a78097a8089f91e3f2aa8652 (patch)
tree171ad841725e659ea8ec1cf7d1e17008ff7b8e5d /test
parent783cbcd3604088e9ff12b552fc209b3696c0e2b6 (diff)
test/py: optionally ignore errors from shell commands
Sometimes it's useful to run shell commands and ignore any errors. One example might be cleanup logic; if a test-case experiences an error, the cleanup logic might experience an error too, and we don't want that error to mask the original error, so we want to ignore the subsequent error. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'test')
-rw-r--r--test/py/multiplexed_log.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/test/py/multiplexed_log.py b/test/py/multiplexed_log.py
index 48f2b51de15..5059bbfb99c 100644
--- a/test/py/multiplexed_log.py
+++ b/test/py/multiplexed_log.py
@@ -106,13 +106,17 @@ class RunAndLog(object):
'''Clean up any resources managed by this object.'''
pass
- def run(self, cmd, cwd=None):
+ def run(self, cmd, cwd=None, ignore_errors=False):
'''Run a command as a sub-process, and log the results.
Args:
cmd: The command to execute.
cwd: The directory to run the command in. Can be None to use the
current directory.
+ ignore_errors: Indicate whether to ignore errors. If True, the
+ function will simply return if the command cannot be executed
+ or exits with an error code, otherwise an exception will be
+ raised if such problems occur.
Returns:
Nothing.
@@ -148,7 +152,7 @@ class RunAndLog(object):
exception = e
if output and not output.endswith('\n'):
output += '\n'
- if exit_status and not exception:
+ if exit_status and not exception and not ignore_errors:
exception = Exception('Exit code: ' + str(exit_status))
if exception:
output += str(exception) + '\n'