aboutsummaryrefslogtreecommitdiff
path: root/src/testing
diff options
context:
space:
mode:
authorRoland Shoemaker <roland@golang.org>2022-01-07 12:18:30 -0800
committerRoland Shoemaker <roland@golang.org>2022-01-10 21:48:09 +0000
commit1f411e9b6d8849014653c89a9df77b8aadd082e6 (patch)
tree53ed960c82bb3f446596b6d17e2167faf1cca965 /src/testing
parent8b9b365493220a7bfd87fd3c27301e43baa35a0d (diff)
downloadgo-1f411e9b6d8849014653c89a9df77b8aadd082e6.tar.gz
go-1f411e9b6d8849014653c89a9df77b8aadd082e6.zip
testing: only snapshot coverage during fuzzing
Only snapshot/reset coverage counters when we are actually fuzzing. This prevents a race when running corpus/seed values during the testing phase. Fixes #50488 Change-Id: I7dd5a0353a296c0b13eede29ad9af7c78814fa2d Reviewed-on: https://go-review.googlesource.com/c/go/+/376554 Trust: Katie Hockman <katie@golang.org> Reviewed-by: Katie Hockman <katie@golang.org> Trust: Roland Shoemaker <roland@golang.org> Run-TryBot: Roland Shoemaker <roland@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org>
Diffstat (limited to 'src/testing')
-rw-r--r--src/testing/fuzz.go6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/testing/fuzz.go b/src/testing/fuzz.go
index 037d531acf..e1d7544f7a 100644
--- a/src/testing/fuzz.go
+++ b/src/testing/fuzz.go
@@ -327,8 +327,10 @@ func (f *F) Fuzz(ff any) {
// we make sure it is called right before the tRunner function
// exits, regardless of whether it was executed cleanly, panicked,
// or if the fuzzFn called t.Fatal.
- defer f.fuzzContext.deps.SnapshotCoverage()
- f.fuzzContext.deps.ResetCoverage()
+ if f.testContext.isFuzzing {
+ defer f.fuzzContext.deps.SnapshotCoverage()
+ f.fuzzContext.deps.ResetCoverage()
+ }
fn.Call(args)
})
<-t.signal