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

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.

(From OE-Core rev: be3724854947ded160789d0353b7efb8c593040f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2023-10-09 17:50:31 +01:00
parent 44b4c74cad
commit c0af426af8

View File

@@ -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