From: Richard Purdie Date: Wed, 4 Oct 2023 12:22:40 +0000 (+0100) Subject: qemurunner: Use backslashreplace with utf8 to make invalid characters clear X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8ec86d46f736ec3e625b741e97545377c79414ee;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git qemurunner: Use backslashreplace with utf8 to make invalid characters clear Switch to the backslashreplace error handling when decoding strings so that invalid characters are clear in the stream to improve debugging. Signed-off-by: Richard Purdie --- diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py index b8f51112861..b738a261d87 100644 --- a/meta/lib/oeqa/utils/qemurunner.py +++ b/meta/lib/oeqa/utils/qemurunner.py @@ -109,7 +109,7 @@ class QemuRunner: def decode_qemulog(self, todecode): # Sanitize the data received from qemu as it may contain control characters - msg = todecode.decode("utf-8", errors='ignore') + msg = todecode.decode("utf-8", errors='backslashreplace') msg = re_control_char.sub('', msg) return msg @@ -473,7 +473,7 @@ class QemuRunner: self.logger.error('Invalid file type: %s\n%s' % (file)) read = b'' - self.logger.debug2('Partial boot log:\n%s' % (read.decode('utf-8', errors='ignore'))) + self.logger.debug2('Partial boot log:\n%s' % (read.decode('utf-8', errors='backslashreplace'))) data = data + read if data: bootlog += data