aboutsummaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/utils/qemurunner.py
diff options
context:
space:
mode:
Diffstat (limited to 'meta/lib/oeqa/utils/qemurunner.py')
-rw-r--r--meta/lib/oeqa/utils/qemurunner.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index abbafd51e4..e1c8ea1085 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -366,23 +366,25 @@ class QemuRunner:
# We assume target system have echo to get command status
if not raw:
command = "%s; echo $?\n" % command
- self.server_socket.sendall(command)
+
data = ''
status = 0
- stopread = False
- endtime = time.time()+5
- while time.time()<endtime and not stopread:
+ self.server_socket.sendall(command)
+ keepreading = True
+ while keepreading:
sread, _, _ = select.select([self.server_socket],[],[],5)
- for sock in sread:
- answer = sock.recv(1024)
+ if sread:
+ answer = self.server_socket.recv(1024)
if answer:
data += answer
# Search the prompt to stop
if re.search("[a-zA-Z0-9]+@[a-zA-Z0-9\-]+:~#", data):
- stopread = True
- break
+ keepreading = False
else:
raise Exception("No data on serial console socket")
+ else:
+ keepreading = False
+
if data:
if raw:
status = 1