diff options
Diffstat (limited to 'lib/containers/fuzzutil_test.go')
-rw-r--r-- | lib/containers/fuzzutil_test.go | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/containers/fuzzutil_test.go b/lib/containers/fuzzutil_test.go new file mode 100644 index 0000000..79459b6 --- /dev/null +++ b/lib/containers/fuzzutil_test.go @@ -0,0 +1,29 @@ +// Copyright (C) 2023 Luke Shumaker <lukeshu@lukeshu.com> +// +// SPDX-License-Identifier: GPL-2.0-or-later + +package containers + +import ( + "bytes" + "crypto/sha256" + "encoding/hex" + "fmt" + "os" + "path/filepath" + "testing" +) + +func SaveFuzz(f *testing.F, dat []byte) { + var buf bytes.Buffer + fmt.Fprintf(&buf, "go test fuzz v1\n[]byte(%q)\n", dat) + sum := sha256.Sum256(buf.Bytes()) + filename := filepath.Join( + "testdata", + "fuzz", + f.Name(), + hex.EncodeToString(sum[:])) + if err := os.WriteFile(filename, buf.Bytes(), 0o644); err != nil { + f.Error(err) + } +} |