Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cd8fd677 authored by Trevor Radcliffe's avatar Trevor Radcliffe
Browse files

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
parent 507f9b26
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -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 {