mirror of https://github.com/ARMmbed/mbed-os.git
Added new switch -p to force peripheral in autodetection mode (--auto)
parent
1bb14b7492
commit
50ef6207f0
|
@ -213,6 +213,7 @@ if __name__ == '__main__':
|
|||
_opts_shuffle_test_order=opts.shuffle_test_order,
|
||||
_opts_shuffle_test_seed=opts.shuffle_test_seed,
|
||||
_opts_test_by_names=opts.test_by_names,
|
||||
_opts_peripheral_by_names=opts.peripheral_by_names,
|
||||
_opts_test_only_peripheral=opts.test_only_peripheral,
|
||||
_opts_test_only_common=opts.test_only_common,
|
||||
_opts_verbose_skipped_tests=opts.verbose_skipped_tests,
|
||||
|
|
|
@ -159,6 +159,7 @@ class SingleTestRunner(object):
|
|||
_opts_shuffle_test_order=False,
|
||||
_opts_shuffle_test_seed=None,
|
||||
_opts_test_by_names=None,
|
||||
_opts_peripheral_by_names=None,
|
||||
_opts_test_only_peripheral=False,
|
||||
_opts_test_only_common=False,
|
||||
_opts_verbose_skipped_tests=False,
|
||||
|
@ -208,6 +209,7 @@ class SingleTestRunner(object):
|
|||
self.opts_shuffle_test_order = _opts_shuffle_test_order
|
||||
self.opts_shuffle_test_seed = _opts_shuffle_test_seed
|
||||
self.opts_test_by_names = _opts_test_by_names
|
||||
self.opts_peripheral_by_names = _opts_peripheral_by_names
|
||||
self.opts_test_only_peripheral = _opts_test_only_peripheral
|
||||
self.opts_test_only_common = _opts_test_only_common
|
||||
self.opts_verbose_skipped_tests = _opts_verbose_skipped_tests
|
||||
|
@ -255,6 +257,7 @@ class SingleTestRunner(object):
|
|||
"shuffle_test_order" : str(self.opts_shuffle_test_order),
|
||||
"shuffle_test_seed" : str(self.opts_shuffle_test_seed),
|
||||
"test_by_names" : str(self.opts_test_by_names),
|
||||
"peripheral_by_names" : str(self.opts_peripheral_by_names),
|
||||
"test_only_peripheral" : str(self.opts_test_only_peripheral),
|
||||
"test_only_common" : str(self.opts_test_only_common),
|
||||
"verbose" : str(self.opts_verbose),
|
||||
|
@ -360,8 +363,10 @@ class SingleTestRunner(object):
|
|||
self.db_logger.update_build_id_info(self.db_logger_build_id, _extra=json.dumps(self.dump_options()))
|
||||
self.db_logger.disconnect();
|
||||
|
||||
|
||||
for test_id in test_map_keys:
|
||||
test = TEST_MAP[test_id]
|
||||
|
||||
if self.opts_test_by_names and test_id not in self.opts_test_by_names.split(','):
|
||||
continue
|
||||
|
||||
|
@ -374,6 +379,13 @@ class SingleTestRunner(object):
|
|||
test_suite_properties['skipped'].append(test_id)
|
||||
continue
|
||||
|
||||
if self.opts_peripheral_by_names and test.peripherals and not len([i for i in test.peripherals if i in self.opts_peripheral_by_names.split(',')]):
|
||||
# We will skip tests not forced with -p option
|
||||
if self.opts_verbose_skipped_tests:
|
||||
print self.logger.log_line(self.logger.LogType.INFO, 'Common test skipped for target %s'% (target))
|
||||
test_suite_properties['skipped'].append(test_id)
|
||||
continue
|
||||
|
||||
if self.opts_test_only_common and test.peripherals:
|
||||
if self.opts_verbose_skipped_tests:
|
||||
print self.logger.log_line(self.logger.LogType.INFO, 'Peripheral test skipped for target %s'% (target))
|
||||
|
@ -385,6 +397,10 @@ class SingleTestRunner(object):
|
|||
# When users are using 'build only flag' and test do not have
|
||||
# specified peripherals we can allow test building by default
|
||||
pass
|
||||
elif self.opts_peripheral_by_names and test_id not in self.opts_peripheral_by_names.split(','):
|
||||
# If we force peripheral with option -p we expect test
|
||||
# to pass even if peripheral is not in MUTs file.
|
||||
pass
|
||||
elif not self.is_peripherals_available(target, test.peripherals):
|
||||
if self.opts_verbose_skipped_tests:
|
||||
if test.peripherals:
|
||||
|
@ -912,7 +928,7 @@ class SingleTestRunner(object):
|
|||
return (result, "".join(output), testcase_duration, duration)
|
||||
|
||||
def is_peripherals_available(self, target_mcu_name, peripherals=None):
|
||||
""" Checks if specified target should run specific peripheral test case
|
||||
""" Checks if specified target should run specific peripheral test case defined in MUTs file
|
||||
"""
|
||||
if peripherals is not None:
|
||||
peripherals = set(peripherals)
|
||||
|
@ -930,7 +946,7 @@ class SingleTestRunner(object):
|
|||
return False
|
||||
|
||||
def shape_test_request(self, mcu, image_path, test_id, duration=10):
|
||||
""" Function prepares JOSN structure describing test specification
|
||||
""" Function prepares JSON structure describing test specification
|
||||
"""
|
||||
test_spec = {
|
||||
"mcu": mcu,
|
||||
|
@ -1507,7 +1523,11 @@ def get_default_test_options_parser():
|
|||
|
||||
parser.add_option('-n', '--test-by-names',
|
||||
dest='test_by_names',
|
||||
help='Runs only test enumerated it this switch')
|
||||
help='Runs only test enumerated it this switch. Use comma to separate test case names.')
|
||||
|
||||
parser.add_option('-p', '--peripheral-by-names',
|
||||
dest='peripheral_by_names',
|
||||
help='Forces discovery of particular peripherals. Use comma to separate peripheral names.')
|
||||
|
||||
copy_methods = host_tests_plugins.get_plugin_caps('CopyMethod')
|
||||
copy_methods_str = "Plugin support: " + ', '.join(copy_methods)
|
||||
|
|
Loading…
Reference in New Issue