diff --git a/tools/config.py b/tools/config.py index c0af0848968..dbc5c0afef4 100644 --- a/tools/config.py +++ b/tools/config.py @@ -169,7 +169,8 @@ def strict_cumulative_overrides(self, overrides): def update_target(self, target): setattr(target, self.name, list( - set(getattr(target, self.name, [])) | self.additions - self.removals)) + (set(getattr(target, self.name, [])) | self.additions) - self.removals)) + # 'Config' implements the mbed configuration mechanism diff --git a/tools/test/config_test/test27/lib1/mbed_lib.json b/tools/test/config_test/test27/lib1/mbed_lib.json new file mode 100644 index 00000000000..415bbe941fb --- /dev/null +++ b/tools/test/config_test/test27/lib1/mbed_lib.json @@ -0,0 +1,8 @@ +{ + "name": "lib1", + "target_overrides": { + "*": { + "target.features_remove": ["IPV4"] + } + } +} diff --git a/tools/test/config_test/test27/mbed_app.json b/tools/test/config_test/test27/mbed_app.json new file mode 100644 index 00000000000..b9695ed925d --- /dev/null +++ b/tools/test/config_test/test27/mbed_app.json @@ -0,0 +1,11 @@ +{ + "custom_targets": { + "test_target": { + "core": "Cortex-M0", + "extra_labels": [], + "features": ["IPV4"], + "default_build": "standard" + } + } +} + diff --git a/tools/test/config_test/test27/test_data.py b/tools/test/config_test/test27/test_data.py new file mode 100644 index 00000000000..53853318a43 --- /dev/null +++ b/tools/test/config_test/test27/test_data.py @@ -0,0 +1,8 @@ +# Testing when adding two features + +expected_results = { + "test_target": { + "desc": "test removing features", + "expected_features": [] + } +}