Merge pull request #72943 from marijanp/port-test-driver-python

Port remaining test-driver functions to python
This commit is contained in:
worldofpeace 2019-11-07 20:23:27 +00:00 committed by GitHub
commit 1e7ddf233a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 0 deletions

View File

@ -507,6 +507,11 @@ class Machine:
if ret.returncode != 0: if ret.returncode != 0:
raise Exception("Cannot convert screenshot") raise Exception("Cannot convert screenshot")
def dump_tty_contents(self, tty):
"""Debugging: Dump the contents of the TTY<n>
"""
self.execute("fold -w 80 /dev/vcs{} | systemd-cat".format(tty))
def get_screen_text(self): def get_screen_text(self):
if shutil.which("tesseract") is None: if shutil.which("tesseract") is None:
raise Exception("get_screen_text used but enableOCR is false") raise Exception("get_screen_text used but enableOCR is false")
@ -679,6 +684,14 @@ class Machine:
def sleep(self, secs): def sleep(self, secs):
time.sleep(secs) time.sleep(secs)
def forward_port(self, host_port=8080, guest_port=80):
"""Forward a TCP port on the host to a TCP port on the guest.
Useful during interactive testing.
"""
self.send_monitor_command(
"hostfwd_add tcp::{}-:{}".format(host_port, guest_port)
)
def block(self): def block(self):
"""Make the machine unreachable by shutting down eth1 (the multicast """Make the machine unreachable by shutting down eth1 (the multicast
interface used to talk to the other VMs). We keep eth0 up so that interface used to talk to the other VMs). We keep eth0 up so that