]> Cypherpunks.ru repositories - gostls13.git/blobdiff - src/internal/zstd/xxhash_test.go
internal/zstd: use dynamic path resolution for xxhsum in FuzzXXHash
[gostls13.git] / src / internal / zstd / xxhash_test.go
index 646cee888a5c7c2439a015804560b81ce1e1f40c..68ca558c5fd9fe17ab7d9706b419d4bd25479f40 100644 (file)
@@ -42,7 +42,11 @@ func TestLargeXXHash(t *testing.T) {
                t.Skip("skipping expensive test in short mode")
        }
 
-       data := bigData(t)
+       data, err := os.ReadFile("../../testdata/Isaac.Newton-Opticks.txt")
+       if err != nil {
+               t.Fatal(err)
+       }
+
        var xh xxhash64
        xh.reset()
        i := 0
@@ -63,10 +67,16 @@ func TestLargeXXHash(t *testing.T) {
        }
 }
 
-func FuzzXXHash(f *testing.F) {
-       if _, err := os.Stat("/usr/bin/xxhsum"); err != nil {
-               f.Skip("skipping because /usr/bin/xxhsum does not exist")
+func findXxhsum(t testing.TB) string {
+       xxhsum, err := exec.LookPath("xxhsum")
+       if err != nil {
+               t.Skip("skipping because xxhsum not found")
        }
+       return xxhsum
+}
+
+func FuzzXXHash(f *testing.F) {
+       xxhsum := findXxhsum(f)
 
        for _, test := range xxHashTests {
                f.Add([]byte(test.data))
@@ -80,7 +90,7 @@ func FuzzXXHash(f *testing.F) {
        f.Add(bigData(f))
 
        f.Fuzz(func(t *testing.T, b []byte) {
-               cmd := exec.Command("/usr/bin/xxhsum", "-H64")
+               cmd := exec.Command(xxhsum, "-H64")
                cmd.Stdin = bytes.NewReader(b)
                var hhsumHash bytes.Buffer
                cmd.Stdout = &hhsumHash