[gnome-continuous-yocto/gnomeostree-3.28-rocko: 8228/8267] qemurunner: Simplify binary data handling
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous-yocto/gnomeostree-3.28-rocko: 8228/8267] qemurunner: Simplify binary data handling
- Date: Sun, 17 Dec 2017 07:21:26 +0000 (UTC)
commit 80ed9207a784d1370982069ac9269ee0976170e2
Author: Richard Purdie <richard purdie linuxfoundation org>
Date: Tue Nov 21 11:42:54 2017 +0000
qemurunner: Simplify binary data handling
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.
(From OE-Core rev: 20bc247316ab915465a4b1add6d09b48e07202ac)
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
(cherry picked from commit 1e87283e92a2765bb5d54d17138b208bc395953b)
Signed-off-by: Armin Kuster <akuster808 gmail com>
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
meta/lib/oeqa/utils/qemurunner.py | 20 ++++++++------------
1 files 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()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]