Skip to content

Commit f242a58

Browse files
committed
Add more fuzzing
Signed-off-by: Alexey Palazhchenko <[email protected]>
1 parent 921d762 commit f242a58

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

reverse_fuzz.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// +build gofuzz
2+
3+
package pb_fuzz_workshop
4+
5+
import (
6+
"encoding/json"
7+
"reflect"
8+
)
9+
10+
func Fuzz(b []byte) int {
11+
var s []int
12+
if err := json.Unmarshal(b, &s); err != nil {
13+
return 0
14+
}
15+
16+
if reflect.DeepEqual(Reverse(s), s) {
17+
return 0
18+
}
19+
20+
if !reflect.DeepEqual(Reverse(Reverse(s)), s) {
21+
panic("not equal")
22+
}
23+
24+
return 1
25+
}

reverse_fuzz_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package pb_fuzz_workshop
22

33
import (
44
"encoding/json"
5+
"reflect"
56
"testing"
67

78
"github.com/stretchr/testify/require"
@@ -12,6 +13,7 @@ func FuzzReverse(f *testing.F) {
1213
nil,
1314
{},
1415
{1},
16+
{1, 1},
1517
{1, 2},
1618
{1, 2, 3},
1719
} {
@@ -28,6 +30,10 @@ func FuzzReverse(f *testing.F) {
2830
t.Skip(err)
2931
}
3032

33+
if reflect.DeepEqual(Reverse(s), s) {
34+
t.Skip()
35+
}
36+
3137
require.Equal(t, s, Reverse(Reverse(s)))
3238
require.Equal(t, s, NotReverse(s))
3339
})

0 commit comments

Comments
 (0)