summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYeoh Ee Peng <ee.peng.yeoh@intel.com>2019-03-07 12:49:08 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-03-25 23:12:07 +0000
commit514a9165790dda2afb412c519cb1444493dff1f9 (patch)
tree10ce0c5088d9acdc1d5cab7752448700fcd59c7c
parentde222c3c9e3aa34e42e1ad6ba6cbb9e1a18ccd80 (diff)
downloadopenembedded-core-contrib-514a9165790dda2afb412c519cb1444493dff1f9.tar.gz
openembedded-core-contrib-514a9165790dda2afb412c519cb1444493dff1f9.tar.bz2
openembedded-core-contrib-514a9165790dda2afb412c519cb1444493dff1f9.zip
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. Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-xscripts/lib/resulttool/manualexecution.py36
-rw-r--r--scripts/lib/resulttool/resultutils.py9
2 files changed, 26 insertions, 19 deletions
diff --git a/scripts/lib/resulttool/manualexecution.py b/scripts/lib/resulttool/manualexecution.py
index ecdc4e7a7a..a44cc86190 100755
--- a/scripts/lib/resulttool/manualexecution.py
+++ b/scripts/lib/resulttool/manualexecution.py
@@ -19,6 +19,7 @@ import datetime
import re
from oeqa.core.runner import OETestResultJSONHelper
+
def load_json_file(file):
with open(file, "r") as f:
return json.load(f)
@@ -46,31 +47,34 @@ class ManualTestRunner(object):
def _get_input(self, config):
while True:
output = input('{} = '.format(config))
- if re.match('^[a-zA-Z0-9_]+$', output):
+ if re.match('^[a-zA-Z0-9_-]+$', output):
break
- print('Only alphanumeric and underscore are allowed. Please try again')
+ print('Only alphanumeric and underscore/hyphen are allowed. Please try again')
return output
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 = {}
- while True:
- 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):
+ self.configuration['LAYERS'] = layers
+ current_datetime = datetime.datetime.now()
+ self.starttime = current_datetime.strftime('%Y%m%d%H%M%S')
+ self.configuration['STARTTIME'] = self.starttime
+ 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 ' % (i + 1) + '. Please provide configuration name and its value')
+ print('This is configuration #%s. Please provide configuration value(use "None" if not applicable).'
+ % config)
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()
- self.starttime = current_datetime.strftime('%Y%m%d%H%M%S')
- self.configuration['STARTTIME'] = self.starttime
- self.configuration['TEST_TYPE'] = self.test_module
+ self.configuration[config] = value_conf
def _create_result_id(self):
self.result_id = 'manual_' + self.test_module + '_' + self.starttime
diff --git a/scripts/lib/resulttool/resultutils.py b/scripts/lib/resulttool/resultutils.py
index c8ccf1bcb6..153f2b8e10 100644
--- a/scripts/lib/resulttool/resultutils.py
+++ b/scripts/lib/resulttool/resultutils.py
@@ -21,19 +21,22 @@ flatten_map = {
"oeselftest": [],
"runtime": [],
"sdk": [],
- "sdkext": []
+ "sdkext": [],
+ "manual": []
}
regression_map = {
"oeselftest": ['TEST_TYPE', 'MACHINE'],
"runtime": ['TESTSERIES', 'TEST_TYPE', 'IMAGE_BASENAME', 'MACHINE', 'IMAGE_PKGTYPE', 'DISTRO'],
"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 = {
"oeselftest": ['TEST_TYPE'],
"runtime": ['TEST_TYPE', 'DISTRO', 'MACHINE', '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']
}
#