]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Fix fuzz comparison of big.Int
authorMatt Joiner <anacrolix@gmail.com>
Wed, 29 Sep 2021 02:11:17 +0000 (12:11 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Wed, 29 Sep 2021 02:11:17 +0000 (12:11 +1000)
bencode/fuzz_test.go
bencode/testdata/fuzz/Fuzz/65cfcaf31066e15825ace0f8e03701b8729a159063a9ca0884df18a5c9499715 [new file with mode: 0644]

index 57c18eed188c7e597381b14181e447f4aff02b2e..35b841d25486637c92d4e824360e210866eef8fd 100644 (file)
@@ -3,11 +3,17 @@
 package bencode
 
 import (
+       "math/big"
        "testing"
 
        qt "github.com/frankban/quicktest"
+       "github.com/google/go-cmp/cmp"
 )
 
+var bencodeInterfaceChecker = qt.CmpEquals(cmp.Comparer(func(a, b *big.Int) bool {
+       return a.Cmp(b) == 0
+}))
+
 func Fuzz(f *testing.F) {
        f.Fuzz(func(t *testing.T, b []byte) {
                c := qt.New(t)
@@ -21,6 +27,6 @@ func Fuzz(f *testing.F) {
                var d0 interface{}
                err = Unmarshal(b0, &d0)
                c.Assert(err, qt.IsNil)
-               c.Assert(d0, qt.DeepEquals, d)
+               c.Assert(d0, bencodeInterfaceChecker, d)
        })
 }
diff --git a/bencode/testdata/fuzz/Fuzz/65cfcaf31066e15825ace0f8e03701b8729a159063a9ca0884df18a5c9499715 b/bencode/testdata/fuzz/Fuzz/65cfcaf31066e15825ace0f8e03701b8729a159063a9ca0884df18a5c9499715
new file mode 100644 (file)
index 0000000..127ed5f
--- /dev/null
@@ -0,0 +1,2 @@
+go test fuzz v1
+[]byte("i62208002200000000:00{݃y\u007f m.\x16\t\fZL\x18'\xad\xe7\xc4e")