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-12-06 10:32:30 +0000
commit9c4c3c876dd5d224133571fcad1095af1098ae1d (patch)
tree451018bcb7b5a4659264b53ab7b5a4cb4fc89b19
parent7eb1f0be82d7ee12f893cdd40384da306fa597a7 (diff)
downloadopenembedded-core-contrib-9c4c3c876dd5d224133571fcad1095af1098ae1d.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. (From OE-Core rev: 750ece11bed0e62a11e0003d1d16a81f7c219761) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/lib/oeqa/selftest/context.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py
index cac049f8cb..33316d3179 100644
--- a/meta/lib/oeqa/selftest/context.py
+++ b/meta/lib/oeqa/selftest/context.py
@@ -96,11 +96,17 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
return cases_paths
def _process_args(self, logger, args):
- args.output_log = '%s-results-%s.log' % (self.name,
- time.strftime("%Y%m%d%H%M%S"))
+
+ args.test_start_time = time.strftime("%Y%m%d%H%M%S")
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:
@@ -110,7 +116,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")
@@ -270,7 +276,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)