Skip to content

Commit 9c478dc

Browse files
authored
Merge pull request #205 from AdamKorcz/master
Added max coverage to fuzzer
2 parents 277c1bf + 8dad4bb commit 9c478dc

File tree

1 file changed

+108
-0
lines changed

1 file changed

+108
-0
lines changed

fuzz.go

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,111 @@ func FuzzParseString(data []byte) int {
77
}
88
return 1
99
}
10+
11+
func FuzzEachKey(data []byte) int {
12+
paths := [][]string{
13+
{"name"},
14+
{"order"},
15+
{"nested", "a"},
16+
{"nested", "b"},
17+
{"nested2", "a"},
18+
{"nested", "nested3", "b"},
19+
{"arr", "[1]", "b"},
20+
{"arrInt", "[3]"},
21+
{"arrInt", "[5]"},
22+
{"nested"},
23+
{"arr", "["},
24+
{"a\n", "b\n"},
25+
}
26+
EachKey(data, func(idx int, value []byte, vt ValueType, err error) {}, paths...)
27+
return 1
28+
}
29+
30+
func FuzzDelete(data []byte) int {
31+
Delete(data, "test")
32+
return 1
33+
}
34+
35+
func FuzzSet(data []byte) int {
36+
_, err := Set(data, []byte(`"new value"`), "test")
37+
if err != nil {
38+
return 0
39+
}
40+
return 1
41+
}
42+
43+
func FuzzObjectEach(data []byte) int {
44+
_ = ObjectEach(data, func(key, value []byte, valueType ValueType, off int) error {
45+
return nil
46+
})
47+
return 1
48+
}
49+
50+
func FuzzParseFloat(data []byte) int {
51+
_, err := ParseFloat(data)
52+
if err != nil {
53+
return 0
54+
}
55+
return 1
56+
}
57+
58+
func FuzzParseInt(data []byte) int {
59+
_, err := ParseInt(data)
60+
if err != nil {
61+
return 0
62+
}
63+
return 1
64+
}
65+
66+
func FuzzParseBool(data []byte) int {
67+
_, err := ParseBoolean(data)
68+
if err != nil {
69+
return 0
70+
}
71+
return 1
72+
}
73+
74+
func FuzzTokenStart(data []byte) int {
75+
_ = tokenStart(data)
76+
return 1
77+
}
78+
79+
func FuzzGetString(data []byte) int {
80+
_, err := GetString(data, "test")
81+
if err != nil {
82+
return 0
83+
}
84+
return 1
85+
}
86+
87+
func FuzzGetFloat(data []byte) int {
88+
_, err := GetFloat(data, "test")
89+
if err != nil {
90+
return 0
91+
}
92+
return 1
93+
}
94+
95+
func FuzzGetInt(data []byte) int {
96+
_, err := GetInt(data, "test")
97+
if err != nil {
98+
return 0
99+
}
100+
return 1
101+
}
102+
103+
func FuzzGetBoolean(data []byte) int {
104+
_, err := GetBoolean(data, "test")
105+
if err != nil {
106+
return 0
107+
}
108+
return 1
109+
}
110+
111+
func FuzzGetUnsafeString(data []byte) int {
112+
_, err := GetUnsafeString(data, "test")
113+
if err != nil {
114+
return 0
115+
}
116+
return 1
117+
}

0 commit comments

Comments
 (0)