aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/lib/oeqa/utils/dump.py12
-rw-r--r--meta/lib/oeqa/utils/qemurunner.py21
2 files changed, 22 insertions, 11 deletions
diff --git a/meta/lib/oeqa/utils/dump.py b/meta/lib/oeqa/utils/dump.py
index 6067438e35..4ae871c657 100644
--- a/meta/lib/oeqa/utils/dump.py
+++ b/meta/lib/oeqa/utils/dump.py
@@ -12,6 +12,7 @@ def get_host_dumper(d):
class BaseDumper(object):
+ """ Base class to dump commands from host/target """
def __init__(self, cmds, parent_dir):
self.cmds = []
@@ -53,6 +54,7 @@ class BaseDumper(object):
class HostDumper(BaseDumper):
+ """ Class to get dumps from the host running the tests """
def __init__(self, cmds, parent_dir):
super(HostDumper, self).__init__(cmds, parent_dir)
@@ -66,6 +68,7 @@ class HostDumper(BaseDumper):
class TargetDumper(BaseDumper):
+ """ Class to get dumps from target, it only works with QemuRunner """
def __init__(self, cmds, parent_dir, qemurunner):
super(TargetDumper, self).__init__(cmds, parent_dir)
@@ -75,5 +78,10 @@ class TargetDumper(BaseDumper):
if dump_dir:
self.dump_dir = dump_dir
for cmd in self.cmds:
- (status, output) = self.runner.run_serial(cmd)
- self._write_dump(cmd.split()[0], output)
+ # We can continue with the testing if serial commands fail
+ try:
+ (status, output) = self.runner.run_serial(cmd)
+ self._write_dump(cmd.split()[0], output)
+ except:
+ print("Tried to dump info from target but "
+ "serial console failed")
diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index 4ce5d9c685..3ad747a503 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -197,13 +197,17 @@ class QemuRunner:
self.stop()
return False
- (status, output) = self.run_serial("root\n", raw=True)
- if re.search("root@[a-zA-Z0-9\-]+:~#", output):
- self.logged = True
- logger.info("Logged as root in serial console")
- else:
- logger.info("Couldn't login into serial console"
- " as root using blank password")
+ # If we are not able to login the tests can continue
+ try:
+ (status, output) = self.run_serial("root\n", raw=True)
+ if re.search("root@[a-zA-Z0-9\-]+:~#", output):
+ self.logged = True
+ logger.info("Logged as root in serial console")
+ else:
+ logger.info("Couldn't login into serial console"
+ " as root using blank password")
+ except:
+ logger.info("Serial console failed while trying to login")
else:
logger.info("Qemu pid didn't appeared in %s seconds" % self.runqemutime)
@@ -321,8 +325,7 @@ class QemuRunner:
stopread = True
break
else:
- sock.close()
- stopread = True
+ raise Exception("No data on serial console socket")
if data:
if raw:
status = 1