twister: Minor quarantine fixes

Statuses of quarantined test cases were not updated properly.
Quarantined tests shouldn't cause errors in integration mode.
Removed obsolate filter type.

Signed-off-by: Maciej Perkowski <maciej.perkowski@nordicsemi.no>
This commit is contained in:
Maciej Perkowski 2025-06-06 15:54:14 +02:00 committed by Daniel DeGrasse
commit 61e9de5ec4
2 changed files with 12 additions and 10 deletions

View file

@ -61,8 +61,6 @@ class Filters:
TESTPLAN = 'testplan filter'
# filters related to platform definition
PLATFORM = 'Platform related filter'
# in case a test suite was quarantined.
QUARANTINE = 'Quarantine filter'
# in case a test suite is skipped intentionally .
SKIP = 'Skip filter'
# in case of incompatibility between selected and allowed toolchains.
@ -1154,13 +1152,15 @@ class TestPlan:
self.selected_platforms = set(p.platform.name for p in self.instances.values())
filtered_instances = list(
filter(lambda item: item.status == TwisterStatus.FILTER, self.instances.values())
filtered_and_skipped_instances = list(
filter(
lambda item: item.status in [TwisterStatus.FILTER, TwisterStatus.SKIP],
self.instances.values()
)
)
for filtered_instance in filtered_instances:
change_skip_to_error_if_integration(self.options, filtered_instance)
filtered_instance.add_missing_case_status(filtered_instance.status)
for inst in filtered_and_skipped_instances:
change_skip_to_error_if_integration(self.options, inst)
inst.add_missing_case_status(inst.status)
def add_instances(self, instance_list):
for instance in instance_list:
@ -1249,9 +1249,11 @@ def change_skip_to_error_if_integration(options, instance):
filters = {t['type'] for t in instance.filters}
ignore_filters ={Filters.CMD_LINE, Filters.SKIP, Filters.PLATFORM_KEY,
Filters.TOOLCHAIN, Filters.MODULE, Filters.TESTPLAN,
Filters.QUARANTINE, Filters.ENVIRONMENT}
Filters.ENVIRONMENT}
if filters.intersection(ignore_filters):
return
if "quarantine" in instance.reason.lower():
return
instance.status = TwisterStatus.ERROR
instance.reason += " but is one of the integration platforms"
logger.debug(

View file

@ -1745,7 +1745,7 @@ TESTDATA_14 = [
('bad platform', 'dummy reason', [],
'dummy status', 'dummy reason'),
('good platform', 'quarantined', [],
TwisterStatus.ERROR, 'quarantined but is one of the integration platforms'),
'dummy status', 'quarantined'),
('good platform', 'dummy reason', [{'type': 'command line filter'}],
'dummy status', 'dummy reason'),
('good platform', 'dummy reason', [{'type': 'Skip filter'}],