Merge "Make isolated true by default for gtest" am: 2845464d2d am: d2878482eb

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2068108

Change-Id: I29c67ef4a2b72ec06fb0dea3fcee8232fc6ba5e1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Trevor Radcliffe 2022-05-06 17:55:46 +00:00 committed by Automerger Merge Worker
commit d13a0636fe

View file

@ -30,7 +30,8 @@ type TestLinkerProperties struct {
// if set, build against the gtest library. Defaults to true.
Gtest *bool
// if set, use the isolated gtest runner. Defaults to false.
// if set, use the isolated gtest runner. Defaults to true if gtest is also true and the arch is Windows, false
// otherwise.
Isolated *bool
}
@ -256,6 +257,13 @@ func (test *testDecorator) gtest() bool {
return BoolDefault(test.LinkerProperties.Gtest, true)
}
func (test *testDecorator) isolated(ctx BaseModuleContext) bool {
if !ctx.Windows() {
return BoolDefault(test.LinkerProperties.Isolated, false)
}
return BoolDefault(test.LinkerProperties.Isolated, false)
}
func (test *testDecorator) testBinary() bool {
return true
}
@ -288,7 +296,7 @@ func (test *testDecorator) linkerDeps(ctx BaseModuleContext, deps Deps) Deps {
if test.gtest() {
if ctx.useSdk() && ctx.Device() {
deps.StaticLibs = append(deps.StaticLibs, "libgtest_main_ndk_c++", "libgtest_ndk_c++")
} else if BoolDefault(test.LinkerProperties.Isolated, false) {
} else if test.isolated(ctx) {
deps.StaticLibs = append(deps.StaticLibs, "libgtest_isolated_main")
// The isolated library requires liblog, but adding it
// as a static library means unit tests cannot override
@ -424,7 +432,7 @@ func (test *testBinary) install(ctx ModuleContext, file android.Path) {
var options []tradefed.Option
configs = append(configs, tradefed.Object{"target_preparer", "com.android.tradefed.targetprep.StopServicesSetup", options})
}
if Bool(test.testDecorator.LinkerProperties.Isolated) {
if test.isolated(ctx) {
configs = append(configs, tradefed.Option{Name: "not-shardable", Value: "true"})
}
if test.Properties.Test_options.Run_test_as != nil {