[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 07/23] tests/acceptance: Ignore binary data sent on serial console
From: |
Cleber Rosa |
Subject: |
[PULL 07/23] tests/acceptance: Ignore binary data sent on serial console |
Date: |
Tue, 13 Jul 2021 17:19:07 -0400 |
From: Philippe Mathieu-Daudé <f4bug@amsat.org>
If a guest sends binary data on the serial console, we get:
File "tests/acceptance/avocado_qemu/__init__.py", line 92,
in _console_interaction msg = console.readline().strip()
File "/usr/lib64/python3.8/codecs.py", line 322,
in decode (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa9 in position 2:
invalid start byte
Since we use the console with readline(), fix it the easiest
way possible: ignore binary data (all current tests compare
text string anyway).
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20210515134555.307404-2-f4bug@amsat.org>
Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
Tested-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
Signed-off-by: Cleber Rosa <crosa@redhat.com>
---
tests/acceptance/avocado_qemu/__init__.py | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/tests/acceptance/avocado_qemu/__init__.py
b/tests/acceptance/avocado_qemu/__init__.py
index 1f1728ab83..c3163af3b7 100644
--- a/tests/acceptance/avocado_qemu/__init__.py
+++ b/tests/acceptance/avocado_qemu/__init__.py
@@ -86,14 +86,17 @@ def _console_interaction(test, success_message,
failure_message,
assert not keep_sending or send_string
if vm is None:
vm = test.vm
- console = vm.console_socket.makefile()
+ console = vm.console_socket.makefile(mode='rb', encoding='utf-8')
console_logger = logging.getLogger('console')
while True:
if send_string:
vm.console_socket.sendall(send_string.encode())
if not keep_sending:
send_string = None # send only once
- msg = console.readline().strip()
+ try:
+ msg = console.readline().decode().strip()
+ except UnicodeDecodeError:
+ msg = None
if not msg:
continue
console_logger.debug(msg)
--
2.31.1
- [PULL 00/23] Python and Acceptance Tests, Cleber Rosa, 2021/07/13
- [PULL 01/23] Acceptance Tests: use the job work directory for created VMs, Cleber Rosa, 2021/07/13
- [PULL 02/23] Acceptance Tests: log information when creating QEMUMachine, Cleber Rosa, 2021/07/13
- [PULL 04/23] Acceptance Tests: rename attribute holding the distro image checksum, Cleber Rosa, 2021/07/13
- [PULL 03/23] Acceptance Tests: distinguish between temp and logs dir, Cleber Rosa, 2021/07/13
- [PULL 05/23] Acceptance Tests: move definition of distro checksums to the framework, Cleber Rosa, 2021/07/13
- [PULL 06/23] Acceptance Tests: support choosing specific distro and version, Cleber Rosa, 2021/07/13
- [PULL 07/23] tests/acceptance: Ignore binary data sent on serial console,
Cleber Rosa <=
- [PULL 09/23] Acceptance Tests: Add default kernel params and pxeboot url to the KNOWN_DISTROS collection, Cleber Rosa, 2021/07/13
- [PULL 08/23] avocado_qemu: Fix KNOWN_DISTROS map into the LinuxDistro class, Cleber Rosa, 2021/07/13
- [PULL 10/23] avocado_qemu: Add SMMUv3 tests, Cleber Rosa, 2021/07/13
- [PULL 11/23] avocado_qemu: Add Intel iommu tests, Cleber Rosa, 2021/07/13
- [PULL 12/23] tests/acceptance: Tag NetBSD tests as 'os:netbsd', Cleber Rosa, 2021/07/13
- [PULL 13/23] tests/acceptance: Automatic set -cpu to the test vm, Cleber Rosa, 2021/07/13
- [PULL 14/23] tests/acceptance: Fix mismatch on cpu tagged tests, Cleber Rosa, 2021/07/13
- [PULL 16/23] tests/acceptance: Tagging tests with "cpu:VALUE", Cleber Rosa, 2021/07/13
- [PULL 15/23] tests/acceptance: Let the framework handle "cpu:VALUE" tagged tests, Cleber Rosa, 2021/07/13
- [PULL 17/23] python/qemu: Add args property to the QEMUMachine class, Cleber Rosa, 2021/07/13