consensus: assume non-nil message in decodeData

`nil` message is occuring only in tests to check that
no unnecessary decoding is done on errors.
This commit is contained in:
Evgenii Stratonikov 2020-11-17 15:49:54 +03:00
parent 445354012a
commit 3025b42c65
3 changed files with 4 additions and 8 deletions

View file

@ -102,6 +102,7 @@ func TestConsensusPayload_Serializable(t *testing.T) {
require.NoError(t, testserdes.DecodeBinary(data, actual))
// message is nil after decoding as we didn't yet call decodeData
require.Nil(t, actual.message)
actual.message = new(message)
// message should now be decoded from actual.data byte array
assert.NoError(t, actual.decodeData())
assert.NotNil(t, actual.MarshalUnsigned())
@ -152,7 +153,7 @@ func TestConsensusPayload_DecodeBinaryInvalid(t *testing.T) {
buf[delimeterIndex] = 1
buf[lenIndex] = 34
buf[typeIndex] = byte(prepareResponseType)
p := new(Payload)
p := &Payload{message: new(message)}
require.NoError(t, testserdes.DecodeBinary(buf, p))
// decode `data` into `message`
_ = p.Hash()
@ -161,7 +162,7 @@ func TestConsensusPayload_DecodeBinaryInvalid(t *testing.T) {
// invalid type
buf[typeIndex] = 0xFF
actual := new(Payload)
actual := &Payload{message: new(message)}
require.NoError(t, testserdes.DecodeBinary(buf, actual))
require.Error(t, actual.decodeData())