diff --git a/tools/config.py b/tools/config.py index dbc5c0afef..905bc20b6e 100644 --- a/tools/config.py +++ b/tools/config.py @@ -444,7 +444,7 @@ class Config: self.add_config_files(resources.json_files) # Add features while we find new ones - features = self.get_features() + features = set(self.get_features()) if features == prev_features: break diff --git a/tools/test/config_test/test28/mbed_app.json b/tools/test/config_test/test28/mbed_app.json new file mode 100644 index 0000000000..4e2addae59 --- /dev/null +++ b/tools/test/config_test/test28/mbed_app.json @@ -0,0 +1,17 @@ +{ + "custom_targets": { + "test_target": { + "core": "Cortex-M0", + "extra_labels": [], + "features": [], + "default_build": "standard" + } + }, + "target_overrides": { + "*": { + "target.features_add": ["UVISOR"], + "target.extra_labels_add": ["UVISOR_SUPPORTED"] + } + } +} + diff --git a/tools/test/config_test/test28/test_data.py b/tools/test/config_test/test28/test_data.py new file mode 100644 index 0000000000..4f69bfceef --- /dev/null +++ b/tools/test/config_test/test28/test_data.py @@ -0,0 +1,8 @@ +# Testing when adding two features + +expected_results = { + "test_target": { + "desc": "test uvisor feature", + "expected_features": ["UVISOR"] + } +}