| # Testcase for #70244. In this bug we're doing a "go test -coverprofile" |
| # run for a pair of packages, the first one without tests and the second |
| # one with tests. When writing the profile for the second test, profile |
| # data from the first package was leaking into the output (we should |
| # only see lines in the output profile for the package whose test is |
| # being run). |
| |
| [short] skip |
| |
| # Kick off test. |
| go test -vet=off -count=1 -coverprofile=cov.p ./... |
| |
| # Generate a function profile. |
| go tool cover -func=cov.p |
| |
| stdout 'cov/pkg1/file.go:3:\s+DoSomething\s+0.0%' |
| |
| -- go.mod -- |
| module cov |
| |
| -- pkg1/file.go -- |
| package pkg1 |
| |
| func DoSomething() bool { |
| return true |
| } |
| -- pkg2/file.go -- |
| package pkg2 |
| |
| func DoSomething() bool { |
| return true |
| } |
| -- pkg2/file_test.go -- |
| package pkg2 |
| |
| import ( |
| "cov/pkg1" |
| "testing" |
| ) |
| |
| func TestSmth(t *testing.T) { |
| pkg1.DoSomething() |
| DoSomething() |
| } |