@@ -25,7 +25,15 @@ class CmdError(Exception):
pass
class CmdErrorCode(CmdError):
- pass
+ def __init__(self, cmd, code, errstr):
+ self.cmd = cmd
+ self.code = code
+ self.errstr = errstr
+
+ def __str__(self):
+ return str.format(
+ 'command "{:s}" exited with non-zero status: {:d}{:s}',
+ self.cmd, self.code, self.errstr)
class CmdErrorOut(CmdError):
pass
@@ -67,8 +75,7 @@ def cmd(args, raiseerrorcode=True, raiseerrorout=True, instr='',
errstr = '\n%s' % errstr
if raiseerrorcode and ret != 0:
- raise CmdErrorCode('command "%s" exited with non-zero status: %u%s' %
- (args, ret, errstr))
+ raise CmdErrorCode(args, ret, errstr)
if raiseerrorout and errstr:
raise CmdErrorOut('command "%s" has output to stderr: %s' %
Redefine CmdErrorCode so the error code itself can be checked. Signed-off-by: Scott Mayhew <smayhew@redhat.com> --- nfsometerlib/cmd.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-)