summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2021-05-09 10:59:44 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-05-09 23:23:23 +0100
commit396a3ba884820d040c91f7592daf20ac28c49b5d (patch)
tree4a6a3e26b4a9ac26c7c6e6943f795a7a4d985b00
parentb8995b27db265b0a0b2d2ca595915f70f9f96e07 (diff)
downloadopenembedded-core-396a3ba884820d040c91f7592daf20ac28c49b5d.tar.gz
oeqa/qemurunner: Improve handling of run_serial for shutdown commands
When running a shutdown command, the serial port can close without the command returning. This is seen as the socket being readable but having no data. Change the way this case is handled in the code to avoid tracebacks. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/lib/oeqa/utils/qemurunner.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index 899152c7ad..4f094e29c7 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -73,6 +73,8 @@ class QemuRunner:
self.monitorpipe = None
self.logger = logger
+ # Whether we're expecting an exit and should show related errors
+ self.canexit = False
# Enable testing other OS's
# Set commands for target communication, and default to Linux ALWAYS
@@ -543,6 +545,7 @@ class QemuRunner:
self.thread.join()
def allowexit(self):
+ self.canexit = True
if self.thread:
self.thread.allowexit()
@@ -604,7 +607,9 @@ class QemuRunner:
if re.search(self.boot_patterns['search_cmd_finished'], data):
break
else:
- raise Exception("No data on serial console socket")
+ if self.canexit:
+ return (1, "")
+ raise Exception("No data on serial console socket, connection closed?")
if data:
if raw: