Support path exclusion for native coverage.
Specify list of paths to exclude from coverage instrumentation. Test: make NATIVE_COVERAGE=true COVERAGE_PATHS=hardware/interfaces COVERAGE_EXCLUDE_PATHS=hardware/interfaces/graphics Bug: 35769817 Change-Id: I3bf10e5e5697d140d6cff73d000768b00aa28ca4
This commit is contained in:
parent
4c46af8943
commit
469a18aae2
2 changed files with 15 additions and 4 deletions
|
@ -477,12 +477,22 @@ func (c *deviceConfig) NativeCoverageEnabled() bool {
|
|||
}
|
||||
|
||||
func (c *deviceConfig) CoverageEnabledForPath(path string) bool {
|
||||
coverage := false
|
||||
if c.config.ProductVariables.CoveragePaths != nil {
|
||||
for _, prefix := range *c.config.ProductVariables.CoveragePaths {
|
||||
if strings.HasPrefix(path, prefix) {
|
||||
return true
|
||||
coverage = true
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
return false
|
||||
if coverage && c.config.ProductVariables.CoverageExcludePaths != nil {
|
||||
for _, prefix := range *c.config.ProductVariables.CoverageExcludePaths {
|
||||
if strings.HasPrefix(path, prefix) {
|
||||
coverage = false
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
return coverage
|
||||
}
|
||||
|
|
|
@ -121,8 +121,9 @@ type productVariables struct {
|
|||
ClangTidy *bool `json:",omitempty"`
|
||||
TidyChecks *string `json:",omitempty"`
|
||||
|
||||
NativeCoverage *bool `json:",omitempty"`
|
||||
CoveragePaths *[]string `json:",omitempty"`
|
||||
NativeCoverage *bool `json:",omitempty"`
|
||||
CoveragePaths *[]string `json:",omitempty"`
|
||||
CoverageExcludePaths *[]string `json:",omitempty"`
|
||||
|
||||
DevicePrefer32BitExecutables *bool `json:",omitempty"`
|
||||
HostPrefer32BitExecutables *bool `json:",omitempty"`
|
||||
|
|
Loading…
Reference in a new issue