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: I50d4ad139322e9e207202f1e1a50f5bbb424aa6f
This commit is contained in:
parent
2266e02a3a
commit
216805457c
9 changed files with 145 additions and 165 deletions
23
cc/test.go
23
cc/test.go
|
@ -415,8 +415,16 @@ func (test *testBinary) install(ctx ModuleContext, file android.Path) {
|
|||
testInstallBase := getTestInstallBase(useVendor)
|
||||
configs := getTradefedConfigOptions(ctx, &test.Properties, test.isolated(ctx))
|
||||
|
||||
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.testConfig = tradefed.AutoGenTestConfig(ctx, tradefed.AutoGenTestConfigOptions{
|
||||
TestConfigProp: test.Properties.Test_config,
|
||||
TestConfigTemplateProp: test.Properties.Test_config_template,
|
||||
TestSuites: test.testDecorator.InstallerProperties.Test_suites,
|
||||
Config: configs,
|
||||
AutoGenConfig: test.Properties.Auto_gen_config,
|
||||
TestInstallBase: testInstallBase,
|
||||
DeviceTemplate: "${NativeTestConfigTemplate}",
|
||||
HostTemplate: "${NativeHostTestConfigTemplate}",
|
||||
})
|
||||
|
||||
test.extraTestConfigs = android.PathsForModuleSrc(ctx, test.Properties.Test_options.Extra_test_configs)
|
||||
|
||||
|
@ -630,8 +638,15 @@ func (benchmark *benchmarkDecorator) install(ctx ModuleContext, file android.Pat
|
|||
if Bool(benchmark.Properties.Require_root) {
|
||||
configs = append(configs, tradefed.Object{"target_preparer", "com.android.tradefed.targetprep.RootTargetPreparer", nil})
|
||||
}
|
||||
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.testConfig = tradefed.AutoGenTestConfig(ctx, tradefed.AutoGenTestConfigOptions{
|
||||
TestConfigProp: benchmark.Properties.Test_config,
|
||||
TestConfigTemplateProp: benchmark.Properties.Test_config_template,
|
||||
TestSuites: benchmark.Properties.Test_suites,
|
||||
Config: configs,
|
||||
AutoGenConfig: benchmark.Properties.Auto_gen_config,
|
||||
DeviceTemplate: "${NativeBenchmarkTestConfigTemplate}",
|
||||
HostTemplate: "${NativeBenchmarkTestConfigTemplate}",
|
||||
})
|
||||
|
||||
benchmark.binaryDecorator.baseInstaller.dir = filepath.Join("benchmarktest", ctx.ModuleName())
|
||||
benchmark.binaryDecorator.baseInstaller.dir64 = filepath.Join("benchmarktest64", ctx.ModuleName())
|
||||
|
|
28
java/java.go
28
java/java.go
|
@ -915,6 +915,10 @@ type TestOptions struct {
|
|||
|
||||
// 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 {
|
||||
|
@ -1192,9 +1196,18 @@ func (j *Test) generateAndroidBuildActionsWithConfig(ctx android.ModuleContext,
|
|||
defaultUnitTest := !inList("tradefed", j.properties.Libs) && !inList("cts", j.testProperties.Test_suites)
|
||||
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.AutoGenTestConfig(ctx, tradefed.AutoGenTestConfigOptions{
|
||||
TestConfigProp: j.testProperties.Test_config,
|
||||
TestConfigTemplateProp: j.testProperties.Test_config_template,
|
||||
TestSuites: j.testProperties.Test_suites,
|
||||
Config: configs,
|
||||
OptionsForAutogenerated: j.testProperties.Test_options.Tradefed_options,
|
||||
AutoGenConfig: j.testProperties.Auto_gen_config,
|
||||
UnitTest: j.testProperties.Test_options.Unit_test,
|
||||
DeviceTemplate: "${JavaTestConfigTemplate}",
|
||||
HostTemplate: "${JavaHostTestConfigTemplate}",
|
||||
HostUnitTestTemplate: "${JavaHostUnitTestConfigTemplate}",
|
||||
})
|
||||
|
||||
j.data = android.PathsForModuleSrc(ctx, j.testProperties.Data)
|
||||
|
||||
|
@ -1239,8 +1252,13 @@ func (j *TestHelperLibrary) GenerateAndroidBuildActions(ctx android.ModuleContex
|
|||
}
|
||||
|
||||
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.AutoGenTestConfig(ctx, tradefed.AutoGenTestConfigOptions{
|
||||
TestConfigProp: j.prebuiltTestProperties.Test_config,
|
||||
TestSuites: j.prebuiltTestProperties.Test_suites,
|
||||
DeviceTemplate: "${JavaTestConfigTemplate}",
|
||||
HostTemplate: "${JavaHostTestConfigTemplate}",
|
||||
HostUnitTestTemplate: "${JavaHostUnitTestConfigTemplate}",
|
||||
})
|
||||
|
||||
j.Import.GenerateAndroidBuildActions(ctx)
|
||||
}
|
||||
|
|
|
@ -1945,3 +1945,27 @@ func TestJavaApiLibraryJarGeneration(t *testing.T) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestTradefedOptions(t *testing.T) {
|
||||
result := PrepareForTestWithJavaBuildComponents.RunTestWithBp(t, `
|
||||
java_test_host {
|
||||
name: "foo",
|
||||
test_options: {
|
||||
tradefed_options: [
|
||||
{
|
||||
name: "exclude-path",
|
||||
value: "org/apache"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
`)
|
||||
|
||||
buildOS := result.Config.BuildOS.String()
|
||||
args := result.ModuleForTests("foo", buildOS+"_common").
|
||||
Output("out/soong/.intermediates/foo/" + buildOS + "_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"])
|
||||
}
|
||||
}
|
||||
|
|
|
@ -131,9 +131,14 @@ func (r *robolectricTest) GenerateAndroidBuildActions(ctx android.ModuleContext)
|
|||
r.forceOSType = ctx.Config().BuildOS
|
||||
r.forceArchType = ctx.Config().BuildArch
|
||||
|
||||
r.testConfig = tradefed.AutoGenRobolectricTestConfig(ctx, r.testProperties.Test_config,
|
||||
r.testProperties.Test_config_template, r.testProperties.Test_suites,
|
||||
r.testProperties.Auto_gen_config)
|
||||
r.testConfig = tradefed.AutoGenTestConfig(ctx, tradefed.AutoGenTestConfigOptions{
|
||||
TestConfigProp: r.testProperties.Test_config,
|
||||
TestConfigTemplateProp: r.testProperties.Test_config_template,
|
||||
TestSuites: r.testProperties.Test_suites,
|
||||
AutoGenConfig: r.testProperties.Auto_gen_config,
|
||||
DeviceTemplate: "${RobolectricTestConfigTemplate}",
|
||||
HostTemplate: "${RobolectricTestConfigTemplate}",
|
||||
})
|
||||
r.data = android.PathsForModuleSrc(ctx, r.testProperties.Data)
|
||||
|
||||
roboTestConfig := android.PathForModuleGen(ctx, "robolectric").
|
||||
|
|
|
@ -67,9 +67,14 @@ func (test *testDecorator) bootstrapperProps() []interface{} {
|
|||
}
|
||||
|
||||
func (test *testDecorator) install(ctx android.ModuleContext, file android.Path) {
|
||||
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.testConfig = tradefed.AutoGenTestConfig(ctx, tradefed.AutoGenTestConfigOptions{
|
||||
TestConfigProp: test.testProperties.Test_config,
|
||||
TestConfigTemplateProp: test.testProperties.Test_config_template,
|
||||
TestSuites: test.binaryDecorator.binaryProperties.Test_suites,
|
||||
AutoGenConfig: test.binaryDecorator.binaryProperties.Auto_gen_config,
|
||||
DeviceTemplate: "${PythonBinaryHostTestConfigTemplate}",
|
||||
HostTemplate: "${PythonBinaryHostTestConfigTemplate}",
|
||||
})
|
||||
|
||||
test.binaryDecorator.pythonInstaller.dir = "nativetest"
|
||||
test.binaryDecorator.pythonInstaller.dir64 = "nativetest64"
|
||||
|
|
|
@ -112,12 +112,14 @@ func (benchmark *benchmarkDecorator) compilerProps() []interface{} {
|
|||
}
|
||||
|
||||
func (benchmark *benchmarkDecorator) install(ctx ModuleContext) {
|
||||
benchmark.testConfig = tradefed.AutoGenRustBenchmarkConfig(ctx,
|
||||
benchmark.Properties.Test_config,
|
||||
benchmark.Properties.Test_config_template,
|
||||
benchmark.Properties.Test_suites,
|
||||
nil,
|
||||
benchmark.Properties.Auto_gen_config)
|
||||
benchmark.testConfig = tradefed.AutoGenTestConfig(ctx, tradefed.AutoGenTestConfigOptions{
|
||||
TestConfigProp: benchmark.Properties.Test_config,
|
||||
TestConfigTemplateProp: benchmark.Properties.Test_config_template,
|
||||
TestSuites: benchmark.Properties.Test_suites,
|
||||
AutoGenConfig: benchmark.Properties.Auto_gen_config,
|
||||
DeviceTemplate: "${RustDeviceBenchmarkConfigTemplate}",
|
||||
HostTemplate: "${RustHostBenchmarkConfigTemplate}",
|
||||
})
|
||||
|
||||
// default relative install path is module name
|
||||
if !Bool(benchmark.Properties.No_named_install_directory) {
|
||||
|
|
17
rust/test.go
17
rust/test.go
|
@ -130,13 +130,16 @@ func (test *testDecorator) install(ctx ModuleContext) {
|
|||
configs = append(configs, tradefed.Object{"target_preparer", "com.android.tradefed.targetprep.RootTargetPreparer", options})
|
||||
}
|
||||
|
||||
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)
|
||||
test.testConfig = tradefed.AutoGenTestConfig(ctx, tradefed.AutoGenTestConfigOptions{
|
||||
TestConfigProp: test.Properties.Test_config,
|
||||
TestConfigTemplateProp: test.Properties.Test_config_template,
|
||||
TestSuites: test.Properties.Test_suites,
|
||||
Config: configs,
|
||||
AutoGenConfig: test.Properties.Auto_gen_config,
|
||||
TestInstallBase: testInstallBase,
|
||||
DeviceTemplate: "${RustDeviceTestConfigTemplate}",
|
||||
HostTemplate: "${RustHostTestConfigTemplate}",
|
||||
})
|
||||
|
||||
dataSrcPaths := android.PathsForModuleSrc(ctx, test.Properties.Data)
|
||||
|
||||
|
|
|
@ -379,8 +379,16 @@ func (s *ShTest) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
|||
}
|
||||
configs = append(configs, tradefed.Object{"target_preparer", "com.android.tradefed.targetprep.PushFilePreparer", options})
|
||||
}
|
||||
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.testConfig = tradefed.AutoGenTestConfig(ctx, tradefed.AutoGenTestConfigOptions{
|
||||
TestConfigProp: s.testProperties.Test_config,
|
||||
TestConfigTemplateProp: s.testProperties.Test_config_template,
|
||||
TestSuites: s.testProperties.Test_suites,
|
||||
Config: configs,
|
||||
AutoGenConfig: s.testProperties.Auto_gen_config,
|
||||
OutputFileName: s.outputFilePath.Base(),
|
||||
DeviceTemplate: "${ShellTestConfigTemplate}",
|
||||
HostTemplate: "${ShellTestConfigTemplate}",
|
||||
})
|
||||
|
||||
s.dataModules = make(map[string]android.Path)
|
||||
ctx.VisitDirectDeps(func(dep android.Module) {
|
||||
|
|
|
@ -107,15 +107,10 @@ func (ob Object) Config() string {
|
|||
|
||||
}
|
||||
|
||||
func autogenTemplate(ctx android.ModuleContext, output android.WritablePath, template string, configs []Config, testInstallBase string) {
|
||||
autogenTemplateWithNameAndOutputFile(ctx, ctx.ModuleName(), output, template, configs, "", testInstallBase)
|
||||
}
|
||||
|
||||
func autogenTemplateWithName(ctx android.ModuleContext, name string, output android.WritablePath, template string, configs []Config, testInstallBase string) {
|
||||
autogenTemplateWithNameAndOutputFile(ctx, name, output, template, configs, "", testInstallBase)
|
||||
}
|
||||
|
||||
func autogenTemplateWithNameAndOutputFile(ctx android.ModuleContext, name string, output android.WritablePath, template string, configs []Config, outputFileName string, testInstallBase string) {
|
||||
func autogenTemplate(ctx android.ModuleContext, name string, output android.WritablePath, template string, configs []Config, outputFileName string, testInstallBase string) {
|
||||
if template == "" {
|
||||
ctx.ModuleErrorf("Empty template")
|
||||
}
|
||||
var configStrings []string
|
||||
for _, config := range configs {
|
||||
configStrings = append(configStrings, config.Config())
|
||||
|
@ -137,144 +132,49 @@ func autogenTemplateWithNameAndOutputFile(ctx android.ModuleContext, name string
|
|||
})
|
||||
}
|
||||
|
||||
func AutoGenNativeTestConfig(ctx android.ModuleContext, testConfigProp *string,
|
||||
testConfigTemplateProp *string, testSuites []string, config []Config, autoGenConfig *bool, testInstallBase string) android.Path {
|
||||
// AutoGenTestConfigOptions is used so that we can supply many optional
|
||||
// arguments to the AutoGenTestConfig function.
|
||||
type AutoGenTestConfigOptions struct {
|
||||
Name string
|
||||
OutputFileName string
|
||||
TestConfigProp *string
|
||||
TestConfigTemplateProp *string
|
||||
TestSuites []string
|
||||
Config []Config
|
||||
OptionsForAutogenerated []Option
|
||||
AutoGenConfig *bool
|
||||
UnitTest *bool
|
||||
TestInstallBase string
|
||||
DeviceTemplate string
|
||||
HostTemplate string
|
||||
HostUnitTestTemplate string
|
||||
}
|
||||
|
||||
path, autogenPath := testConfigPath(ctx, testConfigProp, testSuites, autoGenConfig, testConfigTemplateProp)
|
||||
func AutoGenTestConfig(ctx android.ModuleContext, options AutoGenTestConfigOptions) android.Path {
|
||||
configs := append([]Config{}, options.Config...)
|
||||
for _, c := range options.OptionsForAutogenerated {
|
||||
configs = append(configs, c)
|
||||
}
|
||||
path, autogenPath := testConfigPath(ctx, options.TestConfigProp, options.TestSuites, options.AutoGenConfig, options.TestConfigTemplateProp)
|
||||
if autogenPath != nil {
|
||||
templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp)
|
||||
templatePath := getTestConfigTemplate(ctx, options.TestConfigTemplateProp)
|
||||
if templatePath.Valid() {
|
||||
autogenTemplate(ctx, autogenPath, templatePath.String(), config, testInstallBase)
|
||||
autogenTemplate(ctx, options.Name, autogenPath, templatePath.String(), configs, options.OutputFileName, options.TestInstallBase)
|
||||
} else {
|
||||
if ctx.Device() {
|
||||
autogenTemplate(ctx, autogenPath, "${NativeTestConfigTemplate}", config, testInstallBase)
|
||||
autogenTemplate(ctx, options.Name, autogenPath, options.DeviceTemplate, configs, options.OutputFileName, options.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, "")
|
||||
if Bool(options.UnitTest) {
|
||||
autogenTemplate(ctx, options.Name, autogenPath, options.HostUnitTestTemplate, configs, options.OutputFileName, options.TestInstallBase)
|
||||
} else {
|
||||
autogenTemplate(ctx, autogenPath, "${JavaHostTestConfigTemplate}", config, "")
|
||||
autogenTemplate(ctx, options.Name, autogenPath, options.HostTemplate, configs, options.OutputFileName, options.TestInstallBase)
|
||||
}
|
||||
}
|
||||
}
|
||||
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
|
||||
if len(options.OptionsForAutogenerated) > 0 {
|
||||
ctx.ModuleErrorf("Extra tradefed configurations were provided for an autogenerated xml file, but the autogenerated xml file was not used.")
|
||||
}
|
||||
return path
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue