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:
parent
fdea25781f
commit
57f5b33ad3
|
@ -177,6 +177,18 @@ func (a *AndroidMkEntries) AddStrings(name string, value ...string) {
|
||||||
a.EntryMap[name] = append(a.EntryMap[name], value...)
|
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.
|
// The contributions to the dist.
|
||||||
type distContributions struct {
|
type distContributions struct {
|
||||||
// List of goals and the dist copy instructions.
|
// List of goals and the dist copy instructions.
|
||||||
|
|
|
@ -44,7 +44,7 @@ func (me *CSuiteConfig) AndroidMkEntries() []AndroidMkEntries {
|
||||||
if me.properties.Test_config != nil {
|
if me.properties.Test_config != nil {
|
||||||
entries.SetString("LOCAL_TEST_CONFIG", *me.properties.Test_config)
|
entries.SetString("LOCAL_TEST_CONFIG", *me.properties.Test_config)
|
||||||
}
|
}
|
||||||
entries.AddStrings("LOCAL_COMPATIBILITY_SUITE", "csuite")
|
entries.AddCompatibilityTestSuites("csuite")
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
return []AndroidMkEntries{androidMkEntries}
|
return []AndroidMkEntries{androidMkEntries}
|
||||||
|
|
|
@ -334,8 +334,7 @@ func (benchmark *benchmarkDecorator) AndroidMkEntries(ctx AndroidMkContext, entr
|
||||||
entries.Class = "NATIVE_TESTS"
|
entries.Class = "NATIVE_TESTS"
|
||||||
entries.ExtraEntries = append(entries.ExtraEntries, func(entries *android.AndroidMkEntries) {
|
entries.ExtraEntries = append(entries.ExtraEntries, func(entries *android.AndroidMkEntries) {
|
||||||
if len(benchmark.Properties.Test_suites) > 0 {
|
if len(benchmark.Properties.Test_suites) > 0 {
|
||||||
entries.SetString("LOCAL_COMPATIBILITY_SUITE",
|
entries.AddCompatibilityTestSuites(benchmark.Properties.Test_suites...)
|
||||||
strings.Join(benchmark.Properties.Test_suites, " "))
|
|
||||||
}
|
}
|
||||||
if benchmark.testConfig != nil {
|
if benchmark.testConfig != nil {
|
||||||
entries.SetString("LOCAL_FULL_TEST_CONFIG", benchmark.testConfig.String())
|
entries.SetString("LOCAL_FULL_TEST_CONFIG", benchmark.testConfig.String())
|
||||||
|
@ -360,8 +359,7 @@ func (test *testBinary) AndroidMkEntries(ctx AndroidMkContext, entries *android.
|
||||||
}
|
}
|
||||||
entries.ExtraEntries = append(entries.ExtraEntries, func(entries *android.AndroidMkEntries) {
|
entries.ExtraEntries = append(entries.ExtraEntries, func(entries *android.AndroidMkEntries) {
|
||||||
if len(test.Properties.Test_suites) > 0 {
|
if len(test.Properties.Test_suites) > 0 {
|
||||||
entries.SetString("LOCAL_COMPATIBILITY_SUITE",
|
entries.AddCompatibilityTestSuites(test.Properties.Test_suites...)
|
||||||
strings.Join(test.Properties.Test_suites, " "))
|
|
||||||
}
|
}
|
||||||
if test.testConfig != nil {
|
if test.testConfig != nil {
|
||||||
entries.SetString("LOCAL_FULL_TEST_CONFIG", test.testConfig.String())
|
entries.SetString("LOCAL_FULL_TEST_CONFIG", test.testConfig.String())
|
||||||
|
|
|
@ -139,9 +139,9 @@ func (library *Library) AndroidMkEntries() []android.AndroidMkEntries {
|
||||||
func testSuiteComponent(entries *android.AndroidMkEntries, test_suites []string) {
|
func testSuiteComponent(entries *android.AndroidMkEntries, test_suites []string) {
|
||||||
entries.SetString("LOCAL_MODULE_TAGS", "tests")
|
entries.SetString("LOCAL_MODULE_TAGS", "tests")
|
||||||
if len(test_suites) > 0 {
|
if len(test_suites) > 0 {
|
||||||
entries.AddStrings("LOCAL_COMPATIBILITY_SUITE", test_suites...)
|
entries.AddCompatibilityTestSuites(test_suites...)
|
||||||
} else {
|
} else {
|
||||||
entries.SetString("LOCAL_COMPATIBILITY_SUITE", "null-suite")
|
entries.AddCompatibilityTestSuites("null-suite")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -49,7 +49,7 @@ func (p *binaryDecorator) AndroidMk(base *Module, entries *android.AndroidMkEntr
|
||||||
entries.Class = "EXECUTABLES"
|
entries.Class = "EXECUTABLES"
|
||||||
|
|
||||||
entries.ExtraEntries = append(entries.ExtraEntries, func(entries *android.AndroidMkEntries) {
|
entries.ExtraEntries = append(entries.ExtraEntries, func(entries *android.AndroidMkEntries) {
|
||||||
entries.AddStrings("LOCAL_COMPATIBILITY_SUITE", p.binaryProperties.Test_suites...)
|
entries.AddCompatibilityTestSuites(p.binaryProperties.Test_suites...)
|
||||||
})
|
})
|
||||||
base.subAndroidMk(entries, p.pythonInstaller)
|
base.subAndroidMk(entries, p.pythonInstaller)
|
||||||
}
|
}
|
||||||
|
@ -58,7 +58,7 @@ func (p *testDecorator) AndroidMk(base *Module, entries *android.AndroidMkEntrie
|
||||||
entries.Class = "NATIVE_TESTS"
|
entries.Class = "NATIVE_TESTS"
|
||||||
|
|
||||||
entries.ExtraEntries = append(entries.ExtraEntries, func(entries *android.AndroidMkEntries) {
|
entries.ExtraEntries = append(entries.ExtraEntries, func(entries *android.AndroidMkEntries) {
|
||||||
entries.AddStrings("LOCAL_COMPATIBILITY_SUITE", p.binaryDecorator.binaryProperties.Test_suites...)
|
entries.AddCompatibilityTestSuites(p.binaryDecorator.binaryProperties.Test_suites...)
|
||||||
if p.testConfig != nil {
|
if p.testConfig != nil {
|
||||||
entries.SetString("LOCAL_FULL_TEST_CONFIG", p.testConfig.String())
|
entries.SetString("LOCAL_FULL_TEST_CONFIG", p.testConfig.String())
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,7 +90,7 @@ func (test *testDecorator) AndroidMk(ctx AndroidMkContext, ret *android.AndroidM
|
||||||
test.binaryDecorator.AndroidMk(ctx, ret)
|
test.binaryDecorator.AndroidMk(ctx, ret)
|
||||||
ret.Class = "NATIVE_TESTS"
|
ret.Class = "NATIVE_TESTS"
|
||||||
ret.ExtraEntries = append(ret.ExtraEntries, func(entries *android.AndroidMkEntries) {
|
ret.ExtraEntries = append(ret.ExtraEntries, func(entries *android.AndroidMkEntries) {
|
||||||
entries.AddStrings("LOCAL_COMPATIBILITY_SUITE", test.Properties.Test_suites...)
|
entries.AddCompatibilityTestSuites(test.Properties.Test_suites...)
|
||||||
if test.testConfig != nil {
|
if test.testConfig != nil {
|
||||||
entries.SetString("LOCAL_FULL_TEST_CONFIG", test.testConfig.String())
|
entries.SetString("LOCAL_FULL_TEST_CONFIG", test.testConfig.String())
|
||||||
}
|
}
|
||||||
|
|
|
@ -398,7 +398,7 @@ func (s *ShTest) AndroidMkEntries() []android.AndroidMkEntries {
|
||||||
func(entries *android.AndroidMkEntries) {
|
func(entries *android.AndroidMkEntries) {
|
||||||
s.customAndroidMkEntries(entries)
|
s.customAndroidMkEntries(entries)
|
||||||
entries.SetPath("LOCAL_MODULE_PATH", s.installDir.ToMakePath())
|
entries.SetPath("LOCAL_MODULE_PATH", s.installDir.ToMakePath())
|
||||||
entries.AddStrings("LOCAL_COMPATIBILITY_SUITE", s.testProperties.Test_suites...)
|
entries.AddCompatibilityTestSuites(s.testProperties.Test_suites...)
|
||||||
if s.testConfig != nil {
|
if s.testConfig != nil {
|
||||||
entries.SetPath("LOCAL_FULL_TEST_CONFIG", s.testConfig)
|
entries.SetPath("LOCAL_FULL_TEST_CONFIG", s.testConfig)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue