bencode/fuzz_test.go | 17 +++++++++++++++++ bencode/testdata/fuzz/FuzzInterfaceRoundTrip/1d7fd8d6b4e9380abbaa373f173a59a4d4418d23d3db9af8abd3ea5412c629c5 | 2 ++ bencode/testdata/fuzz/FuzzInterfaceRoundTrip/2674fedd58e056c9322ff8ed4bd0b23e2d9080499038d4353739f5c81b05fc0a | 2 ++ bencode/testdata/fuzz/FuzzInterfaceRoundTrip/49dbd4b139383deb718477bee049320c697e6e7ae547e0a4c4ebd4c2cdd25c1b | 2 ++ diff --git a/bencode/fuzz_test.go b/bencode/fuzz_test.go index a4996df3c7093a658d66e97e1e31336ada2834a5..d0dce71f3d327af54a59aef8df71dcd219199f73 100644 --- a/bencode/fuzz_test.go +++ b/bencode/fuzz_test.go @@ -34,3 +34,20 @@ c.Assert(err, qt.IsNil) c.Assert(d0, bencodeInterfaceChecker, d) }) } + +func FuzzInterfaceRoundTrip(f *testing.F) { + for _, ret := range random_encode_tests { + f.Add([]byte(ret.expected)) + } + f.Fuzz(func(t *testing.T, b []byte) { + c := qt.New(t) + var d interface{} + err := Unmarshal(b, &d) + if err != nil { + c.Skip(err) + } + b0, err := Marshal(d) + c.Assert(err, qt.IsNil) + c.Check(b0, qt.DeepEquals, b) + }) +} diff --git a/bencode/testdata/fuzz/FuzzInterfaceRoundTrip/1d7fd8d6b4e9380abbaa373f173a59a4d4418d23d3db9af8abd3ea5412c629c5 b/bencode/testdata/fuzz/FuzzInterfaceRoundTrip/1d7fd8d6b4e9380abbaa373f173a59a4d4418d23d3db9af8abd3ea5412c629c5 new file mode 100644 index 0000000000000000000000000000000000000000..87fcc3d5ca233f466e54015b90b80e371e563341 --- /dev/null +++ b/bencode/testdata/fuzz/FuzzInterfaceRoundTrip/1d7fd8d6b4e9380abbaa373f173a59a4d4418d23d3db9af8abd3ea5412c629c5 @@ -0,0 +1,2 @@ +go test fuzz v1 +[]byte("00:") diff --git a/bencode/testdata/fuzz/FuzzInterfaceRoundTrip/2674fedd58e056c9322ff8ed4bd0b23e2d9080499038d4353739f5c81b05fc0a b/bencode/testdata/fuzz/FuzzInterfaceRoundTrip/2674fedd58e056c9322ff8ed4bd0b23e2d9080499038d4353739f5c81b05fc0a new file mode 100644 index 0000000000000000000000000000000000000000..903e02e1db36a7ae0454a3a853b1fb38a0cf7559 --- /dev/null +++ b/bencode/testdata/fuzz/FuzzInterfaceRoundTrip/2674fedd58e056c9322ff8ed4bd0b23e2d9080499038d4353739f5c81b05fc0a @@ -0,0 +1,2 @@ +go test fuzz v1 +[]byte("d3:000e") diff --git a/bencode/testdata/fuzz/FuzzInterfaceRoundTrip/49dbd4b139383deb718477bee049320c697e6e7ae547e0a4c4ebd4c2cdd25c1b b/bencode/testdata/fuzz/FuzzInterfaceRoundTrip/49dbd4b139383deb718477bee049320c697e6e7ae547e0a4c4ebd4c2cdd25c1b new file mode 100644 index 0000000000000000000000000000000000000000..b2ace7b4e1d69b0c30fed20db2c2aa8a21054680 --- /dev/null +++ b/bencode/testdata/fuzz/FuzzInterfaceRoundTrip/49dbd4b139383deb718477bee049320c697e6e7ae547e0a4c4ebd4c2cdd25c1b @@ -0,0 +1,2 @@ +go test fuzz v1 +[]byte("i00e")