mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-08 23:18:15 -05:00
go 1.18 fuzz tests: initial testing (#10063)
* 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>
This commit is contained in:
55
encoding/ssz/htrutils_fuzz_test.go
Normal file
55
encoding/ssz/htrutils_fuzz_test.go
Normal file
@@ -0,0 +1,55 @@
|
||||
//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)
|
||||
}
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user