From 173f59acf9722e2ef27fdd49c20f7d3d664917eb Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 29 Oct 2018 13:49:02 +0000 Subject: 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 Signed-off-by: Richard Purdie --- meta/lib/oeqa/selftest/context.py | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py index ee83a9142e..11d5877c5f 100644 --- a/meta/lib/oeqa/selftest/context.py +++ b/meta/lib/oeqa/selftest/context.py @@ -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 -- cgit 1.2.3-korg