From 741355826fc314796b3e5ca4cb89e4d196e96b20 Mon Sep 17 00:00:00 2001 From: Paul Duffin Date: Thu, 6 Oct 2022 11:01:59 +0100 Subject: [PATCH] Add Config,RunningInsideUnitTest Sometimes it is necessary for some functionality to be disabled while running in unit tests, e.g. functionality that requires external information such as error prone tools and configuration. Sometimes it is necessary for some functionality to be enabled while running in unit tests, e.g. functionality that makes state available for testing but which is not necessary at runtime. Previously, that was done by checking to see if TestProductVariables was nil. This change adds a method to abstract that. Bug: 245956352 Test: m nothing Change-Id: I7845b79328e7180623161a9bf897568089da4e4f --- android/config.go | 5 +++++ java/base.go | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/android/config.go b/android/config.go index e86fc2783..4992882b9 100644 --- a/android/config.go +++ b/android/config.go @@ -127,6 +127,11 @@ func (c Config) PrimaryBuilderInvocations() []bootstrap.PrimaryBuilderInvocation return []bootstrap.PrimaryBuilderInvocation{} } +// RunningInsideUnitTest returns true if this code is being run as part of a Soong unit test. +func (c Config) RunningInsideUnitTest() bool { + return c.config.TestProductVariables != nil +} + // A DeviceConfig object represents the configuration for a particular device // being built. For now there will only be one of these, but in the future there // may be multiple devices being built. diff --git a/java/base.go b/java/base.go index 656a08010..bcb722603 100644 --- a/java/base.go +++ b/java/base.go @@ -893,7 +893,7 @@ func (j *Module) collectBuilderFlags(ctx android.ModuleContext, deps deps) javaB epEnabled := j.properties.Errorprone.Enabled if (ctx.Config().RunErrorProne() && epEnabled == nil) || Bool(epEnabled) { - if config.ErrorProneClasspath == nil && ctx.Config().TestProductVariables == nil { + if config.ErrorProneClasspath == nil && !ctx.Config().RunningInsideUnitTest() { ctx.ModuleErrorf("cannot build with Error Prone, missing external/error_prone?") }