package state import ( "sync" "testing" pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" ) func TestBeaconState_SlotDataRace(t *testing.T) { headState, err := InitializeFromProto(&pb.BeaconState{Slot: 1}) if err != nil { t.Fatal(err) } wg := sync.WaitGroup{} wg.Add(2) go func() { if err := headState.SetSlot(uint64(0)); err != nil { t.Fatal(err) } wg.Done() }() go func() { headState.Slot() wg.Done() }() wg.Wait() } func TestNilState_NoPanic(t *testing.T) { var st *BeaconState defer func() { if r := recover(); r != nil { t.Errorf("Method panicked when it was not supposed to: %v", r) } }() // retrieve elements from nil state _ = st.GenesisValidatorRoot() _ = st.Eth1Data() }