github.com/prysmaticlabs/prysm@v1.4.4/beacon-chain/core/state/state_fuzz_test.go (about) 1 package state 2 3 import ( 4 "context" 5 "testing" 6 7 fuzz "github.com/google/gofuzz" 8 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1" 9 ethpb "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1" 10 ) 11 12 func TestGenesisBeaconState_1000(t *testing.T) { 13 SkipSlotCache.Disable() 14 defer SkipSlotCache.Enable() 15 fuzzer := fuzz.NewWithSeed(0) 16 fuzzer.NilChance(0.1) 17 deposits := make([]*ethpb.Deposit, 300000) 18 var genesisTime uint64 19 eth1Data := ðpb.Eth1Data{} 20 for i := 0; i < 1000; i++ { 21 fuzzer.Fuzz(&deposits) 22 fuzzer.Fuzz(&genesisTime) 23 fuzzer.Fuzz(eth1Data) 24 gs, err := GenesisBeaconState(context.Background(), deposits, genesisTime, eth1Data) 25 if err != nil { 26 if gs != nil { 27 t.Fatalf("Genesis state should be nil on err. found: %v on error: %v for inputs deposit: %v "+ 28 "genesis time: %v eth1data: %v", gs, err, deposits, genesisTime, eth1Data) 29 } 30 } 31 } 32 } 33 34 func TestOptimizedGenesisBeaconState_1000(t *testing.T) { 35 SkipSlotCache.Disable() 36 defer SkipSlotCache.Enable() 37 fuzzer := fuzz.NewWithSeed(0) 38 fuzzer.NilChance(0.1) 39 var genesisTime uint64 40 preState := &v1.BeaconState{} 41 eth1Data := ðpb.Eth1Data{} 42 for i := 0; i < 1000; i++ { 43 fuzzer.Fuzz(&genesisTime) 44 fuzzer.Fuzz(eth1Data) 45 fuzzer.Fuzz(preState) 46 gs, err := OptimizedGenesisBeaconState(genesisTime, preState, eth1Data) 47 if err != nil { 48 if gs != nil { 49 t.Fatalf("Genesis state should be nil on err. found: %v on error: %v for inputs genesis time: %v "+ 50 "pre state: %v eth1data: %v", gs, err, genesisTime, preState, eth1Data) 51 } 52 } 53 } 54 } 55 56 func TestIsValidGenesisState_100000(t *testing.T) { 57 SkipSlotCache.Disable() 58 defer SkipSlotCache.Enable() 59 fuzzer := fuzz.NewWithSeed(0) 60 fuzzer.NilChance(0.1) 61 var chainStartDepositCount, currentTime uint64 62 for i := 0; i < 100000; i++ { 63 fuzzer.Fuzz(&chainStartDepositCount) 64 fuzzer.Fuzz(¤tTime) 65 IsValidGenesisState(chainStartDepositCount, currentTime) 66 } 67 }