Rename native code coverage paths product variables in Soong.

Rename `CoveragePath` and `CoverageExcludePaths` as
`NativeCoveragePath` and `NativeCoverageExcludePaths` (resp.).
Also rename function `android.CoverageEnabledForPath` as
`android.NativeCoverageEnabledForPath`.

Test: m nothing
Bug: 158212027
Change-Id: Id2c11a638e88088096420b537effa866d7667304
This commit is contained in:
Roland Levillain 2020-06-09 12:44:06 +01:00
parent 4e372f7841
commit 4f5297b438
4 changed files with 17 additions and 12 deletions

View File

@ -1041,15 +1041,20 @@ func (c *deviceConfig) ClangCoverageEnabled() bool {
return Bool(c.config.productVariables.ClangCoverage)
}
func (c *deviceConfig) CoverageEnabledForPath(path string) bool {
// NativeCoverageEnabledForPath returns whether (GCOV- or Clang-based) native
// code coverage is enabled for path. By default, coverage is not enabled for a
// given path unless it is part of the NativeCoveragePaths product variable (and
// not part of the NativeCoverageExcludePaths product variable). Value "*" in
// NativeCoveragePaths represents any path.
func (c *deviceConfig) NativeCoverageEnabledForPath(path string) bool {
coverage := false
if c.config.productVariables.CoveragePaths != nil {
if InList("*", c.config.productVariables.CoveragePaths) || HasAnyPrefix(path, c.config.productVariables.CoveragePaths) {
if c.config.productVariables.NativeCoveragePaths != nil {
if InList("*", c.config.productVariables.NativeCoveragePaths) || HasAnyPrefix(path, c.config.productVariables.NativeCoveragePaths) {
coverage = true
}
}
if coverage && c.config.productVariables.CoverageExcludePaths != nil {
if HasAnyPrefix(path, c.config.productVariables.CoverageExcludePaths) {
if coverage && c.config.productVariables.NativeCoverageExcludePaths != nil {
if HasAnyPrefix(path, c.config.productVariables.NativeCoverageExcludePaths) {
coverage = false
}
}

View File

@ -266,11 +266,11 @@ type productVariables struct {
SamplingPGO *bool `json:",omitempty"`
NativeLineCoverage *bool `json:",omitempty"`
Native_coverage *bool `json:",omitempty"`
ClangCoverage *bool `json:",omitempty"`
CoveragePaths []string `json:",omitempty"`
CoverageExcludePaths []string `json:",omitempty"`
NativeLineCoverage *bool `json:",omitempty"`
Native_coverage *bool `json:",omitempty"`
ClangCoverage *bool `json:",omitempty"`
NativeCoveragePaths []string `json:",omitempty"`
NativeCoverageExcludePaths []string `json:",omitempty"`
DevicePrefer32BitApps *bool `json:",omitempty"`
DevicePrefer32BitExecutables *bool `json:",omitempty"`

View File

@ -180,7 +180,7 @@ func SetCoverageProperties(ctx android.BaseModuleContext, properties CoveragePro
if needCoverageVariant {
// Coverage variant is actually built with coverage if enabled for its module path
needCoverageBuild = ctx.DeviceConfig().CoverageEnabledForPath(ctx.ModuleDir())
needCoverageBuild = ctx.DeviceConfig().NativeCoverageEnabledForPath(ctx.ModuleDir())
}
}

View File

@ -89,7 +89,7 @@ func testRustContext(t *testing.T, bp string, coverage bool) *android.TestContex
if coverage {
config.TestProductVariables.Native_coverage = proptools.BoolPtr(true)
config.TestProductVariables.CoveragePaths = []string{"*"}
config.TestProductVariables.NativeCoveragePaths = []string{"*"}
}
t.Helper()