From: Gerd Hoffmann Date: Thu, 31 Oct 2019 08:53:04 +0000 (+0100) Subject: tests/vm: add console_consume helper X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=6c4f0416be5805962a77af240a41fae5eaffda8b;p=qemu.git tests/vm: add console_consume helper Helper function to read all console output. Signed-off-by: Gerd Hoffmann Message-Id: <20191031085306.28888-3-kraxel@redhat.com> Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé --- diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py index 2929de23aa..086bfb2c66 100755 --- a/tests/vm/basevm.py +++ b/tests/vm/basevm.py @@ -242,6 +242,25 @@ class BaseVM(object): return False return True + def console_consume(self): + vm = self._guest + output = "" + vm.console_socket.setblocking(0) + while True: + try: + chars = vm.console_socket.recv(1) + except: + break + output += chars.decode("latin1") + if "\r" in output or "\n" in output: + lines = re.split("[\r\n]", output) + output = lines.pop() + if self.debug: + self.console_log("\n".join(lines)) + if self.debug: + self.console_log(output) + vm.console_socket.setblocking(1) + def console_send(self, command): vm = self._guest if self.debug: