]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
oeqa/qemurunner: Ensure we retry after BrokenPipeError
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 10 Oct 2023 13:31:20 +0000 (14:31 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 11 Oct 2023 08:37:36 +0000 (09:37 +0100)
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>
meta/lib/oeqa/utils/qemurunner.py

index cb3231da63b0c961973d2e8591b65539c1cb6160..a52fa41768f6a810d31026597a1a5a5ddc78d05f 100644 (file)
@@ -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()