1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-01 13:09:50 +00:00

scripts/resulttool: Enable manual result store and regression

To enable store for testresults.json file from manualexecution,
add layers metadata to configuration and add "manual" map to
resultutils.store_map.

To enable regression for manual, add "manual" map to
resultutils.regression_map. Also added compulsory configurations
('MACHINE', 'IMAGE_BASENAME') to manualexecution.

(From OE-Core rev: 3e711cd0482e9df644b011a7d6dadffdfe139f8e)

Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Yeoh Ee Peng
2019-03-07 12:49:08 +08:00
committed by Richard Purdie
parent b6fa6f7e6c
commit 1050296150
2 changed files with 27 additions and 20 deletions
+21 -17
View File
@@ -19,6 +19,7 @@ import datetime
import re import re
from oeqa.core.runner import OETestResultJSONHelper from oeqa.core.runner import OETestResultJSONHelper
def load_json_file(file): def load_json_file(file):
with open(file, "r") as f: with open(file, "r") as f:
return json.load(f) return json.load(f)
@@ -46,31 +47,34 @@ class ManualTestRunner(object):
def _get_input(self, config): def _get_input(self, config):
while True: while True:
output = input('{} = '.format(config)) output = input('{} = '.format(config))
if re.match('^[a-zA-Z0-9_]+$', output): if re.match('^[a-zA-Z0-9_-]+$', output):
break break
print('Only alphanumeric and underscore are allowed. Please try again') print('Only alphanumeric and underscore/hyphen are allowed. Please try again')
return output return output
def _create_config(self): def _create_config(self):
from oeqa.utils.metadata import get_layers
from oeqa.utils.commands import get_bb_var
from resulttool.resultutils import store_map
layers = get_layers(get_bb_var('BBLAYERS'))
self.configuration = {} self.configuration = {}
while True: self.configuration['LAYERS'] = layers
try:
conf_total = int(input('\nPlease provide how many configuration you want to save \n'))
break
except ValueError:
print('Invalid input. Please provide input as a number not character.')
for i in range(conf_total):
print('---------------------------------------------')
print('This is configuration #%s ' % (i + 1) + '. Please provide configuration name and its value')
print('---------------------------------------------')
name_conf = self._get_input('Configuration Name')
value_conf = self._get_input('Configuration Value')
print('---------------------------------------------\n')
self.configuration[name_conf.upper()] = value_conf
current_datetime = datetime.datetime.now() current_datetime = datetime.datetime.now()
self.starttime = current_datetime.strftime('%Y%m%d%H%M%S') self.starttime = current_datetime.strftime('%Y%m%d%H%M%S')
self.configuration['STARTTIME'] = self.starttime self.configuration['STARTTIME'] = self.starttime
self.configuration['TEST_TYPE'] = self.test_module self.configuration['TEST_TYPE'] = 'manual'
self.configuration['TEST_MODULE'] = self.test_module
extra_config = set(store_map['manual']) - set(self.configuration)
for config in sorted(extra_config):
print('---------------------------------------------')
print('This is configuration #%s. Please provide configuration value(use "None" if not applicable).'
% config)
print('---------------------------------------------')
value_conf = self._get_input('Configuration Value')
print('---------------------------------------------\n')
self.configuration[config] = value_conf
def _create_result_id(self): def _create_result_id(self):
self.result_id = 'manual_' + self.test_module + '_' + self.starttime self.result_id = 'manual_' + self.test_module + '_' + self.starttime
+6 -3
View File
@@ -21,19 +21,22 @@ flatten_map = {
"oeselftest": [], "oeselftest": [],
"runtime": [], "runtime": [],
"sdk": [], "sdk": [],
"sdkext": [] "sdkext": [],
"manual": []
} }
regression_map = { regression_map = {
"oeselftest": ['TEST_TYPE', 'MACHINE'], "oeselftest": ['TEST_TYPE', 'MACHINE'],
"runtime": ['TESTSERIES', 'TEST_TYPE', 'IMAGE_BASENAME', 'MACHINE', 'IMAGE_PKGTYPE', 'DISTRO'], "runtime": ['TESTSERIES', 'TEST_TYPE', 'IMAGE_BASENAME', 'MACHINE', 'IMAGE_PKGTYPE', 'DISTRO'],
"sdk": ['TESTSERIES', 'TEST_TYPE', 'IMAGE_BASENAME', 'MACHINE', 'SDKMACHINE'], "sdk": ['TESTSERIES', 'TEST_TYPE', 'IMAGE_BASENAME', 'MACHINE', 'SDKMACHINE'],
"sdkext": ['TESTSERIES', 'TEST_TYPE', 'IMAGE_BASENAME', 'MACHINE', 'SDKMACHINE'] "sdkext": ['TESTSERIES', 'TEST_TYPE', 'IMAGE_BASENAME', 'MACHINE', 'SDKMACHINE'],
"manual": ['TEST_TYPE', 'TEST_MODULE', 'IMAGE_BASENAME', 'MACHINE']
} }
store_map = { store_map = {
"oeselftest": ['TEST_TYPE'], "oeselftest": ['TEST_TYPE'],
"runtime": ['TEST_TYPE', 'DISTRO', 'MACHINE', 'IMAGE_BASENAME'], "runtime": ['TEST_TYPE', 'DISTRO', 'MACHINE', 'IMAGE_BASENAME'],
"sdk": ['TEST_TYPE', 'MACHINE', 'SDKMACHINE', 'IMAGE_BASENAME'], "sdk": ['TEST_TYPE', 'MACHINE', 'SDKMACHINE', 'IMAGE_BASENAME'],
"sdkext": ['TEST_TYPE', 'MACHINE', 'SDKMACHINE', 'IMAGE_BASENAME'] "sdkext": ['TEST_TYPE', 'MACHINE', 'SDKMACHINE', 'IMAGE_BASENAME'],
"manual": ['TEST_TYPE', 'TEST_MODULE', 'MACHINE', 'IMAGE_BASENAME']
} }
# #