Core pkg: properly return errs (#7246)

* Return errs instead of nils

* Update a few more tests

Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
This commit is contained in:
terence tsao 2020-09-15 20:55:57 -07:00 committed by GitHub
parent ee4ebe4c38
commit b0917db4c7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 21 additions and 13 deletions

View File

@ -350,7 +350,7 @@ func UpdateCommitteeCache(state *stateTrie.BeaconState, epoch uint64) error {
func UpdateProposerIndicesInCache(state *stateTrie.BeaconState, epoch uint64) error {
indices, err := ActiveValidatorIndices(state, epoch)
if err != nil {
return nil
return err
}
proposerIndices, err := precomputeProposerIndices(state, indices)
if err != nil {

View File

@ -628,3 +628,9 @@ func TestPrecomputeProposerIndices_Ok(t *testing.T) {
}
assert.DeepEqual(t, wantedProposerIndices, proposerIndices, "Did not precompute proposer indices correctly")
}
func TestUpdateProposerIndicesInCache_CouldNotGetActiveIndices(t *testing.T) {
err := UpdateProposerIndicesInCache(&beaconstate.BeaconState{}, 0)
want := "nil inner state"
require.ErrorContains(t, want, err)
}

View File

@ -246,7 +246,7 @@ func computeForkDataRoot(version []byte, root []byte) ([32]byte, error) {
func ComputeForkDigest(version []byte, genesisValidatorsRoot []byte) ([4]byte, error) {
dataRoot, err := computeForkDataRoot(version, genesisValidatorsRoot)
if err != nil {
return [4]byte{}, nil
return [4]byte{}, err
}
return bytesutil.ToBytes4(dataRoot[:]), nil
}

View File

@ -250,7 +250,7 @@ func ComputeProposerIndex(bState *stateTrie.BeaconState, activeIndices []uint64,
randomByte := hashFunc(b)[i%32]
v, err := bState.ValidatorAtIndexReadOnly(candidateIndex)
if err != nil {
return 0, nil
return 0, err
}
effectiveBal := v.EffectiveBalance()

View File

@ -228,7 +228,7 @@ func (kv *Store) saveArchivedInfo(ctx context.Context,
lastBlocksRoot, err := blocks[len(blocks)-1].Block.HashTreeRoot()
if err != nil {
return nil
return err
}
if err := kv.SaveState(ctx, currentState, lastBlocksRoot); err != nil {
return err

View File

@ -10,6 +10,7 @@ import (
"time"
pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/ethereum/go-ethereum/p2p/discover"
"github.com/gogo/protobuf/proto"
@ -41,7 +42,7 @@ func TestService_Broadcast(t *testing.T) {
joinedTopics: map[string]*pubsub.Topic{},
cfg: &Config{},
genesisTime: time.Now(),
genesisValidatorsRoot: []byte{'A'},
genesisValidatorsRoot: bytesutil.PadTo([]byte{'A'}, 32),
}
msg := &testpb.TestSimpleMessage{
@ -90,7 +91,7 @@ func TestService_Broadcast(t *testing.T) {
func TestService_Broadcast_ReturnsErr_TopicNotMapped(t *testing.T) {
p := Service{
genesisTime: time.Now(),
genesisValidatorsRoot: []byte{'A'},
genesisValidatorsRoot: bytesutil.PadTo([]byte{'A'}, 32),
}
assert.ErrorContains(t, ErrMessageNotMapped.Error(), p.Broadcast(context.Background(), &testpb.AddressBook{}))
}
@ -152,7 +153,7 @@ func TestService_BroadcastAttestation(t *testing.T) {
joinedTopics: map[string]*pubsub.Topic{},
cfg: &Config{},
genesisTime: time.Now(),
genesisValidatorsRoot: []byte{'A'},
genesisValidatorsRoot: bytesutil.PadTo([]byte{'A'}, 32),
subnetsLock: make(map[uint64]*sync.RWMutex),
subnetsLockLock: sync.Mutex{},
peers: peers.NewStatus(context.Background(), &peers.StatusConfig{
@ -317,7 +318,7 @@ func TestService_BroadcastAttestationWithDiscoveryAttempts(t *testing.T) {
joinedTopics: map[string]*pubsub.Topic{},
cfg: &Config{},
genesisTime: time.Now(),
genesisValidatorsRoot: []byte{'A'},
genesisValidatorsRoot: bytesutil.PadTo([]byte{'A'}, 32),
subnetsLock: make(map[uint64]*sync.RWMutex),
subnetsLockLock: sync.Mutex{},
peers: peers.NewStatus(context.Background(), &peers.StatusConfig{
@ -332,7 +333,7 @@ func TestService_BroadcastAttestationWithDiscoveryAttempts(t *testing.T) {
joinedTopics: map[string]*pubsub.Topic{},
cfg: &Config{},
genesisTime: time.Now(),
genesisValidatorsRoot: []byte{'A'},
genesisValidatorsRoot: bytesutil.PadTo([]byte{'A'}, 32),
subnetsLock: make(map[uint64]*sync.RWMutex),
subnetsLockLock: sync.Mutex{},
peers: peers.NewStatus(context.Background(), &peers.StatusConfig{

View File

@ -50,7 +50,7 @@ func TestCreateListener(t *testing.T) {
ipAddr, pkey := createAddrAndPrivKey(t)
s := &Service{
genesisTime: time.Now(),
genesisValidatorsRoot: []byte{'A'},
genesisValidatorsRoot: bytesutil.PadTo([]byte{'A'}, 32),
cfg: &Config{UDPPort: uint(port)},
}
listener, err := s.createListener(ipAddr, pkey)
@ -125,7 +125,7 @@ func TestMultiAddrsConversion_InvalidIPAddr(t *testing.T) {
_, pkey := createAddrAndPrivKey(t)
s := &Service{
genesisTime: time.Now(),
genesisValidatorsRoot: []byte{'A'},
genesisValidatorsRoot: bytesutil.PadTo([]byte{'A'}, 32),
}
node, err := s.createLocalNode(pkey, addr, 0, 0)
require.NoError(t, err)
@ -142,7 +142,7 @@ func TestMultiAddrConversion_OK(t *testing.T) {
UDPPort: 0,
},
genesisTime: time.Now(),
genesisValidatorsRoot: []byte{'A'},
genesisValidatorsRoot: bytesutil.PadTo([]byte{'A'}, 32),
}
listener, err := s.createListener(ipAddr, pkey)
require.NoError(t, err)

View File

@ -16,6 +16,7 @@ import (
ma "github.com/multiformats/go-multiaddr"
"github.com/prysmaticlabs/prysm/beacon-chain/core/helpers"
pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1"
"github.com/prysmaticlabs/prysm/shared/bytesutil"
"github.com/prysmaticlabs/prysm/shared/p2putils"
"github.com/prysmaticlabs/prysm/shared/params"
"github.com/prysmaticlabs/prysm/shared/testutil"
@ -261,7 +262,7 @@ func TestAddForkEntry_Genesis(t *testing.T) {
require.NoError(t, err)
localNode := enode.NewLocalNode(db, pkey)
localNode, err = addForkEntry(localNode, time.Now().Add(10*time.Second), []byte{'A', 'B', 'C', 'D'})
localNode, err = addForkEntry(localNode, time.Now().Add(10*time.Second), bytesutil.PadTo([]byte{'A', 'B', 'C', 'D'}, 32))
require.NoError(t, err)
forkEntry, err := retrieveForkEntry(localNode.Node().Record())
require.NoError(t, err)