1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-09 05:29:32 +00:00

oetest.py: Don't wait to write dump files

This allows to write the dump files immediately
after get the data from the target. Before this,
it would run all the commands and write the files.
The old behavior could cause no log written at all
if the serial console gets stuck.

(From OE-Core rev: 73c98d38e94d3b1407620c134f3b00dcd9d6132c)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Mariano Lopez
2015-08-12 13:48:09 +00:00
committed by Richard Purdie
parent 9c72c1a5aa
commit 857da0884a
+14 -16
View File
@@ -122,21 +122,18 @@ class oeRuntimeTest(oeTest):
# If a test fails or there is an exception
if (self._resultForDoCleanups.failures or
self._resultForDoCleanups.errors):
commands = ["top -bn1", "ps", "free", "df", "_ping", "dmesg", "netstat -a", "ifconfig -a", "_logs"]
dump_dir = "/tmp/oe-saved-tests"
dump_dir = os.path.join(dump_dir,
datetime.datetime.now().strftime('%Y%m%d%H%M'))
os.makedirs(dump_dir)
bb.warn("Test failed, getting data from target "
"and saving it in %s" % dump_dir)
output = self.run_bulk_commands(commands)
for key,msg in output.iteritems():
filename = key.split()[0]
with open(os.path.join(dump_dir, filename), 'w') as f:
f.write(msg)
self.dump_target_logs()
def run_bulk_commands(self, commands):
all_output = {}
def dump_target_logs(self):
commands = ["top -bn1", "ps", "free", "df", "_ping", "dmesg", "netstat -a", "ifconfig -a", "_logs"]
dump_dir = "/tmp/oe-saved-tests"
dump_sub_dir = ("%s_%s" % (
datetime.datetime.now().strftime('%Y%m%d%H%M'),
self._testMethodName))
dump_dir = os.path.join(dump_dir, dump_sub_dir)
os.makedirs(dump_dir)
bb.warn("%s failed: getting data from target and "
"saving into %s" % (self._testMethodName, dump_dir))
for command in commands:
# This will ping the host from target
if command == "_ping":
@@ -151,8 +148,9 @@ class oeRuntimeTest(oeTest):
else:
comm = command
(status, output) = self.target.run_serial(comm)
all_output[command] = output
return all_output
filename = command.split()[0]
with open(os.path.join(dump_dir, filename), 'w') as f:
f.write(output)
#TODO: use package_manager.py to install packages on any type of image
def install_packages(self, packagelist):