diff --git a/cc/test.go b/cc/test.go index d4c23d7bf..047a69e3e 100644 --- a/cc/test.go +++ b/cc/test.go @@ -48,12 +48,19 @@ type TestOptions struct { Unit_test *bool // Add ShippingApiLevelModuleController to auto generated test config. If the device properties - // for the shipping api level is less than the test_min_api_level, skip this module. - Test_min_api_level *int64 + // for the shipping api level is less than the min_shipping_api_level, skip this module. + Min_shipping_api_level *int64 + + // Add ShippingApiLevelModuleController to auto generated test config. If any of the device + // shipping api level and vendor api level properties are less than the + // vsr_min_shipping_api_level, skip this module. + // As this includes the shipping api level check, it is not allowed to define + // min_shipping_api_level at the same time with this property. + Vsr_min_shipping_api_level *int64 // Add MinApiLevelModuleController with ro.vndk.version property. If ro.vndk.version has an - // integer value and the value is less than the test_min_vndk_version, skip this module. - Test_min_vndk_version *int64 + // integer value and the value is less than the min_vndk_version, skip this module. + Min_vndk_version *int64 } type TestBinaryProperties struct { @@ -97,7 +104,7 @@ type TestBinaryProperties struct { // Add ShippingApiLevelModuleController to auto generated test config. If the device properties // for the shipping api level is less than the test_min_api_level, skip this module. - // Deprecated (b/187258404). Use test_options.test_min_api_level instead. + // Deprecated (b/187258404). Use test_options.min_shipping_api_level instead. Test_min_api_level *int64 // Flag to indicate whether or not to create test config automatically. If AndroidTest.xml @@ -404,19 +411,30 @@ func (test *testBinary) install(ctx ModuleContext, file android.Path) { for _, tag := range test.Properties.Test_options.Test_suite_tag { configs = append(configs, tradefed.Option{Name: "test-suite-tag", Value: tag}) } - if test.Properties.Test_options.Test_min_api_level != nil { + if test.Properties.Test_options.Min_shipping_api_level != nil { + if test.Properties.Test_options.Vsr_min_shipping_api_level != nil { + ctx.PropertyErrorf("test_options.min_shipping_api_level", "must not be set at the same time as 'vsr_min_shipping_api_level'.") + } var options []tradefed.Option - options = append(options, tradefed.Option{Name: "min-api-level", Value: strconv.FormatInt(int64(*test.Properties.Test_options.Test_min_api_level), 10)}) + options = append(options, tradefed.Option{Name: "min-api-level", Value: strconv.FormatInt(int64(*test.Properties.Test_options.Min_shipping_api_level), 10)}) configs = append(configs, tradefed.Object{"module_controller", "com.android.tradefed.testtype.suite.module.ShippingApiLevelModuleController", options}) } else if test.Properties.Test_min_api_level != nil { // TODO: (b/187258404) Remove test.Properties.Test_min_api_level + if test.Properties.Test_options.Vsr_min_shipping_api_level != nil { + ctx.PropertyErrorf("test_min_api_level", "must not be set at the same time as 'vsr_min_shipping_api_level'.") + } var options []tradefed.Option options = append(options, tradefed.Option{Name: "min-api-level", Value: strconv.FormatInt(int64(*test.Properties.Test_min_api_level), 10)}) configs = append(configs, tradefed.Object{"module_controller", "com.android.tradefed.testtype.suite.module.ShippingApiLevelModuleController", options}) } - if test.Properties.Test_options.Test_min_vndk_version != nil { + if test.Properties.Test_options.Vsr_min_shipping_api_level != nil { var options []tradefed.Option - options = append(options, tradefed.Option{Name: "min-api-level", Value: strconv.FormatInt(int64(*test.Properties.Test_options.Test_min_vndk_version), 10)}) + options = append(options, tradefed.Option{Name: "vsr-min-api-level", Value: strconv.FormatInt(int64(*test.Properties.Test_options.Vsr_min_shipping_api_level), 10)}) + configs = append(configs, tradefed.Object{"module_controller", "com.android.tradefed.testtype.suite.module.ShippingApiLevelModuleController", options}) + } + if test.Properties.Test_options.Min_vndk_version != nil { + var options []tradefed.Option + options = append(options, tradefed.Option{Name: "min-api-level", Value: strconv.FormatInt(int64(*test.Properties.Test_options.Min_vndk_version), 10)}) options = append(options, tradefed.Option{Name: "api-level-prop", Value: "ro.vndk.version"}) configs = append(configs, tradefed.Object{"module_controller", "com.android.tradefed.testtype.suite.module.MinApiLevelModuleController", options}) }