ci: improve error checking (errcheck linter) (#11195)

## Description

Implements part of #7258

Check some of currently unchecked errors.

- [x] baseapp
- [x] client
- [x] codec
- [x] crypto
- [x] server
- [x] simapp
- [ ] snapshots
- [ ] store
- [x] testutil
- [ ] types
- [ ] modules

---

### Author Checklist

*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*

I have...

- [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] added `!` to the type prefix if API or client breaking change
- [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] provided a link to the relevant issue or specification
- [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules)
- [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [ ] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [ ] updated the relevant documentation or specification
- [ ] reviewed "Files changed" and left comments if necessary
- [ ] confirmed all CI checks have passed

### Reviewers Checklist

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

- [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed 
- [ ] reviewed state machine logic
- [ ] reviewed API design and naming
- [ ] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)
This commit is contained in:
Julien Robert
2022-04-13 06:46:51 +00:00
committed by GitHub
parent fed09c593a
commit 1fe59eb22a
39 changed files with 240 additions and 162 deletions
+1 -1
View File
@@ -300,7 +300,7 @@ func TestDerivePrivateKeyForPathDoNotCrash(t *testing.T) {
for _, path := range paths {
path := path
t.Run(path, func(t *testing.T) {
hd.DerivePrivateKeyForPath([32]byte{}, [32]byte{}, path)
_, _ = hd.DerivePrivateKeyForPath([32]byte{}, [32]byte{}, path)
})
}
}
+4 -4
View File
@@ -1077,19 +1077,19 @@ func TestNonConsistentKeyring_SavePubKey(t *testing.T) {
priv := ed25519.GenPrivKey()
pub := priv.PubKey()
k, err := kr.SaveOfflineKey(key, pub)
require.Nil(t, err)
_, err = kr.SaveOfflineKey(key, pub)
require.NoError(t, err)
// broken keyring state test
unsafeKr, ok := kr.(keystore)
require.True(t, ok)
// we lost public key for some reason, but still have an address record
unsafeKr.db.Remove(infoKey(key))
require.NoError(t, unsafeKr.db.Remove(infoKey(key)))
list, err = kr.List()
require.NoError(t, err)
require.Equal(t, 0, len(list))
k, err = kr.SaveOfflineKey(key, pub)
k, err := kr.SaveOfflineKey(key, pub)
require.Nil(t, err)
pubKey, err := k.GetPubKey()
require.NoError(t, err)
@@ -4,11 +4,11 @@ import (
"crypto/ecdsa"
"crypto/elliptic"
"crypto/sha256"
"github.com/tendermint/tendermint/crypto"
"math/big"
"testing"
"github.com/stretchr/testify/suite"
"github.com/tendermint/tendermint/crypto"
)
func TestSKSuite(t *testing.T) {
@@ -39,10 +39,11 @@ func (suite *SKSuite) TestMarshal() {
const size = 32
var buffer = make([]byte, size)
suite.sk.MarshalTo(buffer)
_, err := suite.sk.MarshalTo(buffer)
require.NoError(err)
var sk = new(PrivKey)
err := sk.Unmarshal(buffer, secp256r1, size)
err = sk.Unmarshal(buffer, secp256r1, size)
require.NoError(err)
require.True(sk.Equal(&suite.sk.PrivateKey))
}
@@ -80,7 +81,7 @@ func (suite *SKSuite) TestSign() {
// leave r untouched!
high_s := new(big.Int).Mod(new(big.Int).Neg(low_s), elliptic.P256().Params().N)
require.False(suite.pk.VerifySignature(msg, signatureRaw(r,high_s)))
require.False(suite.pk.VerifySignature(msg, signatureRaw(r, high_s)))
// Valid signature using low_s, but too long
sigCpy = make([]byte, len(sig)+2)
+3 -3
View File
@@ -173,7 +173,7 @@ func TestVerifyMultisignature(t *testing.T) {
sig = multisig.NewMultisig(5)
require.Error(pk.VerifyMultisignature(signBytesFn, sig))
multisig.AddSignatureFromPubKey(sig, sigs[0], pubKeys[0], pubKeys)
require.NoError(multisig.AddSignatureFromPubKey(sig, sigs[0], pubKeys[0], pubKeys))
// Add second signature manually
sig.Signatures = append(sig.Signatures, sigs[0])
},
@@ -208,8 +208,8 @@ func TestVerifyMultisignature(t *testing.T) {
_, sigs := generatePubKeysAndSignatures(2, msg)
pk = kmultisig.NewLegacyAminoPubKey(2, pubKeys)
sig = multisig.NewMultisig(2)
multisig.AddSignatureFromPubKey(sig, sigs[0], pubKeys[0], pubKeys)
multisig.AddSignatureFromPubKey(sig, sigs[1], pubKeys[1], pubKeys)
require.NoError(multisig.AddSignatureFromPubKey(sig, sigs[0], pubKeys[0], pubKeys))
require.NoError(multisig.AddSignatureFromPubKey(sig, sigs[1], pubKeys[1], pubKeys))
},
false,
},
@@ -111,8 +111,7 @@ func (suite *PKSuite) TestMarshalProto() {
require.NoError(cdc.UnmarshalInterface(bz, &pkI))
require.True(pkI.Equals(suite.pk))
cdc.UnmarshalInterface(bz, nil)
require.Error(err, "nil should fail")
require.Error(cdc.UnmarshalInterface(bz, nil), "nil should fail")
}
func (suite *PKSuite) TestSize() {
+1 -1
View File
@@ -30,7 +30,7 @@ func checkAminoJSON(t *testing.T, src interface{}, dst interface{}, isNil bool)
// nolint: govet
func ExamplePrintRegisteredTypes() {
cdc.PrintTypes(os.Stdout)
_ = cdc.PrintTypes(os.Stdout)
// | Type | Name | Prefix | Length | Notes |
// | ---- | ---- | ------ | ----- | ------ |
// | PrivKeyLedgerSecp256k1 | tendermint/PrivKeyLedgerSecp256k1 | 0x10CAB393 | variable | |