Loading cc/test.go +11 −3 Original line number Original line Diff line number Diff line Loading @@ -30,7 +30,8 @@ type TestLinkerProperties struct { // if set, build against the gtest library. Defaults to true. // if set, build against the gtest library. Defaults to true. Gtest *bool 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 Isolated *bool } } Loading Loading @@ -256,6 +257,13 @@ func (test *testDecorator) gtest() bool { return BoolDefault(test.LinkerProperties.Gtest, true) 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 { func (test *testDecorator) testBinary() bool { return true return true } } Loading Loading @@ -288,7 +296,7 @@ func (test *testDecorator) linkerDeps(ctx BaseModuleContext, deps Deps) Deps { if test.gtest() { if test.gtest() { if ctx.useSdk() && ctx.Device() { if ctx.useSdk() && ctx.Device() { deps.StaticLibs = append(deps.StaticLibs, "libgtest_main_ndk_c++", "libgtest_ndk_c++") 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") deps.StaticLibs = append(deps.StaticLibs, "libgtest_isolated_main") // The isolated library requires liblog, but adding it // The isolated library requires liblog, but adding it // as a static library means unit tests cannot override // as a static library means unit tests cannot override Loading Loading @@ -424,7 +432,7 @@ func (test *testBinary) install(ctx ModuleContext, file android.Path) { var options []tradefed.Option var options []tradefed.Option configs = append(configs, tradefed.Object{"target_preparer", "com.android.tradefed.targetprep.StopServicesSetup", options}) 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"}) configs = append(configs, tradefed.Option{Name: "not-shardable", Value: "true"}) } } if test.Properties.Test_options.Run_test_as != nil { if test.Properties.Test_options.Run_test_as != nil { Loading Loading
cc/test.go +11 −3 Original line number Original line Diff line number Diff line Loading @@ -30,7 +30,8 @@ type TestLinkerProperties struct { // if set, build against the gtest library. Defaults to true. // if set, build against the gtest library. Defaults to true. Gtest *bool 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 Isolated *bool } } Loading Loading @@ -256,6 +257,13 @@ func (test *testDecorator) gtest() bool { return BoolDefault(test.LinkerProperties.Gtest, true) 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 { func (test *testDecorator) testBinary() bool { return true return true } } Loading Loading @@ -288,7 +296,7 @@ func (test *testDecorator) linkerDeps(ctx BaseModuleContext, deps Deps) Deps { if test.gtest() { if test.gtest() { if ctx.useSdk() && ctx.Device() { if ctx.useSdk() && ctx.Device() { deps.StaticLibs = append(deps.StaticLibs, "libgtest_main_ndk_c++", "libgtest_ndk_c++") 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") deps.StaticLibs = append(deps.StaticLibs, "libgtest_isolated_main") // The isolated library requires liblog, but adding it // The isolated library requires liblog, but adding it // as a static library means unit tests cannot override // as a static library means unit tests cannot override Loading Loading @@ -424,7 +432,7 @@ func (test *testBinary) install(ctx ModuleContext, file android.Path) { var options []tradefed.Option var options []tradefed.Option configs = append(configs, tradefed.Object{"target_preparer", "com.android.tradefed.targetprep.StopServicesSetup", options}) 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"}) configs = append(configs, tradefed.Option{Name: "not-shardable", Value: "true"}) } } if test.Properties.Test_options.Run_test_as != nil { if test.Properties.Test_options.Run_test_as != nil { Loading