forked from mirrors/nixpkgs
test-driver.py: fix decoding of VM output
The codec format 'unicode_escape' was introduced in 52ee102
to handle
undecodable bytes in boot menus.
This made the problem worse as unicode chars outside of iso-8859-1
produce garbled output and valid utf-8 strings (such as "\x" ) trigger
decoding errors.
Fix this by using the default 'utf-8' codec and by explicitly ignoring
decoding errors.
This commit is contained in:
parent
caa435fd1d
commit
5bdb653baf
|
@ -704,7 +704,8 @@ class Machine:
|
|||
|
||||
def process_serial_output() -> None:
|
||||
for _line in self.process.stdout:
|
||||
line = _line.decode("unicode_escape").replace("\r", "").rstrip()
|
||||
# Ignore undecodable bytes that may occur in boot menus
|
||||
line = _line.decode(errors="ignore").replace("\r", "").rstrip()
|
||||
eprint("{} # {}".format(self.name, line))
|
||||
self.logger.enqueue({"msg": line, "machine": self.name})
|
||||
|
||||
|
|
Loading…
Reference in a new issue