Merge "Add support of test data to python_host_test"

This commit is contained in:
Treehugger Robot
2020-09-29 21:56:19 +00:00
committed by Gerrit Code Review
5 changed files with 39 additions and 21 deletions

View File

@@ -15,11 +15,12 @@
package python
import (
"android/soong/android"
"fmt"
"io"
"path/filepath"
"strings"
"android/soong/android"
)
type subAndroidMkProvider interface {
@@ -74,6 +75,11 @@ func (p *testDecorator) AndroidMk(base *Module, ret *android.AndroidMkData) {
if !BoolDefault(p.binaryProperties.Auto_gen_config, true) {
fmt.Fprintln(w, "LOCAL_DISABLE_AUTO_GENERATE_TEST_CONFIG := true")
}
if len(p.data) > 0 {
fmt.Fprintln(w, "LOCAL_TEST_DATA :=",
strings.Join(android.AndroidMkDataPaths(p.data), " "))
}
})
base.subAndroidMk(ret, p.binaryDecorator.pythonInstaller)
}

View File

@@ -34,6 +34,10 @@ type TestProperties struct {
// the name of the test configuration template (for example "AndroidTestTemplate.xml") that
// should be installed with the module.
Test_config_template *string `android:"path,arch_variant"`
// list of files or filegroup modules that provide data that should be installed alongside
// the test
Data []string `android:"path,arch_variant"`
}
type testDecorator struct {
@@ -42,6 +46,8 @@ type testDecorator struct {
testProperties TestProperties
testConfig android.Path
data []android.DataPath
}
func (test *testDecorator) bootstrapperProps() []interface{} {
@@ -59,6 +65,12 @@ func (test *testDecorator) install(ctx android.ModuleContext, file android.Path)
test.binaryDecorator.pythonInstaller.relative = ctx.ModuleName()
test.binaryDecorator.pythonInstaller.install(ctx, file)
dataSrcPaths := android.PathsForModuleSrc(ctx, test.testProperties.Data)
for _, dataSrcPath := range dataSrcPaths {
test.data = append(test.data, android.DataPath{SrcPath: dataSrcPath})
}
}
func NewTest(hod android.HostOrDeviceSupported) *Module {