prysm-pulse/encoding/ssz/htrutils_fuzz_test.go
terencechain d17996f8b0
Update to V4 🚀 (#12134)
* Update V3 from V4

* Fix build v3 -> v4

* Update ssz

* Update beacon_chain.pb.go

* Fix formatter import

* Update update-mockgen.sh comment to v4

* Fix conflicts. Pass build and tests

* Fix test
2023-03-17 18:52:56 +00:00

55 lines
1.1 KiB
Go

//go:build fuzz && go1.18
package ssz_test
import (
"testing"
"github.com/pkg/errors"
fssz "github.com/prysmaticlabs/fastssz"
"github.com/prysmaticlabs/prysm/v4/config/params"
"github.com/prysmaticlabs/prysm/v4/encoding/ssz"
pb "github.com/prysmaticlabs/prysm/v4/proto/prysm/v1alpha1"
)
func FuzzUint64Root(f *testing.F) {
f.Fuzz(func(t *testing.T, i uint64) {
_ = ssz.Uint64Root(i)
})
}
func FuzzForkRoot(f *testing.F) {
frk := &pb.Fork{
PreviousVersion: params.BeaconConfig().GenesisForkVersion,
CurrentVersion: params.BeaconConfig().AltairForkVersion,
Epoch: 100,
}
example, err := frk.MarshalSSZ()
if err != nil {
f.Fatal(err)
}
f.Add(example)
f.Fuzz(func(t *testing.T, b []byte) {
frk := &pb.Fork{}
if err := frk.UnmarshalSSZ(b); err != nil {
if errors.Is(err, fssz.ErrSize) {
return
}
t.Fatal(err)
}
if _, err := ssz.ForkRoot(frk); err != nil {
t.Fatal(err)
}
})
}
func FuzzPackChunks(f *testing.F) {
f.Fuzz(func(t *testing.T, b []byte) {
if _, err := ssz.PackByChunk([][]byte{b}); err != nil {
t.Fatal(err)
}
})
}