[docs]classShellUtilsException(Exception):""" Base pytest shell utilities exception. """
[docs]classCallbackException(ShellUtilsException):""" Exception raised during a before/after start/stop daemon callback. """
[docs]classProcessFailed(ShellUtilsException):""" Exception raised when a sub-process fails. Arguments: message: The exception message Keyword Arguments: process_result: The ``ProcessResult`` instance when the exception occurred """def__init__(self,message:str,process_result:Optional[ProcessResult]=None)->None:super().__init__()self.message=messageself.process_result=process_result
[docs]def__str__(self)->str:""" Return a printable representation of the exception. """message=self.messageifself.process_result:ifnotmessage.endswith("\n"):message+="\n"message+=str(self.process_result)returnmessage
[docs]classFactoryFailure(ProcessFailed):""" Exception raised when a sub-process fails on one of the factories. """
[docs]classFactoryNotStarted(FactoryFailure):""" Exception raised when a factory failed to start. Please look at :py:class:`~pytestshellutils.exceptions.FactoryFailure` for the supported keyword arguments documentation. """
[docs]classFactoryNotRunning(FactoryFailure):""" Exception raised when trying to use a factory's `.stopped` context manager and the factory is not running. Please look at :py:class:`~pytestshellutils.exceptions.FactoryFailure` for the supported keyword arguments documentation. """
[docs]classProcessNotStarted(FactoryFailure):""" Exception raised when a process failed to start. Please look at :py:class:`~pytestshellutils.exceptions.FactoryFailure` for the supported keywords. arguments documentation. """
[docs]classFactoryTimeout(FactoryNotStarted):""" Exception raised when a process timed-out. Please look at :py:class:`~pytestshellutils.exceptions.FactoryFailure` for the supported keywords. arguments documentation. """