diff --git a/scripts/pylib/twister/twisterlib/testplan.py b/scripts/pylib/twister/twisterlib/testplan.py index 7eb795e8a35..098d9047d3b 100755 --- a/scripts/pylib/twister/twisterlib/testplan.py +++ b/scripts/pylib/twister/twisterlib/testplan.py @@ -786,11 +786,14 @@ class TestPlan: if self.options.integration: platform_scope = integration_platforms else: - # if not in integration mode, still add integration platforms to the list + platform_scope = platforms if not platform_filter: - platform_scope = platforms + integration_platforms - else: - platform_scope = platforms + tco = self.test_config.get('options', {}) + im = tco.get('integration_mode', []) + if any(ts.id.startswith(i) for i in im): + platform_scope = integration_platforms + else: + platform_scope += integration_platforms else: platform_scope = platforms diff --git a/scripts/schemas/twister/test-config-schema.yaml b/scripts/schemas/twister/test-config-schema.yaml index d8e29204e40..24a92c34361 100644 --- a/scripts/schemas/twister/test-config-schema.yaml +++ b/scripts/schemas/twister/test-config-schema.yaml @@ -4,6 +4,15 @@ type: map mapping: + "options": + type: map + required: false + mapping: + "integration_mode": + type: seq + required: false + sequence: + - type: str "platforms": type: map required: false diff --git a/tests/test_config_ci.yaml b/tests/test_config_ci.yaml new file mode 100644 index 00000000000..5f09c5bb08d --- /dev/null +++ b/tests/test_config_ci.yaml @@ -0,0 +1,25 @@ +options: + integration_mode: + - sample. +platforms: + override_default_platforms: false + increased_platform_scope: true +levels: + - name: smoke + description: > + A plan to be used verifying basic zephyr features on hardware. + adds: + - kernel.threads.* + - kernel.timer.behavior + - arch.interrupt + - boards.* + - drivers.gpio.1pin + - drivers.console.uart + - drivers.entropy + - name: acceptance + description: > + More coverage + inherits: + - smoke + adds: + - kernel.*