Loading cc/test.go +1 −18 Original line number Diff line number Diff line Loading @@ -31,12 +31,6 @@ type TestProperties struct { Isolated *bool } // Test option struct. type TestOptions struct { // the UID that you want to run in device. Run_test_as string `android:"arch_variant"` } type TestBinaryProperties struct { // Create a separate binary for each source file. Useful when there is // global state that can not be torn down and reset between each test suite. Loading @@ -62,9 +56,6 @@ type TestBinaryProperties struct { // the name of the test configuration template (for example "AndroidTestTemplate.xml") that // should be installed with the module. Test_config_template *string `android:"arch_variant"` // Test options. Test_options *TestOptions } func init() { Loading Loading @@ -253,16 +244,8 @@ func (test *testBinary) linkerFlags(ctx ModuleContext, flags Flags) Flags { func (test *testBinary) install(ctx ModuleContext, file android.Path) { test.data = ctx.ExpandSources(test.Properties.Data, nil) // Append new line in template like below // <option name="run-test-as" value="1234" /> optionsMap := map[string]string{} if test.Properties.Test_options != nil { optionsMap["run-test-as"] = string(test.Properties.Test_options.Run_test_as) } test.testConfig = tradefed.AutoGenNativeTestConfig(ctx, test.Properties.Test_config, test.Properties.Test_config_template, optionsMap) test.Properties.Test_config_template) test.binaryDecorator.baseInstaller.dir = "nativetest" test.binaryDecorator.baseInstaller.dir64 = "nativetest64" Loading tradefed/autogen.go +14 −30 Original line number Diff line number Diff line Loading @@ -15,7 +15,6 @@ package tradefed import ( "fmt" "strings" "github.com/google/blueprint" Loading @@ -37,10 +36,9 @@ func getTestConfig(ctx android.ModuleContext, prop *string) android.Path { } var autogenTestConfig = pctx.StaticRule("autogenTestConfig", blueprint.RuleParams{ Command: "sed 's&{MODULE}&${name}&g' $template > $out &&" + "${optionCmd} $out", Command: "sed 's&{MODULE}&${name}&g' $template > $out", CommandDeps: []string{"$template"}, }, "name", "template", "optionCmd") }, "name", "template") func testConfigPath(ctx android.ModuleContext, prop *string) (path android.Path, autogenPath android.WritablePath) { if p := getTestConfig(ctx, prop); p != nil { Loading @@ -56,20 +54,7 @@ func testConfigPath(ctx android.ModuleContext, prop *string) (path android.Path, } } func autogenTemplate(ctx android.ModuleContext, output android.WritablePath, template string, optionsMap map[string]string) { // If no test option found, delete {UID_OPTION} line. // If found, replace it with corresponding options format. optionCmd := "sed -i '/{UID_OPTION}/d'" if optionsMap != nil { //Append options var options []string for optionName, value := range optionsMap { if value != "" { options = append(options, fmt.Sprintf("<option name=\"%s\" value=\"%s\" />", optionName, value)) } } optionCmd = fmt.Sprintf("sed -i 's&{UID_OPTION}&%s&g'", strings.Join(options, "\\n ")) } func autogenTemplate(ctx android.ModuleContext, output android.WritablePath, template string) { ctx.Build(pctx, android.BuildParams{ Rule: autogenTestConfig, Description: "test config", Loading @@ -77,23 +62,22 @@ func autogenTemplate(ctx android.ModuleContext, output android.WritablePath, tem Args: map[string]string{ "name": ctx.ModuleName(), "template": template, "optionCmd": optionCmd, }, }) } func AutoGenNativeTestConfig(ctx android.ModuleContext, testConfigProp *string, testConfigTemplateProp *string, optionsMap map[string]string) android.Path { testConfigTemplateProp *string) android.Path { path, autogenPath := testConfigPath(ctx, testConfigProp) if autogenPath != nil { templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp) if templatePath.Valid() { autogenTemplate(ctx, autogenPath, templatePath.String(), optionsMap) autogenTemplate(ctx, autogenPath, templatePath.String()) } else { if ctx.Device() { autogenTemplate(ctx, autogenPath, "${NativeTestConfigTemplate}", optionsMap) autogenTemplate(ctx, autogenPath, "${NativeTestConfigTemplate}") } else { autogenTemplate(ctx, autogenPath, "${NativeHostTestConfigTemplate}", optionsMap) autogenTemplate(ctx, autogenPath, "${NativeHostTestConfigTemplate}") } } return autogenPath Loading @@ -107,9 +91,9 @@ func AutoGenNativeBenchmarkTestConfig(ctx android.ModuleContext, testConfigProp if autogenPath != nil { templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp) if templatePath.Valid() { autogenTemplate(ctx, autogenPath, templatePath.String(), nil) autogenTemplate(ctx, autogenPath, templatePath.String()) } else { autogenTemplate(ctx, autogenPath, "${NativeBenchmarkTestConfigTemplate}", nil) autogenTemplate(ctx, autogenPath, "${NativeBenchmarkTestConfigTemplate}") } return autogenPath } Loading @@ -121,12 +105,12 @@ func AutoGenJavaTestConfig(ctx android.ModuleContext, testConfigProp *string, te if autogenPath != nil { templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp) if templatePath.Valid() { autogenTemplate(ctx, autogenPath, templatePath.String(), nil) autogenTemplate(ctx, autogenPath, templatePath.String()) } else { if ctx.Device() { autogenTemplate(ctx, autogenPath, "${JavaTestConfigTemplate}", nil) autogenTemplate(ctx, autogenPath, "${JavaTestConfigTemplate}") } else { autogenTemplate(ctx, autogenPath, "${JavaHostTestConfigTemplate}", nil) autogenTemplate(ctx, autogenPath, "${JavaHostTestConfigTemplate}") } } return autogenPath Loading Loading
cc/test.go +1 −18 Original line number Diff line number Diff line Loading @@ -31,12 +31,6 @@ type TestProperties struct { Isolated *bool } // Test option struct. type TestOptions struct { // the UID that you want to run in device. Run_test_as string `android:"arch_variant"` } type TestBinaryProperties struct { // Create a separate binary for each source file. Useful when there is // global state that can not be torn down and reset between each test suite. Loading @@ -62,9 +56,6 @@ type TestBinaryProperties struct { // the name of the test configuration template (for example "AndroidTestTemplate.xml") that // should be installed with the module. Test_config_template *string `android:"arch_variant"` // Test options. Test_options *TestOptions } func init() { Loading Loading @@ -253,16 +244,8 @@ func (test *testBinary) linkerFlags(ctx ModuleContext, flags Flags) Flags { func (test *testBinary) install(ctx ModuleContext, file android.Path) { test.data = ctx.ExpandSources(test.Properties.Data, nil) // Append new line in template like below // <option name="run-test-as" value="1234" /> optionsMap := map[string]string{} if test.Properties.Test_options != nil { optionsMap["run-test-as"] = string(test.Properties.Test_options.Run_test_as) } test.testConfig = tradefed.AutoGenNativeTestConfig(ctx, test.Properties.Test_config, test.Properties.Test_config_template, optionsMap) test.Properties.Test_config_template) test.binaryDecorator.baseInstaller.dir = "nativetest" test.binaryDecorator.baseInstaller.dir64 = "nativetest64" Loading
tradefed/autogen.go +14 −30 Original line number Diff line number Diff line Loading @@ -15,7 +15,6 @@ package tradefed import ( "fmt" "strings" "github.com/google/blueprint" Loading @@ -37,10 +36,9 @@ func getTestConfig(ctx android.ModuleContext, prop *string) android.Path { } var autogenTestConfig = pctx.StaticRule("autogenTestConfig", blueprint.RuleParams{ Command: "sed 's&{MODULE}&${name}&g' $template > $out &&" + "${optionCmd} $out", Command: "sed 's&{MODULE}&${name}&g' $template > $out", CommandDeps: []string{"$template"}, }, "name", "template", "optionCmd") }, "name", "template") func testConfigPath(ctx android.ModuleContext, prop *string) (path android.Path, autogenPath android.WritablePath) { if p := getTestConfig(ctx, prop); p != nil { Loading @@ -56,20 +54,7 @@ func testConfigPath(ctx android.ModuleContext, prop *string) (path android.Path, } } func autogenTemplate(ctx android.ModuleContext, output android.WritablePath, template string, optionsMap map[string]string) { // If no test option found, delete {UID_OPTION} line. // If found, replace it with corresponding options format. optionCmd := "sed -i '/{UID_OPTION}/d'" if optionsMap != nil { //Append options var options []string for optionName, value := range optionsMap { if value != "" { options = append(options, fmt.Sprintf("<option name=\"%s\" value=\"%s\" />", optionName, value)) } } optionCmd = fmt.Sprintf("sed -i 's&{UID_OPTION}&%s&g'", strings.Join(options, "\\n ")) } func autogenTemplate(ctx android.ModuleContext, output android.WritablePath, template string) { ctx.Build(pctx, android.BuildParams{ Rule: autogenTestConfig, Description: "test config", Loading @@ -77,23 +62,22 @@ func autogenTemplate(ctx android.ModuleContext, output android.WritablePath, tem Args: map[string]string{ "name": ctx.ModuleName(), "template": template, "optionCmd": optionCmd, }, }) } func AutoGenNativeTestConfig(ctx android.ModuleContext, testConfigProp *string, testConfigTemplateProp *string, optionsMap map[string]string) android.Path { testConfigTemplateProp *string) android.Path { path, autogenPath := testConfigPath(ctx, testConfigProp) if autogenPath != nil { templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp) if templatePath.Valid() { autogenTemplate(ctx, autogenPath, templatePath.String(), optionsMap) autogenTemplate(ctx, autogenPath, templatePath.String()) } else { if ctx.Device() { autogenTemplate(ctx, autogenPath, "${NativeTestConfigTemplate}", optionsMap) autogenTemplate(ctx, autogenPath, "${NativeTestConfigTemplate}") } else { autogenTemplate(ctx, autogenPath, "${NativeHostTestConfigTemplate}", optionsMap) autogenTemplate(ctx, autogenPath, "${NativeHostTestConfigTemplate}") } } return autogenPath Loading @@ -107,9 +91,9 @@ func AutoGenNativeBenchmarkTestConfig(ctx android.ModuleContext, testConfigProp if autogenPath != nil { templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp) if templatePath.Valid() { autogenTemplate(ctx, autogenPath, templatePath.String(), nil) autogenTemplate(ctx, autogenPath, templatePath.String()) } else { autogenTemplate(ctx, autogenPath, "${NativeBenchmarkTestConfigTemplate}", nil) autogenTemplate(ctx, autogenPath, "${NativeBenchmarkTestConfigTemplate}") } return autogenPath } Loading @@ -121,12 +105,12 @@ func AutoGenJavaTestConfig(ctx android.ModuleContext, testConfigProp *string, te if autogenPath != nil { templatePath := getTestConfigTemplate(ctx, testConfigTemplateProp) if templatePath.Valid() { autogenTemplate(ctx, autogenPath, templatePath.String(), nil) autogenTemplate(ctx, autogenPath, templatePath.String()) } else { if ctx.Device() { autogenTemplate(ctx, autogenPath, "${JavaTestConfigTemplate}", nil) autogenTemplate(ctx, autogenPath, "${JavaTestConfigTemplate}") } else { autogenTemplate(ctx, autogenPath, "${JavaHostTestConfigTemplate}", nil) autogenTemplate(ctx, autogenPath, "${JavaHostTestConfigTemplate}") } } return autogenPath Loading