prysm-pulse/encoding/ssz/htrutils_fuzz_test.go
terence 5a66807989
Update to V5 (#13622)
* First take at updating everything to v5

* Patch gRPC gateway to use prysm v5

Fix patch

* Update go ssz

---------

Co-authored-by: Preston Van Loon <pvanloon@offchainlabs.com>
2024-02-15 05:46:47 +00:00

55 lines
1.1 KiB
Go

//go:build go1.18
package ssz_test
import (
"testing"
"github.com/pkg/errors"
fssz "github.com/prysmaticlabs/fastssz"
"github.com/prysmaticlabs/prysm/v5/config/params"
"github.com/prysmaticlabs/prysm/v5/encoding/ssz"
pb "github.com/prysmaticlabs/prysm/v5/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)
}
})
}