summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Cole Faust <colefaust@google.com> 2025-02-18 13:31:12 -0800
committer Cole Faust <colefaust@google.com> 2025-02-18 13:31:12 -0800
commitec71dfbe5fc395aa618f4cef6d9ef57d9a2cf9df (patch)
tree0fab8884342ac5c3ea4fefdea3d3bff86454207e
parent367dac6d541202f3d090e09cf41e5a3fdba4849e (diff)
Install tradefed dynamic config file in soong-only builds
Make has this behavior where it will find a DynamicConfig.xml file in the same directory in the module and install it next to the main tradefed config file. Recreate that behavior in soong-only builds. https://cs.android.com/android/platform/superproject/main/+/main:build/make/core/base_rules.mk;l=859;drc=6a8fff595ba4cbb87b7e124fd630f548c5c4e2cb Bug: 396761822 Test: SOONG_ONLY=true atest -m -c CtsNetTestCases -- --test-arg com.android.testutils.ConnectivityTestTargetPreparer:ignore-mobile-data-check:true Change-Id: I69f1c262200d62cc0d3c590b6adbeb401af63ab9
-rw-r--r--cc/test.go4
-rw-r--r--java/app.go4
-rw-r--r--java/java.go4
-rw-r--r--python/test.go4
-rw-r--r--rust/test.go4
5 files changed, 20 insertions, 0 deletions
diff --git a/cc/test.go b/cc/test.go
index b3b2ae8c4..2c5c36eac 100644
--- a/cc/test.go
+++ b/cc/test.go
@@ -418,6 +418,10 @@ func (test *testBinary) install(ctx ModuleContext, file android.Path) {
if test.testConfig != nil {
ctx.InstallFile(testCases, ctx.ModuleName()+".config", test.testConfig)
}
+ dynamicConfig := android.ExistentPathForSource(ctx, ctx.ModuleDir(), "DynamicConfig.xml")
+ if dynamicConfig.Valid() {
+ ctx.InstallFile(testCases, ctx.ModuleName()+".dynamic", dynamicConfig.Path())
+ }
for _, extraTestConfig := range test.extraTestConfigs {
ctx.InstallFile(testCases, extraTestConfig.Base(), extraTestConfig)
}
diff --git a/java/app.go b/java/app.go
index 89d688d62..02e65be37 100644
--- a/java/app.go
+++ b/java/app.go
@@ -1627,6 +1627,10 @@ func (a *AndroidTest) GenerateAndroidBuildActions(ctx android.ModuleContext) {
if a.testConfig != nil {
ctx.InstallFile(pathInTestCases, ctx.Module().Name()+".config", a.testConfig)
}
+ dynamicConfig := android.ExistentPathForSource(ctx, ctx.ModuleDir(), "DynamicConfig.xml")
+ if dynamicConfig.Valid() {
+ ctx.InstallFile(pathInTestCases, ctx.Module().Name()+".dynamic", dynamicConfig.Path())
+ }
testDeps := append(a.data, a.extraTestConfigs...)
for _, data := range android.SortedUniquePaths(testDeps) {
dataPath := android.DataPath{SrcPath: data}
diff --git a/java/java.go b/java/java.go
index c5dee0c97..af2b86e2a 100644
--- a/java/java.go
+++ b/java/java.go
@@ -1910,6 +1910,10 @@ func (j *Test) generateAndroidBuildActionsWithConfig(ctx android.ModuleContext,
if j.testConfig != nil {
ctx.InstallFile(pathInTestCases, ctx.ModuleName()+".config", j.testConfig)
}
+ dynamicConfig := android.ExistentPathForSource(ctx, ctx.ModuleDir(), "DynamicConfig.xml")
+ if dynamicConfig.Valid() {
+ ctx.InstallFile(pathInTestCases, ctx.ModuleName()+".dynamic", dynamicConfig.Path())
+ }
testDeps := append(j.data, j.extraTestConfigs...)
for _, data := range android.SortedUniquePaths(testDeps) {
dataPath := android.DataPath{SrcPath: data}
diff --git a/python/test.go b/python/test.go
index 5e70fc185..df62ab794 100644
--- a/python/test.go
+++ b/python/test.go
@@ -224,6 +224,10 @@ func (p *PythonTestModule) GenerateAndroidBuildActions(ctx android.ModuleContext
if p.testConfig != nil {
ctx.InstallFile(testCases, ctx.ModuleName()+".config", p.testConfig)
}
+ dynamicConfig := android.ExistentPathForSource(ctx, ctx.ModuleDir(), "DynamicConfig.xml")
+ if dynamicConfig.Valid() {
+ ctx.InstallFile(testCases, ctx.ModuleName()+".dynamic", dynamicConfig.Path())
+ }
}
// Install tests and data in arch specific subdir $PRODUCT_OUT/testcases/$module/$arch
testCases = testCases.Join(ctx, ctx.Target().Arch.ArchType.String())
diff --git a/rust/test.go b/rust/test.go
index b658ae252..5c183bc67 100644
--- a/rust/test.go
+++ b/rust/test.go
@@ -208,6 +208,10 @@ func (test *testDecorator) install(ctx ModuleContext) {
if test.testConfig != nil {
ctx.InstallFile(testCases, ctx.ModuleName()+".config", test.testConfig)
}
+ dynamicConfig := android.ExistentPathForSource(ctx, ctx.ModuleDir(), "DynamicConfig.xml")
+ if dynamicConfig.Valid() {
+ ctx.InstallFile(testCases, ctx.ModuleName()+".dynamic", dynamicConfig.Path())
+ }
}
// Install tests and data in arch specific subdir $PRODUCT_OUT/testcases/$module/$arch
testCases = testCases.Join(ctx, ctx.Target().Arch.ArchType.String())