//go:build gofuzz // +build gofuzz /* Fuzz test the Parse function Generate corpus go test -v -make-corpus Install go fuzz go get -u github.com/dvyukov/go-fuzz/go-fuzz github.com/dvyukov/go-fuzz/go-fuzz-build Compile and fuzz go-fuzz-build go-fuzz Tidy up rm -rf corpus/ crashers/ suppressions/ git co ../../go.mod ../../go.sum */ package fspath func Fuzz(data []byte) int { path := string(data) parsed, err := Parse(path) if err != nil { return 0 } if parsed.Name == "" { if parsed.ConfigString != "" { panic("bad ConfigString") } if parsed.Path != path { panic("local path not preserved") } } else { if parsed.ConfigString+":"+parsed.Path != path { panic("didn't split properly") } } return 0 }