2021-08-17 13:32:05 +00:00
|
|
|
//go:build gofuzz
|
2016-11-17 16:51:59 +01:00
|
|
|
|
|
|
|
|
package cid
|
|
|
|
|
|
|
|
|
|
func Fuzz(data []byte) int {
|
|
|
|
|
cid, err := Cast(data)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_ = cid.Bytes()
|
2016-11-17 18:27:01 +01:00
|
|
|
_ = cid.String()
|
2016-11-17 19:03:01 +01:00
|
|
|
p := cid.Prefix()
|
|
|
|
|
_ = p.Bytes()
|
2016-11-17 18:27:01 +01:00
|
|
|
|
2016-11-17 16:51:59 +01:00
|
|
|
if !cid.Equals(cid) {
|
|
|
|
|
panic("inequality")
|
|
|
|
|
}
|
2016-11-17 18:27:01 +01:00
|
|
|
|
|
|
|
|
// json loop
|
|
|
|
|
json, err := cid.MarshalJSON()
|
|
|
|
|
if err != nil {
|
|
|
|
|
panic(err.Error())
|
|
|
|
|
}
|
2018-05-03 15:12:25 +02:00
|
|
|
cid2 := Cid{}
|
2016-11-17 18:27:01 +01:00
|
|
|
err = cid2.UnmarshalJSON(json)
|
|
|
|
|
if err != nil {
|
|
|
|
|
panic(err.Error())
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if !cid.Equals(cid2) {
|
|
|
|
|
panic("json loop not equal")
|
|
|
|
|
}
|
2016-11-17 19:03:01 +01:00
|
|
|
|
2016-11-17 16:51:59 +01:00
|
|
|
return 1
|
|
|
|
|
}
|