提交 3f2faf73 编写于 作者: S Stephen Warren 提交者: Simon Glass

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: NStephen Warren <swarren@nvidia.com>
Acked-by: NSimon Glass <sjg@chromium.org>
上级 783cbcd3
......@@ -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'
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册