]> Cypherpunks repositories - gostls13.git/commit
internal/coverage/cfile: harden the coverage snapshot test
authorThan McIntosh <thanm@google.com>
Wed, 12 Jun 2024 18:19:24 +0000 (18:19 +0000)
committerThan McIntosh <thanm@google.com>
Thu, 13 Jun 2024 16:44:49 +0000 (16:44 +0000)
commit956f8a67dd7319bad60c015d982f0b2e95b9f382
tree6c4417f4aa397ca475fbf1609aa396cf6b6239bb
parent7bfc82429c4067664d9645c70323cd76ee0496c0
internal/coverage/cfile: harden the coverage snapshot test

The existing testpoint TestCoverageSnapshot will fail if we happen to
be selecting a set of packages for inclusion in the profile that don't
include internal/coverage/cfile. Example:

 $ cd `go env GOROOT`
 $ cd src/internal/coverage
 $ go test -coverpkg=internal/coverage/decodecounter ./...
 ...
  --- FAIL: TestCoverageSnapshot (0.00s)
      ts_test.go:102: 0.276074 0.276074
      ts_test.go:104: erroneous snapshots, C1 >= C2 = true C1=0.276074 C2=0.276074

To ensure that this doesn't happen, extract the test in question out
into a separate file with a special build tag, and then have the
original testpoint do a "go test -cover -tags ... " run to make sure
that for that specific test run the cfile package is instrumented.

Fixes #67951.

Change-Id: I8ac6e07e1a6d93275b8c6acabfce85e04c70a102
Reviewed-on: https://go-review.googlesource.com/c/go/+/592200
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: David Chase <drchase@google.com>
src/internal/coverage/cfile/snapshot_test.go [new file with mode: 0644]
src/internal/coverage/cfile/ts_test.go