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_order=opts.shuffle_test_order,
|
||||||
_opts_shuffle_test_seed=opts.shuffle_test_seed,
|
_opts_shuffle_test_seed=opts.shuffle_test_seed,
|
||||||
_opts_test_by_names=opts.test_by_names,
|
_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_peripheral=opts.test_only_peripheral,
|
||||||
_opts_test_only_common=opts.test_only_common,
|
_opts_test_only_common=opts.test_only_common,
|
||||||
_opts_verbose_skipped_tests=opts.verbose_skipped_tests,
|
_opts_verbose_skipped_tests=opts.verbose_skipped_tests,
|
||||||
|
|
|
@ -159,6 +159,7 @@ class SingleTestRunner(object):
|
||||||
_opts_shuffle_test_order=False,
|
_opts_shuffle_test_order=False,
|
||||||
_opts_shuffle_test_seed=None,
|
_opts_shuffle_test_seed=None,
|
||||||
_opts_test_by_names=None,
|
_opts_test_by_names=None,
|
||||||
|
_opts_peripheral_by_names=None,
|
||||||
_opts_test_only_peripheral=False,
|
_opts_test_only_peripheral=False,
|
||||||
_opts_test_only_common=False,
|
_opts_test_only_common=False,
|
||||||
_opts_verbose_skipped_tests=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_order = _opts_shuffle_test_order
|
||||||
self.opts_shuffle_test_seed = _opts_shuffle_test_seed
|
self.opts_shuffle_test_seed = _opts_shuffle_test_seed
|
||||||
self.opts_test_by_names = _opts_test_by_names
|
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_peripheral = _opts_test_only_peripheral
|
||||||
self.opts_test_only_common = _opts_test_only_common
|
self.opts_test_only_common = _opts_test_only_common
|
||||||
self.opts_verbose_skipped_tests = _opts_verbose_skipped_tests
|
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_order" : str(self.opts_shuffle_test_order),
|
||||||
"shuffle_test_seed" : str(self.opts_shuffle_test_seed),
|
"shuffle_test_seed" : str(self.opts_shuffle_test_seed),
|
||||||
"test_by_names" : str(self.opts_test_by_names),
|
"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_peripheral" : str(self.opts_test_only_peripheral),
|
||||||
"test_only_common" : str(self.opts_test_only_common),
|
"test_only_common" : str(self.opts_test_only_common),
|
||||||
"verbose" : str(self.opts_verbose),
|
"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.update_build_id_info(self.db_logger_build_id, _extra=json.dumps(self.dump_options()))
|
||||||
self.db_logger.disconnect();
|
self.db_logger.disconnect();
|
||||||
|
|
||||||
|
|
||||||
for test_id in test_map_keys:
|
for test_id in test_map_keys:
|
||||||
test = TEST_MAP[test_id]
|
test = TEST_MAP[test_id]
|
||||||
|
|
||||||
if self.opts_test_by_names and test_id not in self.opts_test_by_names.split(','):
|
if self.opts_test_by_names and test_id not in self.opts_test_by_names.split(','):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
@ -374,6 +379,13 @@ class SingleTestRunner(object):
|
||||||
test_suite_properties['skipped'].append(test_id)
|
test_suite_properties['skipped'].append(test_id)
|
||||||
continue
|
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_test_only_common and test.peripherals:
|
||||||
if self.opts_verbose_skipped_tests:
|
if self.opts_verbose_skipped_tests:
|
||||||
print self.logger.log_line(self.logger.LogType.INFO, 'Peripheral test skipped for target %s'% (target))
|
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
|
# When users are using 'build only flag' and test do not have
|
||||||
# specified peripherals we can allow test building by default
|
# specified peripherals we can allow test building by default
|
||||||
pass
|
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):
|
elif not self.is_peripherals_available(target, test.peripherals):
|
||||||
if self.opts_verbose_skipped_tests:
|
if self.opts_verbose_skipped_tests:
|
||||||
if test.peripherals:
|
if test.peripherals:
|
||||||
|
@ -912,7 +928,7 @@ class SingleTestRunner(object):
|
||||||
return (result, "".join(output), testcase_duration, duration)
|
return (result, "".join(output), testcase_duration, duration)
|
||||||
|
|
||||||
def is_peripherals_available(self, target_mcu_name, peripherals=None):
|
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:
|
if peripherals is not None:
|
||||||
peripherals = set(peripherals)
|
peripherals = set(peripherals)
|
||||||
|
@ -930,7 +946,7 @@ class SingleTestRunner(object):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def shape_test_request(self, mcu, image_path, test_id, duration=10):
|
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 = {
|
test_spec = {
|
||||||
"mcu": mcu,
|
"mcu": mcu,
|
||||||
|
@ -1507,7 +1523,11 @@ def get_default_test_options_parser():
|
||||||
|
|
||||||
parser.add_option('-n', '--test-by-names',
|
parser.add_option('-n', '--test-by-names',
|
||||||
dest='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 = host_tests_plugins.get_plugin_caps('CopyMethod')
|
||||||
copy_methods_str = "Plugin support: " + ', '.join(copy_methods)
|
copy_methods_str = "Plugin support: " + ', '.join(copy_methods)
|
||||||
|
|
Loading…
Reference in New Issue