Message ID | 1453328158-23818-5-git-send-email-swarren@wwwdotorg.org |
---|---|
State | Accepted |
Commit | 3f2faf7327ae7cf1a78097a8089f91e3f2aa8652 |
Delegated to: | Simon Glass |
Headers | show |
On 20 January 2016 at 15:15, Stephen Warren <swarren@wwwdotorg.org> wrote: > From: Stephen Warren <swarren@nvidia.com> > > 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> > --- > test/py/multiplexed_log.py | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) Acked-by: Simon Glass <sjg@chromium.org>
diff --git a/test/py/multiplexed_log.py b/test/py/multiplexed_log.py index 48f2b51de15f..5059bbfb99c3 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'