Add test suite handling to central androidmk code

MTS is introducing partial MTS test suites that are per-module, with
names of the format: mts-${MODULE}. By centralizing the code for test
suites, we can automatically add "mts" test suite when an
"mts-${MODULE}" test suite is specified, reducing duplication.

Test: m mts
Bug: 170318013
Change-Id: I8ce9d3c252fcc0a937bb5f2826d21cb6c6932d82
This commit is contained in:
Liz Kammer
2020-11-24 12:42:58 -08:00
parent fdea25781f
commit 57f5b33ad3
7 changed files with 21 additions and 11 deletions

View File

@@ -177,6 +177,18 @@ func (a *AndroidMkEntries) AddStrings(name string, value ...string) {
a.EntryMap[name] = append(a.EntryMap[name], value...)
}
// AddCompatibilityTestSuites adds the supplied test suites to the EntryMap, with special handling
// for partial MTS test suites.
func (a *AndroidMkEntries) AddCompatibilityTestSuites(suites ...string) {
// MTS supports a full test suite and partial per-module MTS test suites, with naming mts-${MODULE}.
// To reduce repetition, if we find a partial MTS test suite without an full MTS test suite,
// we add the full test suite to our list.
if PrefixInList(suites, "mts-") && !InList("mts", suites) {
suites = append(suites, "mts")
}
a.AddStrings("LOCAL_COMPATIBILITY_SUITE", suites...)
}
// The contributions to the dist.
type distContributions struct {
// List of goals and the dist copy instructions.