oeqa/selftest: Improvements to the json logging

Tweak the preceeding commit to:

* Add STARTTIME to the identifier to make it unique
* Use LOG_DIR
* Store the layer config in a more natural json format
* Drop '_' function prefixes

(From OE-Core rev: 173f59acf9722e2ef27fdd49c20f7d3d664917eb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2018-10-29 13:49:02 +00:00
parent d89e06083e
commit 1418c0ea24

View File

@@ -204,30 +204,27 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
self.tc.logger.info("Running bitbake -e to test the configuration is valid/parsable")
runCmd("bitbake -e")
def _get_json_result_dir(self, args):
json_result_dir = os.path.join(os.path.dirname(os.path.abspath(args.output_log)), 'oeqa')
def get_json_result_dir(self, args):
json_result_dir = os.path.join(os.path.dirname(os.path.abspath(args.output_log)), 'log', 'oeqa')
if "OEQA_JSON_RESULT_DIR" in self.tc.td:
json_result_dir = self.tc.td["OEQA_JSON_RESULT_DIR"]
return json_result_dir
def _get_configuration(self, args):
def get_configuration(self, args):
import platform
from oeqa.utils.metadata import metadata_from_bb
metadata = metadata_from_bb()
configuration = {'TEST_TYPE': 'oeselftest',
'START_TIME': args.test_start_time,
'STARTTIME': args.test_start_time,
'MACHINE': self.tc.td["MACHINE"],
'HOST_DISTRO': ('-'.join(platform.linux_distribution())).replace(' ', '-'),
'HOST_NAME': metadata['hostname']}
layers = metadata['layers']
for l in layers:
configuration['%s_BRANCH_REV' % os.path.basename(l)] = '%s:%s' % (metadata['layers'][l]['branch'],
metadata['layers'][l]['commit'])
'HOST_NAME': metadata['hostname'],
'LAYERS': metadata['layers']}
return configuration
def _get_result_id(self, configuration):
return '%s_%s_%s' % (configuration['TEST_TYPE'], configuration['HOST_DISTRO'], configuration['MACHINE'])
def get_result_id(self, configuration):
return '%s_%s_%s_%s' % (configuration['TEST_TYPE'], configuration['HOST_DISTRO'], configuration['MACHINE'], configuration['STARTTIME'])
def _internal_run(self, logger, args):
self.module_paths = self._get_cases_paths(
@@ -245,10 +242,10 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
else:
self._pre_run()
rc = self.tc.runTests(**self.tc_kwargs['run'])
configuration = self._get_configuration(args)
rc.logDetails(self._get_json_result_dir(args),
configuration = self.get_configuration(args)
rc.logDetails(self.get_json_result_dir(args),
configuration,
self._get_result_id(configuration))
self.get_result_id(configuration))
rc.logSummary(self.name)
return rc