]> Sergey Matveev's repositories - btrtrc.git/blob - bencode/fuzz_test.go
Update fuzz to use new standard library support
[btrtrc.git] / bencode / fuzz_test.go
1 //go:build go1.18
2
3 package bencode
4
5 import (
6         "testing"
7
8         qt "github.com/frankban/quicktest"
9 )
10
11 func Fuzz(f *testing.F) {
12         f.Fuzz(func(t *testing.T, b []byte) {
13                 c := qt.New(t)
14                 var d interface{}
15                 err := Unmarshal(b, &d)
16                 if err != nil {
17                         t.Skip()
18                 }
19                 b0, err := Marshal(d)
20                 c.Assert(err, qt.IsNil)
21                 var d0 interface{}
22                 err = Unmarshal(b0, &d0)
23                 c.Assert(err, qt.IsNil)
24                 c.Assert(d0, qt.DeepEquals, d)
25         })
26 }