Merge "Support 'test_config' into soong modules"

This commit is contained in:
Treehugger Robot
2018-08-08 15:26:25 +00:00
committed by Gerrit Code Review
6 changed files with 46 additions and 1 deletions

View File

@@ -248,6 +248,10 @@ func (benchmark *benchmarkDecorator) AndroidMk(ctx AndroidMkContext, ret *androi
fmt.Fprintln(w, "LOCAL_COMPATIBILITY_SUITE :=",
strings.Join(benchmark.Properties.Test_suites, " "))
}
if benchmark.Properties.Test_config != nil {
fmt.Fprintln(w, "LOCAL_TEST_CONFIG :=",
benchmark.Properties.Test_config)
}
fmt.Fprintln(w, "LOCAL_NATIVE_BENCHMARK := true")
})
@@ -266,6 +270,10 @@ func (test *testBinary) AndroidMk(ctx AndroidMkContext, ret *android.AndroidMkDa
fmt.Fprintln(w, "LOCAL_COMPATIBILITY_SUITE :=",
strings.Join(test.Properties.Test_suites, " "))
}
if test.Properties.Test_config != nil {
fmt.Fprintln(w, "LOCAL_TEST_CONFIG :=",
test.Properties.Test_config)
}
})
androidMkWriteTestData(test.data, ctx, ret)

View File

@@ -44,6 +44,10 @@ type TestBinaryProperties struct {
// list of compatibility suites (for example "cts", "vts") that the module should be
// installed into.
Test_suites []string `android:"arch_variant"`
// the name of the test configuration (for example "AndroidTest.xml") that should be
// installed with the module.
Test_config *string `android:"arch_variant"`
}
func init() {
@@ -304,7 +308,11 @@ type BenchmarkProperties struct {
// list of compatibility suites (for example "cts", "vts") that the module should be
// installed into.
Test_suites []string
Test_suites []string `android:"arch_variant"`
// the name of the test configuration (for example "AndroidTest.xml") that should be
// installed with the module.
Test_config *string `android:"arch_variant"`
}
type benchmarkDecorator struct {

View File

@@ -107,6 +107,10 @@ func (j *Test) AndroidMk() android.AndroidMkData {
fmt.Fprintln(w, "LOCAL_COMPATIBILITY_SUITE :=",
strings.Join(j.testProperties.Test_suites, " "))
}
if j.testProperties.Test_config != nil {
fmt.Fprintln(w, "LOCAL_TEST_CONFIG :=",
*j.testProperties.Test_config)
}
})
return data
@@ -241,6 +245,10 @@ func (a *AndroidTest) AndroidMk() android.AndroidMkData {
fmt.Fprintln(w, "LOCAL_COMPATIBILITY_SUITE :=",
strings.Join(a.testProperties.Test_suites, " "))
}
if a.testProperties.Test_config != nil {
fmt.Fprintln(w, "LOCAL_TEST_CONFIG :=",
*a.testProperties.Test_config)
}
})
return data

View File

@@ -1352,6 +1352,10 @@ type testProperties struct {
// list of compatibility suites (for example "cts", "vts") that the module should be
// installed into.
Test_suites []string `android:"arch_variant"`
// the name of the test configuration (for example "AndroidTest.xml") that should be
// installed with the module.
Test_config *string `android:"arch_variant"`
}
type Test struct {

View File

@@ -66,6 +66,11 @@ func (p *testDecorator) AndroidMk(base *Module, ret *android.AndroidMkData) {
fmt.Fprintln(w, "LOCAL_COMPATIBILITY_SUITE :=",
strings.Join(p.binaryDecorator.binaryProperties.Test_suites, " "))
}
// If the test config has an explicit config specified use it.
if p.testProperties.Test_config != nil {
fmt.Fprintln(w, "LOCAL_TEST_CONFIG :=",
*p.testProperties.Test_config)
}
})
base.subAndroidMk(ret, p.binaryDecorator.pythonInstaller)
}

View File

@@ -25,8 +25,20 @@ func init() {
android.RegisterModuleType("python_test", PythonTestFactory)
}
type TestProperties struct {
// the name of the test configuration (for example "AndroidTest.xml") that should be
// installed with the module.
Test_config *string `android:"arch_variant"`
}
type testDecorator struct {
*binaryDecorator
testProperties TestProperties
}
func (test *testDecorator) bootstrapperProps() []interface{} {
return append(test.binaryDecorator.bootstrapperProps(), &test.testProperties)
}
func (test *testDecorator) install(ctx android.ModuleContext, file android.Path) {