Skip to content

Commit

Permalink
twister: fix integration_platforms selection
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
nashif committed Mar 11, 2021
1 parent 4fbd0cb commit e618a59
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions scripts/pylib/twister/twisterlib.py
Original file line number Diff line number Diff line change
Expand Up @@ -3040,6 +3040,9 @@ def apply_filters(self, **kwargs):

if tc.build_on_all and not platform_filter:
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:
platform_scope = platforms

Expand Down Expand Up @@ -3151,9 +3154,10 @@ def apply_filters(self, **kwargs):
if not instance_list:
continue

integration = self.integration and tc.integration_platforms
# if twister was launched with no platform options at all, we
# 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:
a = set(self.default_platforms)
b = set(tc.platform_allow)
Expand All @@ -3165,10 +3169,12 @@ def apply_filters(self, **kwargs):
self.add_instances(instance_list[:1])
else:
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)
elif self.integration:
instances = list(filter(lambda item: item.platform.name in tc.integration_platforms, instance_list))
self.add_instances(instances)



elif emulation_platforms:
self.add_instances(instance_list)
Expand Down

0 comments on commit e618a59

Please sign in to comment.