blob: 01217aed527d90e72c44dc35934d796b0206abe5 [file] [log] [blame]
[!fuzz] skip
[short] skip
env GOCACHE=$WORK/cache
# FuzzA attempts to cause the mutator to create duplicate inputs that generate
# new coverage. Previously this would trigger a corner case when the fuzzer
# had a execution limit, causing it to deadlock and sit in the coordinator
# loop indefinitely, failing to exit once the limit had been exhausted.
go test -fuzz=FuzzA -fuzztime=100x -parallel=1
-- go.mod --
module m
go 1.16
-- fuzz_test.go --
package fuzz_test
import (
"fmt"
"testing"
)
func FuzzA(f *testing.F) {
f.Add([]byte("seed"))
i := 0
f.Fuzz(func(t *testing.T, b []byte) {
i++
if string(b) == "seed" {
if i == 0 {
fmt.Println("a")
} else if i > 1 {
fmt.Println("b")
}
}
})
}