Autogen python test config.

Feature request from developer, autogen python test config.

Bug:118442443

Test: $source build/envsetup.sh ; lunch
      $sed -i '/test_config/d' tools/acloud/Android.bp
      $make acloud_test
      $[ -f $ANDROID_HOST_OUT_TESTCASES/acloud_test/acloud_test.config ] && echo "Found" || echo "Not found"

Change-Id: I196230581b456afe03e67f9cd84c028d18ba08d9
This commit is contained in:
yelinhsieh
2018-11-06 11:49:55 +08:00
committed by Yelin Hsieh
parent 98975c301e
commit 80880a3460
6 changed files with 34 additions and 0 deletions

View File

@@ -70,6 +70,11 @@ func (p *testDecorator) AndroidMk(base *Module, ret *android.AndroidMkData) {
if p.testProperties.Test_config != nil {
fmt.Fprintln(w, "LOCAL_TEST_CONFIG :=",
*p.testProperties.Test_config)
} else {
if p.testConfig != nil {
fmt.Fprintln(w, "LOCAL_FULL_TEST_CONFIG :=",
p.testConfig.String())
}
}
})
base.subAndroidMk(ret, p.binaryDecorator.pythonInstaller)

View File

@@ -16,6 +16,7 @@ package python
import (
"android/soong/android"
"android/soong/tradefed"
)
// This file contains the module types for building Python test.
@@ -29,12 +30,18 @@ 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"`
// the name of the test configuration template (for example "AndroidTestTemplate.xml") that
// should be installed with the module.
Test_config_template *string `android:"arch_variant"`
}
type testDecorator struct {
*binaryDecorator
testProperties TestProperties
testConfig android.Path
}
func (test *testDecorator) bootstrapperProps() []interface{} {
@@ -42,6 +49,9 @@ func (test *testDecorator) bootstrapperProps() []interface{} {
}
func (test *testDecorator) install(ctx android.ModuleContext, file android.Path) {
test.testConfig = tradefed.AutoGenPythonBinaryHostTestConfig(ctx, test.testProperties.Test_config,
test.testProperties.Test_config_template)
test.binaryDecorator.pythonInstaller.dir = "nativetest"
test.binaryDecorator.pythonInstaller.dir64 = "nativetest64"