package etchosts import ( "os" "path/filepath" "testing" fuzz "github.com/AdaLogics/go-fuzz-headers" ) func FuzzAdd(f *testing.F) { f.Fuzz(func(t *testing.T, data []byte) { ff := fuzz.NewConsumer(data) fileBytes, err := ff.GetBytes() if err != nil { return } noOfRecords, err := ff.GetInt() if err != nil { return } recs := make([]Record, 0) for i := 0; i < noOfRecords%40; i++ { r := Record{} err = ff.GenerateStruct(&r) if err != nil { return } recs = append(recs, r) } tmpDir := t.TempDir() testFile := filepath.Join(tmpDir, "testFile") err = os.WriteFile(testFile, fileBytes, 0o644) if err != nil { return } _ = Add(testFile, recs) }) }