]> Cypherpunks repositories - gostls13.git/commitdiff
internal/fuzz: write shorter testdata corpus file names
authorRuss Cox <rsc@golang.org>
Mon, 17 Oct 2022 13:29:05 +0000 (09:29 -0400)
committerGopher Robot <gobot@golang.org>
Mon, 17 Oct 2022 18:38:43 +0000 (18:38 +0000)
The only purpose of using the SHA256 in the file name is
collision avoidance. Using just the first 64 bits (16 hex digits)
will be more than enough, unless people start storing billions
of test cases in their corpora.

The shorter names are nicer for just about everything:
command lines, repository listings, and so on.

Change-Id: I67c760023bed85ba3ffd4f8058f86ef778322ba7
Reviewed-on: https://go-review.googlesource.com/c/go/+/443335
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Russ Cox <rsc@golang.org>
Reviewed-by: Peter Weinberger <pjw@google.com>
Run-TryBot: Russ Cox <rsc@golang.org>

src/internal/fuzz/fuzz.go

index f3f0d95469312747f36dabb202ce4baf178349f6..d0eb92dd9f8a6519dcd978a12b54d65dd7f2a1c2 100644 (file)
@@ -1032,7 +1032,7 @@ func CheckCorpus(vals []any, types []reflect.Type) error {
 // writeToCorpus will not rewrite it. writeToCorpus sets entry.Path to the new
 // file that was just written or an error if it failed.
 func writeToCorpus(entry *CorpusEntry, dir string) (err error) {
-       sum := fmt.Sprintf("%x", sha256.Sum256(entry.Data))
+       sum := fmt.Sprintf("%x", sha256.Sum256(entry.Data))[:16]
        entry.Path = filepath.Join(dir, sum)
        if err := os.MkdirAll(dir, 0777); err != nil {
                return err