| """Exception classes for qemu runner.""" |
| |
| |
| class RunnerError(Exception): |
| """Contains all kinds of errors .run() will intentionally throw.""" |
| |
| |
| class RunnerGenericError(RunnerError): |
| """Generic runner error message.""" |
| |
| def __init__(self, msg): |
| super(RunnerGenericError, self).__init__() |
| self.msg = msg |
| |
| def __str__(self): |
| return "Runner failed: %s" % self.msg |
| |
| |
| class ConfigError(RunnerError): |
| """Invalid configuration.""" |
| |
| def __init__(self, msg): |
| super(ConfigError, self).__init__() |
| self.msg = msg |
| |
| def __str__(self): |
| return "Invalid configuration: %s" % self.msg |
| |
| |
| class AdbFailure(RunnerError): |
| """An adb invocation failed.""" |
| |
| def __init__(self, adb_args, code): |
| super(AdbFailure, self).__init__(self) |
| self.adb_args = adb_args |
| self.code = code |
| |
| def __str__(self): |
| return "'adb %s' failed with %d" % (" ".join(self.adb_args), self.code) |
| |
| |
| class Timeout(RunnerError): |
| """A step timed out.""" |
| |
| def __init__(self, step, timeout): |
| super(Timeout, self).__init__(self) |
| self.step = step |
| self.timeout = timeout |
| |
| def __str__(self): |
| return "%s timed out (%d s)" % (self.step, self.timeout) |