scripts/oe-selftest: append metadata to tests results

Many stored results TEST_TYPE are set to "oeselftest", however all those
tests are not run with the same sets of parameters, so those tests results may
not be comparable.

Attach relevant parameters as tests metadata to allow identifying tests
configuration so we can compare tests only when they are run with the same
parameters.

(From OE-Core rev: 406ec0a87e80d1ee0dd1d246adfe9507c10450ff)

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexis Lothoré
2023-02-24 17:45:50 +01:00
committed by Richard Purdie
parent d86cbd3d3d
commit e557cd92d6

View File

@@ -22,6 +22,17 @@ from oeqa.core.exception import OEQAPreRun, OEQATestNotFound
from oeqa.utils.commands import runCmd, get_bb_vars, get_test_layer
OESELFTEST_METADATA=["run_all_tests", "run_tests", "skips", "machine", "select_tags", "exclude_tags"]
def get_oeselftest_metadata(args):
result = {}
raw_args = vars(args)
for metadata in OESELFTEST_METADATA:
if metadata in raw_args:
result[metadata] = raw_args[metadata]
return result
class NonConcurrentTestSuite(unittest.TestSuite):
def __init__(self, suite, processes, setupfunc, removefunc):
super().__init__([suite])
@@ -334,12 +345,14 @@ class OESelftestTestContextExecutor(OETestContextExecutor):
import platform
from oeqa.utils.metadata import metadata_from_bb
metadata = metadata_from_bb()
oeselftest_metadata = get_oeselftest_metadata(args)
configuration = {'TEST_TYPE': 'oeselftest',
'STARTTIME': args.test_start_time,
'MACHINE': self.tc.td["MACHINE"],
'HOST_DISTRO': oe.lsb.distro_identifier().replace(' ', '-'),
'HOST_NAME': metadata['hostname'],
'LAYERS': metadata['layers']}
'LAYERS': metadata['layers'],
'OESELFTEST_METADATA': oeselftest_metadata}
return configuration
def get_result_id(self, configuration):