diff options
author | 2025-02-18 13:31:12 -0800 | |
---|---|---|
committer | 2025-02-18 13:31:12 -0800 | |
commit | ec71dfbe5fc395aa618f4cef6d9ef57d9a2cf9df (patch) | |
tree | 0fab8884342ac5c3ea4fefdea3d3bff86454207e | |
parent | 367dac6d541202f3d090e09cf41e5a3fdba4849e (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.go | 4 | ||||
-rw-r--r-- | java/app.go | 4 | ||||
-rw-r--r-- | java/java.go | 4 | ||||
-rw-r--r-- | python/test.go | 4 | ||||
-rw-r--r-- | rust/test.go | 4 |
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()) |