Revert "Allow adding extra tradefed options in the Android.bp file"
This reverts commit 8ec823cba166a41eb0e9e5ff8fe679e691fec678.
Reason for revert: DroidMonitor: Potential culprit for Bug b/262965953 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.
Change-Id: I236cc36981d8b30527ca286632727f8ca267e969
diff --git a/android/module.go b/android/module.go
index bf9737a..681f724 100644
--- a/android/module.go
+++ b/android/module.go
@@ -27,6 +27,7 @@
"text/scanner"
"android/soong/bazel"
+
"github.com/google/blueprint"
"github.com/google/blueprint/proptools"
)
diff --git a/cc/test.go b/cc/test.go
index ed2a58a..536210b 100644
--- a/cc/test.go
+++ b/cc/test.go
@@ -459,16 +459,8 @@
configs = append(configs, tradefed.Object{"module_controller", "com.android.tradefed.testtype.suite.module.MinApiLevelModuleController", options})
}
- test.testConfig = tradefed.NewMaybeAutoGenTestConfigBuilder(ctx).
- SetTestConfigProp(test.Properties.Test_config).
- SetTestTemplateConfigProp(test.Properties.Test_config_template).
- SetTestSuites(test.testDecorator.InstallerProperties.Test_suites).
- SetConfig(configs).
- SetAutoGenConfig(test.Properties.Auto_gen_config).
- SetTestInstallBase(testInstallBase).
- SetDeviceTemplate("${NativeTestConfigTemplate}").
- SetHostTemplate("${NativeHostTestConfigTemplate}").
- Build()
+ test.testConfig = tradefed.AutoGenNativeTestConfig(ctx, test.Properties.Test_config,
+ test.Properties.Test_config_template, test.testDecorator.InstallerProperties.Test_suites, configs, test.Properties.Auto_gen_config, testInstallBase)
test.extraTestConfigs = android.PathsForModuleSrc(ctx, test.Properties.Test_options.Extra_test_configs)
@@ -624,15 +616,8 @@
if Bool(benchmark.Properties.Require_root) {
configs = append(configs, tradefed.Object{"target_preparer", "com.android.tradefed.targetprep.RootTargetPreparer", nil})
}
- benchmark.testConfig = tradefed.NewMaybeAutoGenTestConfigBuilder(ctx).
- SetTestConfigProp(benchmark.Properties.Test_config).
- SetTestTemplateConfigProp(benchmark.Properties.Test_config_template).
- SetTestSuites(benchmark.Properties.Test_suites).
- SetConfig(configs).
- SetAutoGenConfig(benchmark.Properties.Auto_gen_config).
- SetDeviceTemplate("${NativeBenchmarkTestConfigTemplate}").
- SetHostTemplate("${NativeBenchmarkTestConfigTemplate}").
- Build()
+ benchmark.testConfig = tradefed.AutoGenNativeBenchmarkTestConfig(ctx, benchmark.Properties.Test_config,
+ benchmark.Properties.Test_config_template, benchmark.Properties.Test_suites, configs, benchmark.Properties.Auto_gen_config)
benchmark.binaryDecorator.baseInstaller.dir = filepath.Join("benchmarktest", ctx.ModuleName())
benchmark.binaryDecorator.baseInstaller.dir64 = filepath.Join("benchmarktest64", ctx.ModuleName())
diff --git a/java/java.go b/java/java.go
index dd24376..9dd5850 100644
--- a/java/java.go
+++ b/java/java.go
@@ -888,10 +888,6 @@
// 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 {
@@ -1170,18 +1166,8 @@
j.testProperties.Test_options.Unit_test = proptools.BoolPtr(defaultUnitTest)
}
- 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.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.data = android.PathsForModuleSrc(ctx, j.testProperties.Data)
@@ -1226,13 +1212,8 @@
}
func (j *JavaTestImport) GenerateAndroidBuildActions(ctx android.ModuleContext) {
- j.testConfig = tradefed.NewMaybeAutoGenTestConfigBuilder(ctx).
- SetTestConfigProp(j.prebuiltTestProperties.Test_config).
- SetTestSuites(j.prebuiltTestProperties.Test_suites).
- SetDeviceTemplate("${JavaTestConfigTemplate}").
- SetHostTemplate("${JavaHostTestConfigTemplate}").
- SetHostUnitTestTemplate("${JavaHostUnitTestConfigTemplate}").
- Build()
+ j.testConfig = tradefed.AutoGenJavaTestConfig(ctx, j.prebuiltTestProperties.Test_config, nil,
+ j.prebuiltTestProperties.Test_suites, nil, nil, nil)
j.Import.GenerateAndroidBuildActions(ctx)
}
diff --git a/java/java_test.go b/java/java_test.go
index 62a372c..dff1fd0 100644
--- a/java/java_test.go
+++ b/java/java_test.go
@@ -1945,25 +1945,3 @@
}
}
}
-
-func TestTradefedOptions(t *testing.T) {
- result := PrepareForTestWithJavaBuildComponents.RunTestWithBp(t, `
-java_test_host {
- name: "foo",
- test_options: {
- tradefed_options: [
- {
- name: "exclude-path",
- value: "org/apache"
- }
- ]
- }
-}
-`)
- args := result.ModuleForTests("foo", "linux_glibc_common").
- Output("out/soong/.intermediates/foo/linux_glibc_common/foo.config").Args
- expected := proptools.NinjaAndShellEscape("<option name=\"exclude-path\" value=\"org/apache\" />")
- if args["extraConfigs"] != expected {
- t.Errorf("Expected args[\"extraConfigs\"] to equal %q, was %q", expected, args["extraConfigs"])
- }
-}
diff --git a/java/robolectric.go b/java/robolectric.go
index 6a2d0b3..938abe1 100644
--- a/java/robolectric.go
+++ b/java/robolectric.go
@@ -131,14 +131,9 @@
r.forceOSType = ctx.Config().BuildOS
r.forceArchType = ctx.Config().BuildArch
- r.testConfig = tradefed.NewMaybeAutoGenTestConfigBuilder(ctx).
- SetTestConfigProp(r.testProperties.Test_config).
- SetTestTemplateConfigProp(r.testProperties.Test_config_template).
- SetTestSuites(r.testProperties.Test_suites).
- SetAutoGenConfig(r.testProperties.Auto_gen_config).
- SetDeviceTemplate("${RobolectricTestConfigTemplate}").
- SetHostTemplate("${RobolectricTestConfigTemplate}").
- Build()
+ r.testConfig = tradefed.AutoGenRobolectricTestConfig(ctx, r.testProperties.Test_config,
+ r.testProperties.Test_config_template, r.testProperties.Test_suites,
+ r.testProperties.Auto_gen_config)
r.data = android.PathsForModuleSrc(ctx, r.testProperties.Data)
roboTestConfig := android.PathForModuleGen(ctx, "robolectric").
diff --git a/python/test.go b/python/test.go
index 5781df7..b9b3465 100644
--- a/python/test.go
+++ b/python/test.go
@@ -67,14 +67,9 @@
}
func (test *testDecorator) install(ctx android.ModuleContext, file android.Path) {
- test.testConfig = tradefed.NewMaybeAutoGenTestConfigBuilder(ctx).
- SetTestConfigProp(test.testProperties.Test_config).
- SetTestTemplateConfigProp(test.testProperties.Test_config_template).
- SetTestSuites(test.binaryDecorator.binaryProperties.Test_suites).
- SetAutoGenConfig(test.binaryDecorator.binaryProperties.Auto_gen_config).
- SetDeviceTemplate("${PythonBinaryHostTestConfigTemplate}").
- SetHostTemplate("${PythonBinaryHostTestConfigTemplate}").
- Build()
+ test.testConfig = tradefed.AutoGenPythonBinaryHostTestConfig(ctx, test.testProperties.Test_config,
+ test.testProperties.Test_config_template, test.binaryDecorator.binaryProperties.Test_suites,
+ test.binaryDecorator.binaryProperties.Auto_gen_config)
test.binaryDecorator.pythonInstaller.dir = "nativetest"
test.binaryDecorator.pythonInstaller.dir64 = "nativetest64"
diff --git a/rust/benchmark.go b/rust/benchmark.go
index b417a2d..0e84243 100644
--- a/rust/benchmark.go
+++ b/rust/benchmark.go
@@ -112,14 +112,12 @@
}
func (benchmark *benchmarkDecorator) install(ctx ModuleContext) {
- benchmark.testConfig = tradefed.NewMaybeAutoGenTestConfigBuilder(ctx).
- SetTestConfigProp(benchmark.Properties.Test_config).
- SetTestTemplateConfigProp(benchmark.Properties.Test_config_template).
- SetTestSuites(benchmark.Properties.Test_suites).
- SetAutoGenConfig(benchmark.Properties.Auto_gen_config).
- SetDeviceTemplate("${RustDeviceBenchmarkConfigTemplate}").
- SetHostTemplate("${RustHostBenchmarkConfigTemplate}").
- Build()
+ benchmark.testConfig = tradefed.AutoGenRustBenchmarkConfig(ctx,
+ benchmark.Properties.Test_config,
+ benchmark.Properties.Test_config_template,
+ benchmark.Properties.Test_suites,
+ nil,
+ benchmark.Properties.Auto_gen_config)
// default relative install path is module name
if !Bool(benchmark.Properties.No_named_install_directory) {
diff --git a/rust/test.go b/rust/test.go
index ecc7d5d..0cc3bca 100644
--- a/rust/test.go
+++ b/rust/test.go
@@ -130,16 +130,13 @@
configs = append(configs, tradefed.Object{"target_preparer", "com.android.tradefed.targetprep.RootTargetPreparer", options})
}
- test.testConfig = tradefed.NewMaybeAutoGenTestConfigBuilder(ctx).
- SetTestConfigProp(test.Properties.Test_config).
- SetTestTemplateConfigProp(test.Properties.Test_config_template).
- SetTestSuites(test.Properties.Test_suites).
- SetConfig(configs).
- SetAutoGenConfig(test.Properties.Auto_gen_config).
- SetTestInstallBase(testInstallBase).
- SetDeviceTemplate("${RustDeviceTestConfigTemplate}").
- SetHostTemplate("${RustHostTestConfigTemplate}").
- Build()
+ test.testConfig = tradefed.AutoGenRustTestConfig(ctx,
+ test.Properties.Test_config,
+ test.Properties.Test_config_template,
+ test.Properties.Test_suites,
+ configs,
+ test.Properties.Auto_gen_config,
+ testInstallBase)
dataSrcPaths := android.PathsForModuleSrc(ctx, test.Properties.Data)
diff --git a/sh/sh_binary.go b/sh/sh_binary.go
index 4eae397..9627329 100644
--- a/sh/sh_binary.go
+++ b/sh/sh_binary.go
@@ -379,16 +379,8 @@
}
configs = append(configs, tradefed.Object{"target_preparer", "com.android.tradefed.targetprep.PushFilePreparer", options})
}
- s.testConfig = tradefed.NewMaybeAutoGenTestConfigBuilder(ctx).
- SetTestConfigProp(s.testProperties.Test_config).
- SetTestTemplateConfigProp(s.testProperties.Test_config_template).
- SetTestSuites(s.testProperties.Test_suites).
- SetConfig(configs).
- SetAutoGenConfig(s.testProperties.Auto_gen_config).
- SetOutputFileName(s.outputFilePath.Base()).
- SetDeviceTemplate("${ShellTestConfigTemplate}").
- SetHostTemplate("${ShellTestConfigTemplate}").
- Build()
+ s.testConfig = tradefed.AutoGenShellTestConfig(ctx, s.testProperties.Test_config,
+ s.testProperties.Test_config_template, s.testProperties.Test_suites, configs, s.testProperties.Auto_gen_config, s.outputFilePath.Base())
s.dataModules = make(map[string]android.Path)
ctx.VisitDirectDeps(func(dep android.Module) {
diff --git a/tradefed/autogen.go b/tradefed/autogen.go
index 236e559..c2429ab 100644
--- a/tradefed/autogen.go
+++ b/tradefed/autogen.go
@@ -107,134 +107,15 @@
}
-// MaybeAutoGenTestConfigBuilder provides a Build() method that will either
-// generate a AndroidTest.xml file, or use an existing user-supplied one.
-// It used to be a bunch of separate functions for each language, but was
-// converted to this builder pattern to have one function that accepts many
-// optional arguments.
-type MaybeAutoGenTestConfigBuilder struct {
- ctx android.ModuleContext
- name string
- outputFileName string
- testConfigProp *string
- testConfigTemplateProp *string
- testSuites []string
- config []Config
- configsForAutogenerated []Config
- autoGenConfig *bool
- unitTest *bool
- testInstallBase string
- deviceTemplate string
- hostTemplate string
- hostUnitTestTemplate string
+func autogenTemplate(ctx android.ModuleContext, output android.WritablePath, template string, configs []Config, testInstallBase string) {
+ autogenTemplateWithNameAndOutputFile(ctx, ctx.ModuleName(), output, template, configs, "", testInstallBase)
}
-func NewMaybeAutoGenTestConfigBuilder(ctx android.ModuleContext) *MaybeAutoGenTestConfigBuilder {
- return &MaybeAutoGenTestConfigBuilder{
- ctx: ctx,
- name: ctx.ModuleName(),
- }
+func autogenTemplateWithName(ctx android.ModuleContext, name string, output android.WritablePath, template string, configs []Config, testInstallBase string) {
+ autogenTemplateWithNameAndOutputFile(ctx, name, output, template, configs, "", testInstallBase)
}
-func (b *MaybeAutoGenTestConfigBuilder) SetName(name string) *MaybeAutoGenTestConfigBuilder {
- b.name = name
- return b
-}
-
-func (b *MaybeAutoGenTestConfigBuilder) SetOutputFileName(outputFileName string) *MaybeAutoGenTestConfigBuilder {
- b.outputFileName = outputFileName
- return b
-}
-
-func (b *MaybeAutoGenTestConfigBuilder) SetTestConfigProp(testConfigProp *string) *MaybeAutoGenTestConfigBuilder {
- b.testConfigProp = testConfigProp
- return b
-}
-
-func (b *MaybeAutoGenTestConfigBuilder) SetTestTemplateConfigProp(testConfigTemplateProp *string) *MaybeAutoGenTestConfigBuilder {
- b.testConfigTemplateProp = testConfigTemplateProp
- return b
-}
-
-func (b *MaybeAutoGenTestConfigBuilder) SetTestSuites(testSuites []string) *MaybeAutoGenTestConfigBuilder {
- b.testSuites = testSuites
- return b
-}
-
-func (b *MaybeAutoGenTestConfigBuilder) SetConfig(config []Config) *MaybeAutoGenTestConfigBuilder {
- b.config = config
- return b
-}
-
-func (b *MaybeAutoGenTestConfigBuilder) SetOptionsForAutogenerated(configsForAutogenerated []Option) *MaybeAutoGenTestConfigBuilder {
- configs := make([]Config, 0, len(configsForAutogenerated))
- for _, c := range configsForAutogenerated {
- configs = append(configs, c)
- }
- b.configsForAutogenerated = configs
- return b
-}
-
-func (b *MaybeAutoGenTestConfigBuilder) SetUnitTest(unitTest *bool) *MaybeAutoGenTestConfigBuilder {
- b.unitTest = unitTest
- return b
-}
-
-func (b *MaybeAutoGenTestConfigBuilder) SetAutoGenConfig(autoGenConfig *bool) *MaybeAutoGenTestConfigBuilder {
- b.autoGenConfig = autoGenConfig
- return b
-}
-
-func (b *MaybeAutoGenTestConfigBuilder) SetTestInstallBase(testInstallBase string) *MaybeAutoGenTestConfigBuilder {
- b.testInstallBase = testInstallBase
- return b
-}
-
-func (b *MaybeAutoGenTestConfigBuilder) SetDeviceTemplate(deviceTemplate string) *MaybeAutoGenTestConfigBuilder {
- b.deviceTemplate = deviceTemplate
- return b
-}
-
-func (b *MaybeAutoGenTestConfigBuilder) SetHostTemplate(hostTemplate string) *MaybeAutoGenTestConfigBuilder {
- b.hostTemplate = hostTemplate
- return b
-}
-
-func (b *MaybeAutoGenTestConfigBuilder) SetHostUnitTestTemplate(hostUnitTestTemplate string) *MaybeAutoGenTestConfigBuilder {
- b.hostUnitTestTemplate = hostUnitTestTemplate
- return b
-}
-
-func (b *MaybeAutoGenTestConfigBuilder) Build() android.Path {
- config := append(b.config, b.configsForAutogenerated...)
- path, autogenPath := testConfigPath(b.ctx, b.testConfigProp, b.testSuites, b.autoGenConfig, b.testConfigTemplateProp)
- if autogenPath != nil {
- templatePath := getTestConfigTemplate(b.ctx, b.testConfigTemplateProp)
- if templatePath.Valid() {
- autogenTemplate(b.ctx, b.name, autogenPath, templatePath.String(), config, b.outputFileName, b.testInstallBase)
- } else {
- if b.ctx.Device() {
- autogenTemplate(b.ctx, b.name, autogenPath, b.deviceTemplate, config, b.outputFileName, b.testInstallBase)
- } else {
- if Bool(b.unitTest) {
- autogenTemplate(b.ctx, b.name, autogenPath, b.hostUnitTestTemplate, config, b.outputFileName, b.testInstallBase)
- } else {
- autogenTemplate(b.ctx, b.name, autogenPath, b.hostTemplate, config, b.outputFileName, b.testInstallBase)
- }
- }
- }
- return autogenPath
- }
- if len(b.configsForAutogenerated) > 0 {
- b.ctx.ModuleErrorf("Extra tradefed configurations were provided for an autogenerated xml file, but the autogenerated xml file was not used.")
- }
- return path
-}
-
-func autogenTemplate(ctx android.ModuleContext, name string, output android.WritablePath, template string, configs []Config, outputFileName string, testInstallBase string) {
- if template == "" {
- ctx.ModuleErrorf("Empty template")
- }
+func autogenTemplateWithNameAndOutputFile(ctx android.ModuleContext, name string, output android.WritablePath, template string, configs []Config, outputFileName string, testInstallBase string) {
var configStrings []string
for _, config := range configs {
configStrings = append(configStrings, config.Config())
@@ -256,6 +137,148 @@
})
}
+func AutoGenNativeTestConfig(ctx android.ModuleContext, testConfigProp *string,
+ testConfigTemplateProp *string, testSuites []string, config []Config, autoGenConfig *bool, testInstallBase string) android.Path {
+
+ path, autogenPath := testConfigPath(ctx, testConfigProp, testSuites, autoGenConfig, testConfigTemplateProp)
+ if autogenPath != nil {
+ templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp)
+ if templatePath.Valid() {
+ autogenTemplate(ctx, autogenPath, templatePath.String(), config, testInstallBase)
+ } else {
+ if ctx.Device() {
+ autogenTemplate(ctx, autogenPath, "${NativeTestConfigTemplate}", config, testInstallBase)
+ } else {
+ autogenTemplate(ctx, autogenPath, "${NativeHostTestConfigTemplate}", config, testInstallBase)
+ }
+ }
+ return autogenPath
+ }
+ return path
+}
+
+func AutoGenShellTestConfig(ctx android.ModuleContext, testConfigProp *string,
+ testConfigTemplateProp *string, testSuites []string, config []Config, autoGenConfig *bool, outputFileName string) android.Path {
+ path, autogenPath := testConfigPath(ctx, testConfigProp, testSuites, autoGenConfig, testConfigTemplateProp)
+ if autogenPath != nil {
+ templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp)
+ if templatePath.Valid() {
+ autogenTemplateWithNameAndOutputFile(ctx, ctx.ModuleName(), autogenPath, templatePath.String(), config, outputFileName, "")
+ } else {
+ autogenTemplateWithNameAndOutputFile(ctx, ctx.ModuleName(), autogenPath, "${ShellTestConfigTemplate}", config, outputFileName, "")
+ }
+ return autogenPath
+ }
+ return path
+}
+
+func AutoGenNativeBenchmarkTestConfig(ctx android.ModuleContext, testConfigProp *string,
+ testConfigTemplateProp *string, testSuites []string, configs []Config, autoGenConfig *bool) android.Path {
+ path, autogenPath := testConfigPath(ctx, testConfigProp, testSuites, autoGenConfig, testConfigTemplateProp)
+ if autogenPath != nil {
+ templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp)
+ if templatePath.Valid() {
+ autogenTemplate(ctx, autogenPath, templatePath.String(), configs, "")
+ } else {
+ autogenTemplate(ctx, autogenPath, "${NativeBenchmarkTestConfigTemplate}", configs, "")
+ }
+ return autogenPath
+ }
+ return path
+}
+
+func AutoGenJavaTestConfig(ctx android.ModuleContext, testConfigProp *string, testConfigTemplateProp *string,
+ testSuites []string, config []Config, autoGenConfig *bool, unitTest *bool) android.Path {
+ path, autogenPath := testConfigPath(ctx, testConfigProp, testSuites, autoGenConfig, testConfigTemplateProp)
+ if autogenPath != nil {
+ templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp)
+ if templatePath.Valid() {
+ autogenTemplate(ctx, autogenPath, templatePath.String(), config, "")
+ } else {
+ if ctx.Device() {
+ autogenTemplate(ctx, autogenPath, "${JavaTestConfigTemplate}", config, "")
+ } else {
+ if Bool(unitTest) {
+ autogenTemplate(ctx, autogenPath, "${JavaHostUnitTestConfigTemplate}", config, "")
+ } else {
+ autogenTemplate(ctx, autogenPath, "${JavaHostTestConfigTemplate}", config, "")
+ }
+ }
+ }
+ return autogenPath
+ }
+ return path
+}
+
+func AutoGenPythonBinaryHostTestConfig(ctx android.ModuleContext, testConfigProp *string,
+ testConfigTemplateProp *string, testSuites []string, autoGenConfig *bool) android.Path {
+
+ path, autogenPath := testConfigPath(ctx, testConfigProp, testSuites, autoGenConfig, testConfigTemplateProp)
+ if autogenPath != nil {
+ templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp)
+ if templatePath.Valid() {
+ autogenTemplate(ctx, autogenPath, templatePath.String(), nil, "")
+ } else {
+ autogenTemplate(ctx, autogenPath, "${PythonBinaryHostTestConfigTemplate}", nil, "")
+ }
+ return autogenPath
+ }
+ return path
+}
+
+func AutoGenRustTestConfig(ctx android.ModuleContext, testConfigProp *string,
+ testConfigTemplateProp *string, testSuites []string, config []Config, autoGenConfig *bool, testInstallBase string) android.Path {
+ path, autogenPath := testConfigPath(ctx, testConfigProp, testSuites, autoGenConfig, testConfigTemplateProp)
+ if autogenPath != nil {
+ templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp)
+ if templatePath.Valid() {
+ autogenTemplate(ctx, autogenPath, templatePath.String(), config, testInstallBase)
+ } else {
+ if ctx.Device() {
+ autogenTemplate(ctx, autogenPath, "${RustDeviceTestConfigTemplate}", config, testInstallBase)
+ } else {
+ autogenTemplate(ctx, autogenPath, "${RustHostTestConfigTemplate}", config, testInstallBase)
+ }
+ }
+ return autogenPath
+ }
+ return path
+}
+
+func AutoGenRustBenchmarkConfig(ctx android.ModuleContext, testConfigProp *string,
+ testConfigTemplateProp *string, testSuites []string, config []Config, autoGenConfig *bool) android.Path {
+ path, autogenPath := testConfigPath(ctx, testConfigProp, testSuites, autoGenConfig, testConfigTemplateProp)
+ if autogenPath != nil {
+ templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp)
+ if templatePath.Valid() {
+ autogenTemplate(ctx, autogenPath, templatePath.String(), config, "")
+ } else {
+ if ctx.Device() {
+ autogenTemplate(ctx, autogenPath, "${RustDeviceBenchmarkConfigTemplate}", config, "")
+ } else {
+ autogenTemplate(ctx, autogenPath, "${RustHostBenchmarkConfigTemplate}", config, "")
+ }
+ }
+ return autogenPath
+ }
+ return path
+}
+
+func AutoGenRobolectricTestConfig(ctx android.ModuleContext, testConfigProp *string, testConfigTemplateProp *string,
+ testSuites []string, autoGenConfig *bool) android.Path {
+ path, autogenPath := testConfigPath(ctx, testConfigProp, testSuites, autoGenConfig, testConfigTemplateProp)
+ if autogenPath != nil {
+ templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp)
+ if templatePath.Valid() {
+ autogenTemplate(ctx, autogenPath, templatePath.String(), nil, "")
+ } else {
+ autogenTemplate(ctx, autogenPath, "${RobolectricTestConfigTemplate}", nil, "")
+ }
+ return autogenPath
+ }
+ return path
+}
+
var autogenInstrumentationTest = pctx.StaticRule("autogenInstrumentationTest", blueprint.RuleParams{
Command: "${AutoGenTestConfigScript} $out $in ${EmptyTestConfig} $template ${extraConfigs}",
CommandDeps: []string{