twister: fix integration_platforms selection

Logic for selecting non-default platforms listed in
integration_platforms did not work. Functionality is restored in this
change.

Fixes #32835

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
Anas Nashif 2021-03-03 14:05:54 -05:00
commit e618a5964b

View file

@ -3040,6 +3040,9 @@ class TestSuite(DisablePyTestCollectionMixin):
if tc.build_on_all and not platform_filter: if tc.build_on_all and not platform_filter:
platform_scope = self.platforms platform_scope = self.platforms
elif tc.integration_platforms and self.integration:
platform_scope = list(filter(lambda item: item.name in tc.integration_platforms, \
self.platforms))
else: else:
platform_scope = platforms platform_scope = platforms
@ -3151,9 +3154,10 @@ class TestSuite(DisablePyTestCollectionMixin):
if not instance_list: if not instance_list:
continue continue
integration = self.integration and tc.integration_platforms
# if twister was launched with no platform options at all, we # if twister was launched with no platform options at all, we
# take all default platforms # take all default platforms
if default_platforms and not tc.build_on_all: if default_platforms and not tc.build_on_all and not integration:
if tc.platform_allow: if tc.platform_allow:
a = set(self.default_platforms) a = set(self.default_platforms)
b = set(tc.platform_allow) b = set(tc.platform_allow)
@ -3165,10 +3169,12 @@ class TestSuite(DisablePyTestCollectionMixin):
self.add_instances(instance_list[:1]) self.add_instances(instance_list[:1])
else: else:
instances = list(filter(lambda tc: tc.platform.default, instance_list)) instances = list(filter(lambda tc: tc.platform.default, instance_list))
if self.integration:
instances += list(filter(lambda item: item.platform.name in tc.integration_platforms, \
instance_list))
self.add_instances(instances) self.add_instances(instances)
elif self.integration:
instances = list(filter(lambda item: item.platform.name in tc.integration_platforms, instance_list))
self.add_instances(instances)
elif emulation_platforms: elif emulation_platforms:
self.add_instances(instance_list) self.add_instances(instance_list)