Allow adding extra tradefed options in the Android.bp file
Some tests need to add custom tradefed options, but still want to
keep most of the soong autogenerated tradefed xml file.
Expose a test_options: { tradefed_options: [...] } property that
will allow tests to add more options to the autogenerated xml file.
Fixes: 184895128
Test: go test, and verified that the ninja files did not change for aosp_arm64
Change-Id: I75f7eb002c8325ce7cdc76e12e76e16195320620
diff --git a/java/java.go b/java/java.go
index 9dd5850..dd24376 100644
--- a/java/java.go
+++ b/java/java.go
@@ -888,6 +888,10 @@
// a list of extra test configuration files that should be installed with the module.
Extra_test_configs []string `android:"path,arch_variant"`
+
+ // Extra <option> tags to add to the auto generated test xml file. The "key"
+ // is optional in each of these.
+ Tradefed_options []tradefed.Option
}
type testProperties struct {
@@ -1166,8 +1170,18 @@
j.testProperties.Test_options.Unit_test = proptools.BoolPtr(defaultUnitTest)
}
- j.testConfig = tradefed.AutoGenJavaTestConfig(ctx, j.testProperties.Test_config, j.testProperties.Test_config_template,
- j.testProperties.Test_suites, configs, j.testProperties.Auto_gen_config, j.testProperties.Test_options.Unit_test)
+ j.testConfig = tradefed.NewMaybeAutoGenTestConfigBuilder(ctx).
+ SetTestConfigProp(j.testProperties.Test_config).
+ SetTestTemplateConfigProp(j.testProperties.Test_config_template).
+ SetTestSuites(j.testProperties.Test_suites).
+ SetConfig(configs).
+ SetOptionsForAutogenerated(j.testProperties.Test_options.Tradefed_options).
+ SetAutoGenConfig(j.testProperties.Auto_gen_config).
+ SetUnitTest(j.testProperties.Test_options.Unit_test).
+ SetDeviceTemplate("${JavaTestConfigTemplate}").
+ SetHostTemplate("${JavaHostTestConfigTemplate}").
+ SetHostUnitTestTemplate("${JavaHostUnitTestConfigTemplate}").
+ Build()
j.data = android.PathsForModuleSrc(ctx, j.testProperties.Data)
@@ -1212,8 +1226,13 @@
}
func (j *JavaTestImport) GenerateAndroidBuildActions(ctx android.ModuleContext) {
- j.testConfig = tradefed.AutoGenJavaTestConfig(ctx, j.prebuiltTestProperties.Test_config, nil,
- j.prebuiltTestProperties.Test_suites, nil, nil, nil)
+ j.testConfig = tradefed.NewMaybeAutoGenTestConfigBuilder(ctx).
+ SetTestConfigProp(j.prebuiltTestProperties.Test_config).
+ SetTestSuites(j.prebuiltTestProperties.Test_suites).
+ SetDeviceTemplate("${JavaTestConfigTemplate}").
+ SetHostTemplate("${JavaHostTestConfigTemplate}").
+ SetHostUnitTestTemplate("${JavaHostUnitTestConfigTemplate}").
+ Build()
j.Import.GenerateAndroidBuildActions(ctx)
}