diff options
| author | 2022-05-03 14:51:16 +0000 | |
|---|---|---|
| committer | 2022-05-03 14:51:16 +0000 | |
| commit | cd8fd677533d1f3058b00a0010c3e6d76e660dc9 (patch) | |
| tree | 51eb126b3c7c0af446ccf8209bf5b7e964ce9907 | |
| parent | 507f9b26d596a4f4212d30cea4aa76eeb7ecbb81 (diff) | |
Make isolated true by default for gtest
This change sets everything up to do this, but does not actually
enable it. jdesprez will follow up by making a one line change
that actually turns the default to true when he does test
debugging/verification.
Bug: 178498003
Test: build. Relying on @jdesprez for the rest of the verification
Change-Id: I3b1b6b57279dd4f9f7fc559e2d3ad76911b045e8
| -rw-r--r-- | cc/test.go | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/cc/test.go b/cc/test.go index ead7877e2..57035711e 100644 --- a/cc/test.go +++ b/cc/test.go @@ -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 { |