Skip to content

Commit e8c7f5f

Browse files
committed
Added another fuzzer
1 parent af52008 commit e8c7f5f

File tree

3 files changed

+73
-8
lines changed

3 files changed

+73
-8
lines changed

fuzzer_test.go

+70
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@
77
package semver
88

99
import (
10+
"cmp"
11+
"fmt"
1012
"testing"
13+
14+
"github.com/stretchr/testify/require"
1115
)
1216

1317
func FuzzParser(f *testing.F) {
@@ -149,3 +153,69 @@ func FuzzParser(f *testing.F) {
149153
}
150154
})
151155
}
156+
157+
func FuzzComparators(f *testing.F) {
158+
f.Add("1.2.4", "0.0.1-rc.0")
159+
f.Add("1.3.0-rc.0+build", "0.0.1-rc.0+build")
160+
f.Add("1.3.0", "0.0.1-rc.1")
161+
f.Add("1.3.0+build", "0.0.1")
162+
f.Add("0.0.1+build", "0.0.1-rc.0")
163+
f.Add("0.0.2-rc.1", "0.0.1-rc.0+build")
164+
f.Add("0.0.2-rc.1+build", "0.0.1-rc.1")
165+
f.Add("0.0.2", "0.0.1")
166+
f.Add("0.0.2+build", "0.0.1+build")
167+
f.Add("0.0.3-rc.1", "0.0.2-rc.1")
168+
f.Add("0.0.3-rc.2", "0.0.2-rc.1+build")
169+
f.Add("0.0.3", "0.0.2")
170+
f.Add("0.1.0", "0.0.2+build")
171+
f.Add("0.3.3-rc.0", "0.0.3-rc.1")
172+
f.Add("0.3.3-rc.1", "0.0.3-rc.2")
173+
f.Add("0.3.3", "0.0.3")
174+
f.Add("0.3.3+build", "0.1.0")
175+
f.Add("0.3.4-rc.1", "0.3.3-rc.0")
176+
f.Add("0.3.4", "0.3.3-rc.1")
177+
f.Add("0.4.0", "0.3.3")
178+
f.Add("1.0.0-rc", "0.3.3+build")
179+
f.Add("1.0.0", "0.3.4-rc.1")
180+
f.Add("1.0.0+build", "0.3.4")
181+
f.Add("1.2.1-rc", "0.4.0")
182+
f.Add("1.2.1", "1.0.0-rc")
183+
f.Add("1.2.1+build", "1.0.0")
184+
f.Add("1.2.3-rc.2", "1.0.0+build")
185+
f.Add("1.2.3-rc.2+build", "1.2.1-rc")
186+
f.Add("1.2.3", "1.2.1")
187+
f.Add("1.2.3+build", "1.2.1+build")
188+
f.Add("1.2.4", "1.2.3-rc.2")
189+
f.Add("1.3.0-rc.0+build", "1.2.3-rc.2+build")
190+
f.Add("1.3.0", "1.2.3")
191+
f.Add("1.3.0+build", "1.2.3+build")
192+
f.Add("1.3.1-rc.0", "1.2.4")
193+
f.Add("1.3.1-rc.1", "1.3.0-rc.0+build")
194+
f.Add("1.3.1", "1.3.0")
195+
f.Add("1.3.5", "1.3.0+build")
196+
f.Add("2.0.0-rc", "1.3.1-rc.0")
197+
f.Add("2.0.0-rc+build", "1.3.1-rc.1")
198+
f.Add("2.0.0", "1.3.1")
199+
f.Add("2.0.0+build", "1.3.5")
200+
f.Add("2.1.0-rc", "2.0.0-rc")
201+
f.Add("2.1.0-rc+build", "2.0.0-rc+build")
202+
f.Add("2.1.0", "2.0.0")
203+
f.Add("2.1.0+build", "2.0.0+build")
204+
f.Add("2.1.3-rc", "2.1.0-rc")
205+
f.Add("2.1.3", "2.1.0-rc+build")
206+
f.Add("2.3.0", "2.1.0")
207+
f.Add("2.3.1", "2.1.0+build")
208+
f.Add("3.0.0", "2.1.3-rc")
209+
f.Fuzz(func(t *testing.T, a, b string) {
210+
va, err := Parse(a)
211+
if err != nil {
212+
return
213+
}
214+
vb, err := Parse(b)
215+
if err != nil {
216+
return
217+
}
218+
fmt.Println(va.SortableString(), vb.SortableString())
219+
require.Equal(t, va.CompareTo(vb), cmp.Compare(va.SortableString(), vb.SortableString()), "Comparing: %s and %s", a, b)
220+
})
221+
}

go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module go.bug.st/relaxed-semver
33
go 1.21
44

55
require (
6-
github.com/stretchr/testify v1.7.1
6+
github.com/stretchr/testify v1.8.4
77
gopkg.in/yaml.v3 v3.0.1
88
)
99

go.sum

+2-7
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,10 @@
1-
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
21
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
32
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
43
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
54
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
6-
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
7-
github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY=
8-
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
5+
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
6+
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
97
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
108
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
11-
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
12-
gopkg.in/yaml.v3 v3.0.0 h1:hjy8E9ON/egN1tAYqKb61G10WtihqetD4sz2H+8nIeA=
13-
gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
149
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
1510
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

0 commit comments

Comments
 (0)