Allow using test_config_template for CTS tests.
Currently, soong will not autogenerate AndroidTest.xml files for CTS tests. The comment says that this is because they can be used for test data (in which case, autogenerating an AndroidTest.xml file would not be correct). Allow autogeneration of test files in the case that the buid rule explicitly requests it using a test_config_template. This allows CTS tests to use test_config_template. Also remove a TODO that was already addressed by aosp/903934. Test: patching aosp/1235232 and running "m CtsNetTestCases" results in test config Change-Id: Ic3450b67c47745af5932edd82452fdf16d937ea7
This commit is contained in:
parent
3375433ed2
commit
e29c21e830
|
@ -44,17 +44,16 @@ var autogenTestConfig = pctx.StaticRule("autogenTestConfig", blueprint.RuleParam
|
||||||
CommandDeps: []string{"$template"},
|
CommandDeps: []string{"$template"},
|
||||||
}, "name", "template", "extraConfigs")
|
}, "name", "template", "extraConfigs")
|
||||||
|
|
||||||
func testConfigPath(ctx android.ModuleContext, prop *string, testSuites []string, autoGenConfig *bool) (path android.Path, autogenPath android.WritablePath) {
|
func testConfigPath(ctx android.ModuleContext, prop *string, testSuites []string, autoGenConfig *bool, testConfigTemplateProp *string) (path android.Path, autogenPath android.WritablePath) {
|
||||||
p := getTestConfig(ctx, prop)
|
p := getTestConfig(ctx, prop)
|
||||||
if !Bool(autoGenConfig) && p != nil {
|
if !Bool(autoGenConfig) && p != nil {
|
||||||
return p, nil
|
return p, nil
|
||||||
} else if !android.InList("cts", testSuites) && BoolDefault(autoGenConfig, true) {
|
} else if BoolDefault(autoGenConfig, true) && (!android.InList("cts", testSuites) || testConfigTemplateProp != nil) {
|
||||||
outputFile := android.PathForModuleOut(ctx, ctx.ModuleName()+".config")
|
outputFile := android.PathForModuleOut(ctx, ctx.ModuleName()+".config")
|
||||||
return nil, outputFile
|
return nil, outputFile
|
||||||
} else {
|
} else {
|
||||||
// CTS modules can be used for test data, so test config files must be
|
// CTS modules can be used for test data, so test config files must be
|
||||||
// explicitly created using AndroidTest.xml
|
// explicitly created using AndroidTest.xml or test_config_template.
|
||||||
// TODO(b/112602712): remove the path check
|
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -130,7 +129,7 @@ func autogenTemplateWithName(ctx android.ModuleContext, name string, output andr
|
||||||
|
|
||||||
func AutoGenNativeTestConfig(ctx android.ModuleContext, testConfigProp *string,
|
func AutoGenNativeTestConfig(ctx android.ModuleContext, testConfigProp *string,
|
||||||
testConfigTemplateProp *string, testSuites []string, config []Config, autoGenConfig *bool) android.Path {
|
testConfigTemplateProp *string, testSuites []string, config []Config, autoGenConfig *bool) android.Path {
|
||||||
path, autogenPath := testConfigPath(ctx, testConfigProp, testSuites, autoGenConfig)
|
path, autogenPath := testConfigPath(ctx, testConfigProp, testSuites, autoGenConfig, testConfigTemplateProp)
|
||||||
if autogenPath != nil {
|
if autogenPath != nil {
|
||||||
templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp)
|
templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp)
|
||||||
if templatePath.Valid() {
|
if templatePath.Valid() {
|
||||||
|
@ -149,7 +148,7 @@ func AutoGenNativeTestConfig(ctx android.ModuleContext, testConfigProp *string,
|
||||||
|
|
||||||
func AutoGenNativeBenchmarkTestConfig(ctx android.ModuleContext, testConfigProp *string,
|
func AutoGenNativeBenchmarkTestConfig(ctx android.ModuleContext, testConfigProp *string,
|
||||||
testConfigTemplateProp *string, testSuites []string, configs []Config, autoGenConfig *bool) android.Path {
|
testConfigTemplateProp *string, testSuites []string, configs []Config, autoGenConfig *bool) android.Path {
|
||||||
path, autogenPath := testConfigPath(ctx, testConfigProp, testSuites, autoGenConfig)
|
path, autogenPath := testConfigPath(ctx, testConfigProp, testSuites, autoGenConfig, testConfigTemplateProp)
|
||||||
if autogenPath != nil {
|
if autogenPath != nil {
|
||||||
templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp)
|
templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp)
|
||||||
if templatePath.Valid() {
|
if templatePath.Valid() {
|
||||||
|
@ -164,7 +163,7 @@ func AutoGenNativeBenchmarkTestConfig(ctx android.ModuleContext, testConfigProp
|
||||||
|
|
||||||
func AutoGenJavaTestConfig(ctx android.ModuleContext, testConfigProp *string, testConfigTemplateProp *string,
|
func AutoGenJavaTestConfig(ctx android.ModuleContext, testConfigProp *string, testConfigTemplateProp *string,
|
||||||
testSuites []string, autoGenConfig *bool) android.Path {
|
testSuites []string, autoGenConfig *bool) android.Path {
|
||||||
path, autogenPath := testConfigPath(ctx, testConfigProp, testSuites, autoGenConfig)
|
path, autogenPath := testConfigPath(ctx, testConfigProp, testSuites, autoGenConfig, testConfigTemplateProp)
|
||||||
if autogenPath != nil {
|
if autogenPath != nil {
|
||||||
templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp)
|
templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp)
|
||||||
if templatePath.Valid() {
|
if templatePath.Valid() {
|
||||||
|
@ -184,7 +183,7 @@ func AutoGenJavaTestConfig(ctx android.ModuleContext, testConfigProp *string, te
|
||||||
func AutoGenPythonBinaryHostTestConfig(ctx android.ModuleContext, testConfigProp *string,
|
func AutoGenPythonBinaryHostTestConfig(ctx android.ModuleContext, testConfigProp *string,
|
||||||
testConfigTemplateProp *string, testSuites []string, autoGenConfig *bool) android.Path {
|
testConfigTemplateProp *string, testSuites []string, autoGenConfig *bool) android.Path {
|
||||||
|
|
||||||
path, autogenPath := testConfigPath(ctx, testConfigProp, testSuites, autoGenConfig)
|
path, autogenPath := testConfigPath(ctx, testConfigProp, testSuites, autoGenConfig, testConfigTemplateProp)
|
||||||
if autogenPath != nil {
|
if autogenPath != nil {
|
||||||
templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp)
|
templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp)
|
||||||
if templatePath.Valid() {
|
if templatePath.Valid() {
|
||||||
|
@ -199,7 +198,7 @@ func AutoGenPythonBinaryHostTestConfig(ctx android.ModuleContext, testConfigProp
|
||||||
|
|
||||||
func AutoGenRustTestConfig(ctx android.ModuleContext, name string, testConfigProp *string,
|
func AutoGenRustTestConfig(ctx android.ModuleContext, name string, testConfigProp *string,
|
||||||
testConfigTemplateProp *string, testSuites []string, autoGenConfig *bool) android.Path {
|
testConfigTemplateProp *string, testSuites []string, autoGenConfig *bool) android.Path {
|
||||||
path, autogenPath := testConfigPath(ctx, testConfigProp, testSuites, autoGenConfig)
|
path, autogenPath := testConfigPath(ctx, testConfigProp, testSuites, autoGenConfig, testConfigTemplateProp)
|
||||||
if autogenPath != nil {
|
if autogenPath != nil {
|
||||||
templatePathString := "${RustHostTestConfigTemplate}"
|
templatePathString := "${RustHostTestConfigTemplate}"
|
||||||
if ctx.Device() {
|
if ctx.Device() {
|
||||||
|
@ -226,7 +225,7 @@ var autogenInstrumentationTest = pctx.StaticRule("autogenInstrumentationTest", b
|
||||||
|
|
||||||
func AutoGenInstrumentationTestConfig(ctx android.ModuleContext, testConfigProp *string,
|
func AutoGenInstrumentationTestConfig(ctx android.ModuleContext, testConfigProp *string,
|
||||||
testConfigTemplateProp *string, manifest android.Path, testSuites []string, autoGenConfig *bool) android.Path {
|
testConfigTemplateProp *string, manifest android.Path, testSuites []string, autoGenConfig *bool) android.Path {
|
||||||
path, autogenPath := testConfigPath(ctx, testConfigProp, testSuites, autoGenConfig)
|
path, autogenPath := testConfigPath(ctx, testConfigProp, testSuites, autoGenConfig, testConfigTemplateProp)
|
||||||
if autogenPath != nil {
|
if autogenPath != nil {
|
||||||
template := "${InstrumentationTestConfigTemplate}"
|
template := "${InstrumentationTestConfigTemplate}"
|
||||||
moduleTemplate := getTestConfigTemplate(ctx, testConfigTemplateProp)
|
moduleTemplate := getTestConfigTemplate(ctx, testConfigTemplateProp)
|
||||||
|
|
Loading…
Reference in New Issue