From: Gerd Hoffmann <kra...@redhat.com> Helper function to read all console output.
Signed-off-by: Gerd Hoffmann <kra...@redhat.com> Message-Id: <20191031085306.28888-3-kra...@redhat.com> Signed-off-by: Alex Bennée <alex.ben...@linaro.org> --- tests/vm/basevm.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py index 2929de23aa7..086bfb2c66d 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: -- 2.20.1