Loading python/test.go +53 −9 Original line number Diff line number Diff line Loading @@ -15,6 +15,8 @@ package python import ( "fmt" "github.com/google/blueprint/proptools" "android/soong/android" Loading Loading @@ -63,7 +65,22 @@ type TestProperties struct { Java_data []string // Test options. Test_options android.CommonTestOptions Test_options TestOptions } type TestOptions struct { android.CommonTestOptions // Runner for the test. Supports "tradefed" and "mobly" (for multi-device tests). Default is "tradefed". Runner *string // Metadata to describe the test configuration. Metadata []Metadata } type Metadata struct { Name string Value string } type PythonTestModule struct { Loading Loading @@ -94,14 +111,41 @@ func (p *PythonTestModule) GenerateAndroidBuildActions(ctx android.ModuleContext p.PythonLibraryModule.GenerateAndroidBuildActions(ctx) p.buildBinary(ctx) var configs []tradefed.Option for _, metadata := range p.testProperties.Test_options.Metadata { configs = append(configs, tradefed.Option{Name: "config-descriptor:metadata", Key: metadata.Name, Value: metadata.Value}) } runner := proptools.StringDefault(p.testProperties.Test_options.Runner, "tradefed") if runner == "tradefed" { p.testConfig = tradefed.AutoGenTestConfig(ctx, tradefed.AutoGenTestConfigOptions{ TestConfigProp: p.testProperties.Test_config, TestConfigTemplateProp: p.testProperties.Test_config_template, TestSuites: p.binaryProperties.Test_suites, OptionsForAutogenerated: configs, AutoGenConfig: p.binaryProperties.Auto_gen_config, DeviceTemplate: "${PythonBinaryHostTestConfigTemplate}", HostTemplate: "${PythonBinaryHostTestConfigTemplate}", }) } else if runner == "mobly" { if p.testProperties.Test_config != nil || p.testProperties.Test_config_template != nil || p.binaryProperties.Auto_gen_config != nil { panic(fmt.Errorf("cannot set test_config, test_config_template or auto_gen_config for mobly test")) } for _, testSuite := range p.binaryProperties.Test_suites { if testSuite == "cts" { configs = append(configs, tradefed.Option{Name: "test-suite-tag", Value: "cts"}) break } } p.testConfig = tradefed.AutoGenTestConfig(ctx, tradefed.AutoGenTestConfigOptions{ OptionsForAutogenerated: configs, DeviceTemplate: "${PythonBinaryHostMoblyTestConfigTemplate}", HostTemplate: "${PythonBinaryHostMoblyTestConfigTemplate}", }) } else { panic(fmt.Errorf("unknown python test runner '%s', should be 'tradefed' or 'mobly'", runner)) } p.installedDest = ctx.InstallFile(installDir(ctx, "nativetest", "nativetest64", ctx.ModuleName()), p.installSource.Base(), p.installSource) Loading tradefed/config.go +1 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ func init() { pctx.SourcePathVariable("NativeBenchmarkTestConfigTemplate", "build/make/core/native_benchmark_test_config_template.xml") pctx.SourcePathVariable("NativeHostTestConfigTemplate", "build/make/core/native_host_test_config_template.xml") pctx.SourcePathVariable("NativeTestConfigTemplate", "build/make/core/native_test_config_template.xml") pctx.SourcePathVariable("PythonBinaryHostMoblyTestConfigTemplate", "build/make/core/python_binary_host_mobly_test_config_template.xml") pctx.SourcePathVariable("PythonBinaryHostTestConfigTemplate", "build/make/core/python_binary_host_test_config_template.xml") pctx.SourcePathVariable("RustDeviceTestConfigTemplate", "build/make/core/rust_device_test_config_template.xml") pctx.SourcePathVariable("RustHostTestConfigTemplate", "build/make/core/rust_host_test_config_template.xml") Loading Loading
python/test.go +53 −9 Original line number Diff line number Diff line Loading @@ -15,6 +15,8 @@ package python import ( "fmt" "github.com/google/blueprint/proptools" "android/soong/android" Loading Loading @@ -63,7 +65,22 @@ type TestProperties struct { Java_data []string // Test options. Test_options android.CommonTestOptions Test_options TestOptions } type TestOptions struct { android.CommonTestOptions // Runner for the test. Supports "tradefed" and "mobly" (for multi-device tests). Default is "tradefed". Runner *string // Metadata to describe the test configuration. Metadata []Metadata } type Metadata struct { Name string Value string } type PythonTestModule struct { Loading Loading @@ -94,14 +111,41 @@ func (p *PythonTestModule) GenerateAndroidBuildActions(ctx android.ModuleContext p.PythonLibraryModule.GenerateAndroidBuildActions(ctx) p.buildBinary(ctx) var configs []tradefed.Option for _, metadata := range p.testProperties.Test_options.Metadata { configs = append(configs, tradefed.Option{Name: "config-descriptor:metadata", Key: metadata.Name, Value: metadata.Value}) } runner := proptools.StringDefault(p.testProperties.Test_options.Runner, "tradefed") if runner == "tradefed" { p.testConfig = tradefed.AutoGenTestConfig(ctx, tradefed.AutoGenTestConfigOptions{ TestConfigProp: p.testProperties.Test_config, TestConfigTemplateProp: p.testProperties.Test_config_template, TestSuites: p.binaryProperties.Test_suites, OptionsForAutogenerated: configs, AutoGenConfig: p.binaryProperties.Auto_gen_config, DeviceTemplate: "${PythonBinaryHostTestConfigTemplate}", HostTemplate: "${PythonBinaryHostTestConfigTemplate}", }) } else if runner == "mobly" { if p.testProperties.Test_config != nil || p.testProperties.Test_config_template != nil || p.binaryProperties.Auto_gen_config != nil { panic(fmt.Errorf("cannot set test_config, test_config_template or auto_gen_config for mobly test")) } for _, testSuite := range p.binaryProperties.Test_suites { if testSuite == "cts" { configs = append(configs, tradefed.Option{Name: "test-suite-tag", Value: "cts"}) break } } p.testConfig = tradefed.AutoGenTestConfig(ctx, tradefed.AutoGenTestConfigOptions{ OptionsForAutogenerated: configs, DeviceTemplate: "${PythonBinaryHostMoblyTestConfigTemplate}", HostTemplate: "${PythonBinaryHostMoblyTestConfigTemplate}", }) } else { panic(fmt.Errorf("unknown python test runner '%s', should be 'tradefed' or 'mobly'", runner)) } p.installedDest = ctx.InstallFile(installDir(ctx, "nativetest", "nativetest64", ctx.ModuleName()), p.installSource.Base(), p.installSource) Loading
tradefed/config.go +1 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ func init() { pctx.SourcePathVariable("NativeBenchmarkTestConfigTemplate", "build/make/core/native_benchmark_test_config_template.xml") pctx.SourcePathVariable("NativeHostTestConfigTemplate", "build/make/core/native_host_test_config_template.xml") pctx.SourcePathVariable("NativeTestConfigTemplate", "build/make/core/native_test_config_template.xml") pctx.SourcePathVariable("PythonBinaryHostMoblyTestConfigTemplate", "build/make/core/python_binary_host_mobly_test_config_template.xml") pctx.SourcePathVariable("PythonBinaryHostTestConfigTemplate", "build/make/core/python_binary_host_test_config_template.xml") pctx.SourcePathVariable("RustDeviceTestConfigTemplate", "build/make/core/rust_device_test_config_template.xml") pctx.SourcePathVariable("RustHostTestConfigTemplate", "build/make/core/rust_host_test_config_template.xml") Loading