X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2Fssh.py;h=4bcfe6591fa1718387324158465792a92f6582ea;hb=0490e94aefea47f6bac0b00339cf832c196b7f09;hp=06cd96010d58fa88e173071be2a1a9c203933e74;hpb=b4e5c717f5e2c39ded81f0c6f7b0f9f61945befd;p=csit.git diff --git a/resources/libraries/python/ssh.py b/resources/libraries/python/ssh.py index 06cd96010d..4bcfe6591f 100644 --- a/resources/libraries/python/ssh.py +++ b/resources/libraries/python/ssh.py @@ -22,7 +22,6 @@ from paramiko import RSAKey from paramiko.ssh_exception import SSHException from scp import SCPClient from robot.api import logger -from robot.utils.asserts import assert_equal __all__ = ["exec_cmd", "exec_cmd_no_error"] @@ -393,14 +392,29 @@ def exec_cmd(node, cmd, timeout=600, sudo=False): return ret_code, stdout, stderr -def exec_cmd_no_error(node, cmd, timeout=600, sudo=False): +def exec_cmd_no_error(node, cmd, timeout=600, sudo=False, message=None): """Convenience function to ssh/exec/return out & err. Verifies that return code is zero. - Returns (stdout, stderr). + :param node: DUT node. + :param cmd: Command to be executed. + :param timeout: Timeout value in seconds. Default: 600. + :param sudo: Sudo privilege execution flag. Default: False. + :param message: Error message in case of failure. Default: None. + :type node: dict + :type cmd: str + :type timeout: int + :type sudo: bool + :type message: str + :returns: Stdout, Stderr. + :rtype: tuple(str, str) + :raise RuntimeError: If bash return code is not 0. """ - (ret_code, stdout, stderr) = exec_cmd(node, cmd, timeout=timeout, sudo=sudo) - assert_equal(ret_code, 0, 'Command execution failed: "{}"\n{}'. - format(cmd, stderr)) + ret_code, stdout, stderr = exec_cmd(node, cmd, timeout=timeout, sudo=sudo) + msg = ('Command execution failed: "{cmd}"\n{stderr}'. + format(cmd=cmd, stderr=stderr) if message is None else message) + if ret_code != 0: + raise RuntimeError(msg) + return stdout, stderr