Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 342a37a6 authored by Cole Faust's avatar Cole Faust Committed by Automerger Merge Worker
Browse files

Merge "Add support for selects on string lists" into main am: 5d6bcfa9 am: 4af20236

parents 6839e917 4af20236
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -2450,6 +2450,8 @@ func (e configurationEvalutor) EvaluateConfiguration(condition proptools.Configu
					return proptools.ConfigurableValueString(v)
					return proptools.ConfigurableValueString(v)
				case "bool":
				case "bool":
					return proptools.ConfigurableValueBool(v == "true")
					return proptools.ConfigurableValueBool(v == "true")
				case "string_list":
					return proptools.ConfigurableValueStringList(strings.Split(v, " "))
				default:
				default:
					panic("unhandled soong config variable type: " + ty)
					panic("unhandled soong config variable type: " + ty)
				}
				}
+48 −0
Original line number Original line Diff line number Diff line
@@ -1031,6 +1031,54 @@ my_module_type {
				my_string_list: &[]string{"d2", "e2", "f2", "a1", "b1", "c1"},
				my_string_list: &[]string{"d2", "e2", "f2", "a1", "b1", "c1"},
			},
			},
		},
		},
		{
			name: "string list variables",
			bp: `
my_module_type {
	name: "foo",
	my_string_list: ["a"] + select(soong_config_variable("my_namespace", "my_var"), {
		any @ my_var: my_var,
		default: [],
	}),
}
`,
			vendorVars: map[string]map[string]string{
				"my_namespace": {
					"my_var": "b c",
				},
			},
			vendorVarTypes: map[string]map[string]string{
				"my_namespace": {
					"my_var": "string_list",
				},
			},
			provider: selectsTestProvider{
				my_string_list: &[]string{"a", "b", "c"},
			},
		},
		{
			name: "string list variables don't match string matchers",
			bp: `
my_module_type {
	name: "foo",
	my_string_list: ["a"] + select(soong_config_variable("my_namespace", "my_var"), {
		"foo": ["b"],
		default: [],
	}),
}
`,
			vendorVars: map[string]map[string]string{
				"my_namespace": {
					"my_var": "b c",
				},
			},
			vendorVarTypes: map[string]map[string]string{
				"my_namespace": {
					"my_var": "string_list",
				},
			},
			expectedError: `Expected all branches of a select on condition soong_config_variable\("my_namespace", "my_var"\) to have type string_list, found string`,
		},
	}
	}


	for _, tc := range testCases {
	for _, tc := range testCases {