summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/utils/commands.py
diff options
context:
space:
mode:
Diffstat (limited to 'meta/lib/oeqa/utils/commands.py')
-rw-r--r--meta/lib/oeqa/utils/commands.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/meta/lib/oeqa/utils/commands.py b/meta/lib/oeqa/utils/commands.py
index 9b42620610..7637b9def8 100644
--- a/meta/lib/oeqa/utils/commands.py
+++ b/meta/lib/oeqa/utils/commands.py
@@ -1,4 +1,4 @@
1# Copyright (c) 2013 Intel Corporation 1# Copyright (c) 2013-2014 Intel Corporation
2# 2#
3# Released under the MIT license (see COPYING.MIT) 3# Released under the MIT license (see COPYING.MIT)
4 4
@@ -14,6 +14,7 @@ import signal
14import subprocess 14import subprocess
15import threading 15import threading
16import logging 16import logging
17from oeqa.utils import CommandError
17 18
18class Command(object): 19class Command(object):
19 def __init__(self, command, bg=False, timeout=None, data=None, **options): 20 def __init__(self, command, bg=False, timeout=None, data=None, **options):
@@ -84,8 +85,8 @@ class Command(object):
84class Result(object): 85class Result(object):
85 pass 86 pass
86 87
87def runCmd(command, ignore_status=False, timeout=None, **options):
88 88
89def runCmd(command, ignore_status=False, timeout=None, assert_error=True, **options):
89 result = Result() 90 result = Result()
90 91
91 cmd = Command(command, timeout=timeout, **options) 92 cmd = Command(command, timeout=timeout, **options)
@@ -97,7 +98,10 @@ def runCmd(command, ignore_status=False, timeout=None, **options):
97 result.pid = cmd.process.pid 98 result.pid = cmd.process.pid
98 99
99 if result.status and not ignore_status: 100 if result.status and not ignore_status:
100 raise AssertionError("Command '%s' returned non-zero exit status %d:\n%s" % (command, result.status, result.output)) 101 if assert_error:
102 raise AssertionError("Command '%s' returned non-zero exit status %d:\n%s" % (command, result.status, result.output))
103 else:
104 raise CommandError(result.status, command, result.output)
101 105
102 return result 106 return result
103 107