tests/vm: write raw console log

Run "tail -f /var/tmp/*/qemu*console.raw" in another terminal
to watch the install console.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200310083218.26355-2-kraxel@redhat.com>
Message-Id: <20200323161514.23952-2-alex.bennee@linaro.org>
This commit is contained in:
Gerd Hoffmann 2020-03-23 16:15:04 +00:00 committed by Alex Bennée
parent f4ce3adf6b
commit 698a64f948

View File

@ -213,6 +213,9 @@ class BaseVM(object):
def console_init(self, timeout = 120):
vm = self._guest
vm.console_socket.settimeout(timeout)
self.console_raw_path = os.path.join(vm._temp_dir,
vm._name + "-console.raw")
self.console_raw_file = open(self.console_raw_path, 'wb')
def console_log(self, text):
for line in re.split("[\r\n]", text):
@ -234,6 +237,9 @@ class BaseVM(object):
while True:
try:
chars = vm.console_socket.recv(1)
if self.console_raw_file:
self.console_raw_file.write(chars)
self.console_raw_file.flush()
except socket.timeout:
sys.stderr.write("console: *** read timeout ***\n")
sys.stderr.write("console: waiting for: '%s'\n" % expect)