Move common test_options properties into the android package

Multiple modules (e.g. java, cc, python, rust) define the `test_options`
field. Extract the common properties in test_options to share across
different test rules.

Bug: 240928948
Test: `refreshmod` and diff with original module-info.json
Change-Id: I404a7a157b4ccaa53d800ee2217559ff695bd825
This commit is contained in:
Zhenhuang Wang
2022-08-12 18:49:20 +08:00
parent 63e738ffe0
commit 0ac5a431a9
11 changed files with 93 additions and 59 deletions

View File

@@ -911,3 +911,45 @@ func TestSortedUniqueNamedPaths(t *testing.T) {
})
}
}
func TestProcessCommonTestOptions(t *testing.T) {
tests := []struct {
name string
testOptions CommonTestOptions
expected map[string][]string
}{
{
name: "empty",
testOptions: CommonTestOptions{},
expected: map[string][]string{},
},
{
name: "is unit test",
testOptions: CommonTestOptions{
Unit_test: boolPtr(true),
},
expected: map[string][]string{
"LOCAL_IS_UNIT_TEST": []string{"true"},
},
},
{
name: "is not unit test",
testOptions: CommonTestOptions{
Unit_test: boolPtr(false),
},
expected: map[string][]string{},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
actualEntries := AndroidMkEntries{
EntryMap: map[string][]string{},
}
tt.testOptions.SetAndroidMkEntries(&actualEntries)
actual := actualEntries.EntryMap
t.Logf("actual: %v", actual)
t.Logf("expected: %v", tt.expected)
AssertDeepEquals(t, "TestProcessCommonTestOptions ", tt.expected, actual)
})
}
}