1*812c4071SJuraj Linkeš# SPDX-License-Identifier: BSD-3-Clause 2*812c4071SJuraj Linkeš# Copyright(c) 2010-2014 Intel Corporation 3*812c4071SJuraj Linkeš# Copyright(c) 2022 PANTHEON.tech s.r.o. 4*812c4071SJuraj Linkeš# Copyright(c) 2022 University of New Hampshire 5*812c4071SJuraj Linkeš 6*812c4071SJuraj Linkeš""" 7*812c4071SJuraj LinkešUser-defined exceptions used across the framework. 8*812c4071SJuraj Linkeš""" 9*812c4071SJuraj Linkeš 10*812c4071SJuraj Linkeš 11*812c4071SJuraj Linkešclass SSHTimeoutError(Exception): 12*812c4071SJuraj Linkeš """ 13*812c4071SJuraj Linkeš Command execution timeout. 14*812c4071SJuraj Linkeš """ 15*812c4071SJuraj Linkeš 16*812c4071SJuraj Linkeš command: str 17*812c4071SJuraj Linkeš output: str 18*812c4071SJuraj Linkeš 19*812c4071SJuraj Linkeš def __init__(self, command: str, output: str): 20*812c4071SJuraj Linkeš self.command = command 21*812c4071SJuraj Linkeš self.output = output 22*812c4071SJuraj Linkeš 23*812c4071SJuraj Linkeš def __str__(self) -> str: 24*812c4071SJuraj Linkeš return f"TIMEOUT on {self.command}" 25*812c4071SJuraj Linkeš 26*812c4071SJuraj Linkeš def get_output(self) -> str: 27*812c4071SJuraj Linkeš return self.output 28*812c4071SJuraj Linkeš 29*812c4071SJuraj Linkeš 30*812c4071SJuraj Linkešclass SSHConnectionError(Exception): 31*812c4071SJuraj Linkeš """ 32*812c4071SJuraj Linkeš SSH connection error. 33*812c4071SJuraj Linkeš """ 34*812c4071SJuraj Linkeš 35*812c4071SJuraj Linkeš host: str 36*812c4071SJuraj Linkeš 37*812c4071SJuraj Linkeš def __init__(self, host: str): 38*812c4071SJuraj Linkeš self.host = host 39*812c4071SJuraj Linkeš 40*812c4071SJuraj Linkeš def __str__(self) -> str: 41*812c4071SJuraj Linkeš return f"Error trying to connect with {self.host}" 42*812c4071SJuraj Linkeš 43*812c4071SJuraj Linkeš 44*812c4071SJuraj Linkešclass SSHSessionDeadError(Exception): 45*812c4071SJuraj Linkeš """ 46*812c4071SJuraj Linkeš SSH session is not alive. 47*812c4071SJuraj Linkeš It can no longer be used. 48*812c4071SJuraj Linkeš """ 49*812c4071SJuraj Linkeš 50*812c4071SJuraj Linkeš host: str 51*812c4071SJuraj Linkeš 52*812c4071SJuraj Linkeš def __init__(self, host: str): 53*812c4071SJuraj Linkeš self.host = host 54*812c4071SJuraj Linkeš 55*812c4071SJuraj Linkeš def __str__(self) -> str: 56*812c4071SJuraj Linkeš return f"SSH session with {self.host} has died" 57