package blockchain import ( "context" "io" "testing" testDB "github.com/prysmaticlabs/prysm/beacon-chain/db/testing" "github.com/prysmaticlabs/prysm/consensus-types/wrapper" "github.com/prysmaticlabs/prysm/testing/require" "github.com/prysmaticlabs/prysm/testing/util" "github.com/sirupsen/logrus" ) func init() { logrus.SetLevel(logrus.DebugLevel) logrus.SetOutput(io.Discard) } func TestChainService_SaveHead_DataRace(t *testing.T) { beaconDB := testDB.SetupDB(t) s := &Service{ cfg: &config{BeaconDB: beaconDB}, } b, err := wrapper.WrappedSignedBeaconBlock(util.NewBeaconBlock()) st, _ := util.DeterministicGenesisState(t, 1) require.NoError(t, err) go func() { require.NoError(t, s.saveHead(context.Background(), [32]byte{}, b, st)) }() require.NoError(t, s.saveHead(context.Background(), [32]byte{}, b, st)) }