summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2020-09-29 21:56:19 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2020-09-29 21:56:19 +0000
commit025ae97b0e6fdd59a8c3aa2f9f55bd1f6763b805 (patch)
treef5ac4c578f5367ca8dfd579b9bd009cde77eae6f /python
parent6c76f18aae0bb56ac25f8cb496282bf32bfb31a3 (diff)
parent31949121500fb6b22482e4e6d6aa1c21aa8a0ad8 (diff)
Merge "Add support of test data to python_host_test"
Diffstat (limited to 'python')
-rw-r--r--python/androidmk.go8
-rw-r--r--python/test.go12
2 files changed, 19 insertions, 1 deletions
diff --git a/python/androidmk.go b/python/androidmk.go
index 247b80dc0..8ad5889b5 100644
--- a/python/androidmk.go
+++ b/python/androidmk.go
@@ -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)
}
diff --git a/python/test.go b/python/test.go
index a669c73a6..434e71abf 100644
--- a/python/test.go
+++ b/python/test.go
@@ -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 {