mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-23 11:57:18 +00:00
58733a9f40
* Add basic fuzz test * Add a few tests for HTR utils * gofmt * Add requirement for fuzz gotag * Run gaz and fix tags * Update pubsub_fuzz_test.go I'll fix this later Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
56 lines
1.1 KiB
Go
56 lines
1.1 KiB
Go
//go:build fuzz && go1.18
|
|
// +build fuzz,go1.18
|
|
|
|
package ssz_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
fssz "github.com/ferranbt/fastssz"
|
|
"github.com/pkg/errors"
|
|
"github.com/prysmaticlabs/prysm/config/params"
|
|
"github.com/prysmaticlabs/prysm/encoding/ssz"
|
|
pb "github.com/prysmaticlabs/prysm/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.PackChunks(b); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
})
|
|
}
|