aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2018-11-29 12:07:53 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-11-29 12:43:16 +0000
commit0b4e0f131aad421090da23ab3efe96879cb1ac02 (patch)
treefc91f157f5b52f9c74bce3a274b1eafe925f54d1
parente2ce4c0e925674037286ab86bbc39affe2a578bf (diff)
downloadopenembedded-core-contrib-0b4e0f131aad421090da23ab3efe96879cb1ac02.tar.gz
oeqa/selftest/context: Improve log file handling
The existing logfile is simply placed in the current directory. Since the test changes cwd to BUILDDIR, the symlink to the log can be placed in an invalid directory. We also see trackbacks if the symlink is invalid. Improve things by: * Placing logs in LOG_DIR (or BUILDDIR if unset). * Using a full path to the log meaning the log and link are placed in the same directory. * Using lexists instead of exists so invalid symlinks are handled correctly. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/lib/oeqa/selftest/context.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py
index dab7268829..c521290327 100644
--- a/meta/lib/oeqa/selftest/context.py
+++ b/meta/lib/oeqa/selftest/context.py
@@ -101,10 +101,15 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
def _process_args(self, logger, args):
args.test_start_time = time.strftime("%Y%m%d%H%M%S")
- args.output_log = '%s-results-%s.log' % (self.name, args.test_start_time)
args.test_data_file = None
args.CASES_PATHS = None
+ bbvars = get_bb_vars()
+ logdir = os.environ.get("BUILDDIR")
+ if 'LOG_DIR' in bbvars:
+ logdir = bbvars['LOG_DIR']
+ args.output_log = logdir + '/%s-results-%s.log' % (self.name, args.test_start_time)
+
super(OESelftestTestContextExecutor, self)._process_args(logger, args)
if args.list_modules:
@@ -114,7 +119,7 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
elif args.list_tests:
args.list_tests = 'name'
- self.tc_kwargs['init']['td'] = get_bb_vars()
+ self.tc_kwargs['init']['td'] = bbvars
self.tc_kwargs['init']['machines'] = self._get_available_machines()
builddir = os.environ.get("BUILDDIR")
@@ -304,7 +309,7 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
output_link = os.path.join(os.path.dirname(args.output_log),
"%s-results.log" % self.name)
- if os.path.exists(output_link):
+ if os.path.lexists(output_link):
os.remove(output_link)
os.symlink(args.output_log, output_link)