[!fuzz] skip [short] skip # This test checks that cached corpus loading properly handles duplicate entries (this can # happen when a f.Add value has a duplicate entry in the cached corpus.) Duplicate entries # should be discarded, and the rest of the cache should be loaded as normal. env GOCACHE=$WORK/cache env GODEBUG=fuzzdebug=1 mkdir -p $GOCACHE/fuzz/fuzztest/FuzzTarget go run ./populate $GOCACHE/fuzz/fuzztest/FuzzTarget go test -fuzz=FuzzTarget -fuzztime=10x . stdout 'entries: 5' -- go.mod -- module fuzztest go 1.17 -- fuzz_test.go -- package fuzz import "testing" func FuzzTarget(f *testing.F) { f.Add(int(0)) f.Fuzz(func(t *testing.T, _ int) {}) } -- populate/main.go -- package main import ( "path/filepath" "fmt" "os" ) func main() { for i := 0; i < 10; i++ { b := byte(0) if i > 5 { b = byte(i) } tmpl := "go test fuzz v1\nint(%d)\n" if err := os.WriteFile(filepath.Join(os.Args[1], fmt.Sprint(i)), []byte(fmt.Sprintf(tmpl, b)), 0777); err != nil { panic(err) } } }