taskwarrior/test/basetest/exceptions.py
Renato Alves 7f9148efb4 Unittest - CommandError exception treats SIGABRT specially
* SIGABRT will be used to signal processes that failed to finish after
the process assigned time (default 1 second).
2014-07-15 02:40:56 +01:00

26 lines
828 B
Python

# -*- coding: utf-8 -*-
import signal
class CommandError(Exception):
def __init__(self, cmd, code, out, err, msg=None):
if msg is None:
if code == signal.SIGABRT:
self.msg = ("Command '{0}' was aborted, likely due to not "
"finishing in due time. The exit code was "
"'{1}':\nStdout: '{2}'\nStderr: '{3}'")
else:
self.msg = ("Command '{0}' finished with unexpected exit code "
"'{1}':\nStdout: '{2}'\nStderr: '{3}'")
else:
self.msg = msg
self.cmd = cmd
self.out = out
self.err = err
self.code = code
def __str__(self):
return self.msg.format(self.cmd, self.code, self.out, self.err)
# vim: ai sts=4 et sw=4