Merge "Allow adding extra tradefed options in the Android.bp file"
This commit is contained in:
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").
|
||||
|
Reference in New Issue
Block a user