]> Cypherpunks repositories - gostls13.git/commitdiff
runtime/coverage: fix problematic test from issue 59563
authorThan McIntosh <thanm@google.com>
Wed, 3 May 2023 17:40:02 +0000 (13:40 -0400)
committerGopher Robot <gobot@golang.org>
Wed, 3 May 2023 20:32:34 +0000 (20:32 +0000)
Fix up the coverage testpoint TestIssue59563TruncatedCoverPkgAll
to avoid spurious failures due to racy behavior. Specifically,
we are only interested in verifying coverage for the larger
function of the two in the test package (the smaller one is only
there to trigger additional function registrations while the
test is finalizing the cov data).

Updates #59867.
Updates #59563.

Change-Id: Ibfbbcbf68e0ad7a4d9606cbcfc69d140375c7b87
Reviewed-on: https://go-review.googlesource.com/c/go/+/492175
Run-TryBot: Than McIntosh <thanm@google.com>
Auto-Submit: Than McIntosh <thanm@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
src/runtime/coverage/emitdata_test.go

index b0bd0e5c2136d53f46e29eec0093f55da45ece2f..3558dd2d88cb180be8abb6e1b81943c3fe7ef382 100644 (file)
@@ -527,7 +527,10 @@ func TestIssue59563TruncatedCoverPkgAll(t *testing.T) {
                if len(f) == 0 {
                        continue
                }
-               if !strings.HasPrefix(f[0], "runtime/coverage/testdata/issue59563/repro.go") {
+               // We're only interested in the specific function "large" for
+               // the testcase being built. See the #59563 for details on why
+               // size matters.
+               if !(strings.HasPrefix(f[0], "runtime/coverage/testdata/issue59563/repro.go") && strings.Contains(line, "large")) {
                        continue
                }
                nfound++
@@ -537,8 +540,8 @@ func TestIssue59563TruncatedCoverPkgAll(t *testing.T) {
                        bad = true
                }
        }
-       if nfound != 2 {
-               t.Errorf("wanted 2 found, got %d\n", nfound)
+       if nfound != 1 {
+               t.Errorf("wanted 1 found, got %d\n", nfound)
                bad = true
        }
        if bad {