I have concerns that bad timing of the flow of data from the logger might corrupt the output due to the way binary strings are handled in qemurunner.
This simplifies the code to do the same thing it did before but much more safely. Signed-off-by: Richard Purdie <richard.pur...@linuxfoundation.org> --- meta/lib/oeqa/utils/qemurunner.py | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py index 82335d8..0631d43 100644 --- a/meta/lib/oeqa/utils/qemurunner.py +++ b/meta/lib/oeqa/utils/qemurunner.py @@ -275,7 +275,7 @@ class QemuRunner: reachedlogin = False stopread = False qemusock = None - bootlog = '' + bootlog = b'' data = b'' while time.time() < endtime and not stopread: try: @@ -292,17 +292,13 @@ class QemuRunner: else: data = data + sock.recv(1024) if data: - try: - data = data.decode("utf-8", errors="surrogateescape") - bootlog += data - data = b'' - if re.search(".* login:", bootlog): - self.server_socket = qemusock - stopread = True - reachedlogin = True - self.logger.debug("Reached login banner") - except UnicodeDecodeError: - continue + bootlog += data + data = b'' + if b' login:' in bootlog: + self.server_socket = qemusock + stopread = True + reachedlogin = True + self.logger.debug("Reached login banner") else: socklist.remove(sock) sock.close() -- 2.7.4 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core