oeqa: write @OETestTag content into json test reports for each case

This allows using these tags for classification and filtering of test results
according to various organization-specific criteria, such as teams
responsible for the test, internal test ids, feature domains and so on.

Test name itself meanwhile can stay short and human-readable.

(From OE-Core rev: 3801b126eb52cd46efe417111afcd27f05d8f72b)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin
2020-08-07 14:24:54 +02:00
committed by Richard Purdie
parent 917032944e
commit 3ee166c0dd

View File

@@ -195,6 +195,20 @@ class OETestResult(_TestResult):
report['log'] = log
if duration:
report['duration'] = duration
alltags = []
# pull tags from the case class
if hasattr(case, "__oeqa_testtags"):
alltags.extend(getattr(case, "__oeqa_testtags"))
# pull tags from the method itself
test_name = case._testMethodName
if hasattr(case, test_name):
method = getattr(case, test_name)
if hasattr(method, "__oeqa_testtags"):
alltags.extend(getattr(method, "__oeqa_testtags"))
if alltags:
report['oetags'] = alltags
if dump_streams and case.id() in self.logged_output:
(stdout, stderr) = self.logged_output[case.id()]
report['stdout'] = stdout