[!fuzz] skip
[short] skip
env GOCACHE=$WORK/cache

# 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)
		}
	}
}