diff --git a/bp2build/cc_test_conversion_test.go b/bp2build/cc_test_conversion_test.go index 679a36461..392a9621d 100644 --- a/bp2build/cc_test_conversion_test.go +++ b/bp2build/cc_test_conversion_test.go @@ -631,3 +631,23 @@ cc_test { }, }) } + +func TestCcTest_UnitTestFalse(t *testing.T) { + runCcTestTestCase(t, ccTestBp2buildTestCase{ + description: "cc test with test_options.tags converted to tags", + blueprint: ` +cc_test { + name: "mytest", + host_supported: true, + srcs: ["test.cpp"], + test_options: { unit_test: false }, +} +` + simpleModule("cc_library_static", "libgtest_main") + + simpleModule("cc_library_static", "libgtest"), + stubbedBuildDefinitions: []string{ + "libgtest_main", + "libgtest", + }, + targets: []testBazelTarget{}, + }) +} diff --git a/cc/test.go b/cc/test.go index 7a6cf1b4e..8c63dc614 100644 --- a/cc/test.go +++ b/cc/test.go @@ -25,6 +25,7 @@ import ( "android/soong/bazel" "android/soong/bazel/cquery" "android/soong/tradefed" + "android/soong/ui/metrics/bp2build_metrics_proto" ) // TestLinkerProperties properties to be registered via the linker @@ -718,6 +719,13 @@ func testBinaryBp2build(ctx android.Bp2buildMutatorContext, m *Module) { combinedData.Append(android.BazelLabelForModuleDeps(ctx, p.Data_libs)) data.SetSelectValue(axis, config, combinedData) tags.SetSelectValue(axis, config, p.Test_options.Tags) + + // TODO: b/300117121 - handle bp2build conversion of non-unit tests + // default to true to only handle non-nil falses + if !BoolDefault(p.Test_options.Unit_test, true) { + ctx.MarkBp2buildUnconvertible(bp2build_metrics_proto.UnconvertedReasonType_PROPERTY_UNSUPPORTED, "Host unit_test = false") + return + } } } }