summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2023-10-10 14:31:20 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-10-11 09:37:36 +0100
commitea9e6ba0ab31a0b20012c283aa768496a50b527a (patch)
tree7ae5bfc1cdac2f2b847f632a89367496d350a5dc
parent6ae62259afbbe861ed74211dab18a27b8c8d8b7a (diff)
downloadopenembedded-core-ea9e6ba0ab31a0b20012c283aa768496a50b527a.tar.gz
oeqa/qemurunner: Ensure we retry after BrokenPipeError
If the BrokenPipeError occurs when writing to the serial port to wake it up, defer the write and try again (which will happen on the 5s timeout of the select call). Why it should return ESHUTDOWN and then work later I'm not sure but it does appear to make it work. For now we need 'working' QA tests whilst the issue is debugged. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/lib/oeqa/utils/qemurunner.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index cb3231da63..a52fa41768 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -465,9 +465,9 @@ class QemuRunner:
self.logger.warning('Probing the serial port to wake it up!')
try:
self.server_socket.sendall(bytes("\n\n", "utf-8"))
+ sentnewlines = True
except BrokenPipeError as e:
self.logger.debug('Probe failed %s' % repr(e))
- sentnewlines = True
for file in sread:
if file is self.server_socket:
qemusock, addr = self.server_socket.accept()