"(\xb5/\xfd\x1002000$\x05\x0010\xcc0\xa8100000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"(\xb5/\xfd\x1002000$\x05\x0000\xcc0\xa8100d\x0000001000000000000000000000000000000000000000000000000000000000000000000000000\x000000000000000000000000000000000000000000000000000000000000000000000000000000",
"(\xb5/\xfd001\x00\x0000000000000000000",
+ "(\xb5/\xfd00\xec\x00\x00&@\x05\x05A7002\x02\x00\x02\x00\x02\x0000000000000000",
+ "(\xb5/\xfd00\xec\x00\x00V@\x05\x0517002\x02\x00\x02\x00\x02\x0000000000000000",
}
// This is a simple fuzzer to see if the decompressor panics.
// explore the space of decompressor behavior, since it can't see
// what the compressor is doing. But it's better than nothing.
func FuzzDecompressor(f *testing.F) {
- if _, err := os.Stat("/usr/bin/zstd"); err != nil {
- f.Skip("skipping because /usr/bin/zstd does not exist")
- }
+ zstd := findZstd(f)
for _, test := range tests {
f.Add([]byte(test.uncompressed))
f.Add(bigData(f))
f.Fuzz(func(t *testing.T, b []byte) {
- cmd := exec.Command("/usr/bin/zstd", "-z")
+ cmd := exec.Command(zstd, "-z")
cmd.Stdin = bytes.NewReader(b)
var compressed bytes.Buffer
cmd.Stdout = &compressed
// Fuzz test to check that if we can decompress some data,
// so can zstd, and that we get the same result.
func FuzzReverse(f *testing.F) {
- if _, err := os.Stat("/usr/bin/zstd"); err != nil {
- f.Skip("skipping because /usr/bin/zstd does not exist")
- }
+ zstd := findZstd(f)
for _, test := range tests {
f.Add([]byte(test.compressed))
r := NewReader(bytes.NewReader(b))
goExp, goErr := io.ReadAll(r)
- cmd := exec.Command("/usr/bin/zstd", "-d")
+ cmd := exec.Command(zstd, "-d")
cmd.Stdin = bytes.NewReader(b)
var uncompressed bytes.Buffer
cmd.Stdout = &uncompressed