diff mbox series

oeqa/qemurunner: Add extra logging when console doesn't appear

Message ID 20231010085327.3677768-1-richard.purdie@linuxfoundation.org
State Accepted, archived
Commit be3724854947ded160789d0353b7efb8c593040f
Headers show
Series oeqa/qemurunner: Add extra logging when console doesn't appear | expand

Commit Message

Richard Purdie Oct. 10, 2023, 8:53 a.m. UTC
If the console doesn't appear, breifly sleep and try an extra read. This
is a useful debugging trick which we may as well preserve in the code. We're
already failing at this point so extra data is useful.

This means if we perturb things on the other port, we may gain useful logging
insight.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/lib/oeqa/utils/qemurunner.py | 10 ++++++++++
 1 file changed, 10 insertions(+)

Comments

Mikko Rapeli Oct. 10, 2023, 9:15 a.m. UTC | #1
Reviewed-by: Mikko Rapeli <mikko.rapeli@linaro.org>
diff mbox series

Patch

diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index 574696eb7e3..cb3231da63b 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -519,6 +519,16 @@  class QemuRunner:
             self.logger.warning("Last 25 lines of all logging (%d):\n%s" % (len(self.msg), tail(self.msg)))
             self.logger.warning("Check full boot log: %s" % self.logfile)
             self.stop()
+            data = True
+            while data:
+                try:
+                    time.sleep(1)
+                    data = qemusock.recv(1024)
+                    self.log(data, extension = ".2")
+                    self.logger.warning('Extra log data read: %s\n' % (data.decode('utf-8', errors='backslashreplace')))
+                except Exception as e:
+                    self.logger.warning('Extra log data exception %s' % repr(e))
+                    data = None
             return False
 
         # If we are not able to login the tests can continue