Skip to content

Commit

Permalink
tests/vm: use ssh with pty unconditionally
Browse files Browse the repository at this point in the history
Allways ask ssh to run with a pseudo terminal.
Not having a terminal causes problems now and then.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Tested-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20190617043858.8290-3-kraxel@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
  • Loading branch information
kraxel authored and stsquad committed Jul 4, 2019
1 parent b08ba16 commit 796471e
Showing 1 changed file with 4 additions and 9 deletions.
13 changes: 4 additions & 9 deletions tests/vm/basevm.py
Expand Up @@ -108,16 +108,14 @@ def check_sha256sum(fname):
os.rename(fname + ".download", fname)
return fname

def _ssh_do(self, user, cmd, check, interactive=False):
ssh_cmd = ["ssh", "-q",
def _ssh_do(self, user, cmd, check):
ssh_cmd = ["ssh", "-q", "-t",
"-o", "StrictHostKeyChecking=no",
"-o", "UserKnownHostsFile=" + os.devnull,
"-o", "ConnectTimeout=1",
"-p", self.ssh_port, "-i", self._ssh_key_file]
for var in self.envvars:
ssh_cmd += ['-o', "SendEnv=%s" % var ]
if interactive:
ssh_cmd += ['-t']
assert not isinstance(cmd, str)
ssh_cmd += ["%s@127.0.0.1" % user] + list(cmd)
logging.debug("ssh_cmd: %s", " ".join(ssh_cmd))
Expand All @@ -129,9 +127,6 @@ def _ssh_do(self, user, cmd, check, interactive=False):
def ssh(self, *cmd):
return self._ssh_do(self.GUEST_USER, cmd, False)

def ssh_interactive(self, *cmd):
return self._ssh_do(self.GUEST_USER, cmd, False, True)

def ssh_root(self, *cmd):
return self._ssh_do("root", cmd, False)

Expand Down Expand Up @@ -285,9 +280,9 @@ def main(vmcls):
return 2

if args.interactive:
if vm.ssh_interactive(*cmd) == 0:
if vm.ssh(*cmd) == 0:
return 0
vm.ssh_interactive()
vm.ssh()
return 3
else:
if vm.ssh(*cmd) != 0:
Expand Down

0 comments on commit 796471e

Please sign in to comment.