diff options
author | Yeoh Ee Peng <ee.peng.yeoh@intel.com> | 2019-03-07 12:49:08 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-03-24 16:53:32 +0000 |
commit | 3e711cd0482e9df644b011a7d6dadffdfe139f8e (patch) | |
tree | af5ed0470e728641e8950a2522448d64785239d8 /scripts/lib/resulttool/manualexecution.py | |
parent | cbe96a6dcb95032c61393bac348141e15a6b6590 (diff) | |
download | openembedded-core-3e711cd0482e9df644b011a7d6dadffdfe139f8e.tar.gz openembedded-core-3e711cd0482e9df644b011a7d6dadffdfe139f8e.tar.bz2 openembedded-core-3e711cd0482e9df644b011a7d6dadffdfe139f8e.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>
Diffstat (limited to 'scripts/lib/resulttool/manualexecution.py')
-rwxr-xr-x | scripts/lib/resulttool/manualexecution.py | 36 |
1 files changed, 20 insertions, 16 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 |