Browse Source

testing: pass testing.T to assert and require always, assertion cleanup (#7508)

pull/7511/head
Sam Kleinman 2 years ago
committed by GitHub
parent
commit
f2cc496f09
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
46 changed files with 381 additions and 417 deletions
  1. +2
    -2
      abci/example/kvstore/kvstore_test.go
  2. +9
    -9
      abci/types/messages_test.go
  3. +5
    -5
      cmd/tendermint/commands/root_test.go
  4. +9
    -12
      config/config_test.go
  5. +6
    -10
      config/toml_test.go
  6. +1
    -1
      crypto/ed25519/ed25519_test.go
  7. +1
    -1
      crypto/merkle/proof_key_path_test.go
  8. +14
    -14
      crypto/merkle/proof_test.go
  9. +1
    -1
      crypto/secp256k1/secp256k1_test.go
  10. +1
    -1
      crypto/sr25519/sr25519_test.go
  11. +2
    -2
      crypto/xsalsa20symmetric/symmetric_test.go
  12. +6
    -6
      internal/consensus/replay_test.go
  13. +3
    -3
      internal/libs/tempfile/tempfile_test.go
  14. +12
    -12
      internal/p2p/conn/connection_test.go
  15. +4
    -4
      internal/p2p/conn/secret_connection_test.go
  16. +10
    -10
      internal/state/execution_test.go
  17. +7
    -7
      internal/state/indexer/indexer_service_test.go
  18. +4
    -4
      internal/state/indexer/sink/null/null_test.go
  19. +1
    -1
      internal/state/indexer/sink/psql/psql_test.go
  20. +32
    -38
      internal/state/state_test.go
  21. +1
    -1
      internal/statesync/dispatcher_test.go
  22. +1
    -1
      internal/store/store_test.go
  23. +2
    -2
      libs/bits/bit_array_test.go
  24. +2
    -2
      libs/bytes/bytes_test.go
  25. +7
    -7
      libs/cli/setup_test.go
  26. +1
    -1
      light/provider/http/http_test.go
  27. +3
    -3
      node/node_test.go
  28. +40
    -54
      privval/file_test.go
  29. +1
    -1
      rpc/client/event_test.go
  30. +16
    -18
      rpc/client/helpers_test.go
  31. +61
    -66
      rpc/client/mock/abci_test.go
  32. +25
    -27
      rpc/client/mock/status_test.go
  33. +33
    -33
      rpc/client/rpc_test.go
  34. +3
    -3
      rpc/jsonrpc/client/http_json_client_test.go
  35. +1
    -1
      rpc/jsonrpc/client/integration_test.go
  36. +2
    -2
      rpc/jsonrpc/client/ws_client_test.go
  37. +19
    -19
      rpc/jsonrpc/jsonrpc_test.go
  38. +4
    -4
      rpc/jsonrpc/server/http_json_handler_test.go
  39. +13
    -13
      rpc/jsonrpc/server/parse_test.go
  40. +8
    -8
      rpc/jsonrpc/types/types_test.go
  41. +1
    -1
      types/block_test.go
  42. +1
    -1
      types/node_info_test.go
  43. +2
    -2
      types/node_key_test.go
  44. +1
    -1
      types/part_set_test.go
  45. +2
    -2
      types/protobuf_test.go
  46. +1
    -1
      types/tx_test.go

+ 2
- 2
abci/example/kvstore/kvstore_test.go View File

@ -344,7 +344,7 @@ func testClient(ctx context.Context, t *testing.T, app abciclient.Client, tx []b
Path: "/store", Path: "/store",
Data: []byte(key), Data: []byte(key),
}) })
require.Nil(t, err)
require.NoError(t, err)
require.Equal(t, code.CodeTypeOK, resQuery.Code) require.Equal(t, code.CodeTypeOK, resQuery.Code)
require.Equal(t, key, string(resQuery.Key)) require.Equal(t, key, string(resQuery.Key))
require.Equal(t, value, string(resQuery.Value)) require.Equal(t, value, string(resQuery.Value))
@ -356,7 +356,7 @@ func testClient(ctx context.Context, t *testing.T, app abciclient.Client, tx []b
Data: []byte(key), Data: []byte(key),
Prove: true, Prove: true,
}) })
require.Nil(t, err)
require.NoError(t, err)
require.Equal(t, code.CodeTypeOK, resQuery.Code) require.Equal(t, code.CodeTypeOK, resQuery.Code)
require.Equal(t, key, string(resQuery.Key)) require.Equal(t, key, string(resQuery.Key))
require.Equal(t, value, string(resQuery.Value)) require.Equal(t, value, string(resQuery.Value))


+ 9
- 9
abci/types/messages_test.go View File

@ -14,7 +14,7 @@ import (
func TestMarshalJSON(t *testing.T) { func TestMarshalJSON(t *testing.T) {
b, err := json.Marshal(&ResponseDeliverTx{}) b, err := json.Marshal(&ResponseDeliverTx{})
assert.Nil(t, err)
assert.NoError(t, err)
// include empty fields. // include empty fields.
assert.True(t, strings.Contains(string(b), "code")) assert.True(t, strings.Contains(string(b), "code"))
r1 := ResponseCheckTx{ r1 := ResponseCheckTx{
@ -31,11 +31,11 @@ func TestMarshalJSON(t *testing.T) {
}, },
} }
b, err = json.Marshal(&r1) b, err = json.Marshal(&r1)
assert.Nil(t, err)
assert.NoError(t, err)
var r2 ResponseCheckTx var r2 ResponseCheckTx
err = json.Unmarshal(b, &r2) err = json.Unmarshal(b, &r2)
assert.Nil(t, err)
assert.NoError(t, err)
assert.Equal(t, r1, r2) assert.Equal(t, r1, r2)
} }
@ -49,11 +49,11 @@ func TestWriteReadMessageSimple(t *testing.T) {
for _, c := range cases { for _, c := range cases {
buf := new(bytes.Buffer) buf := new(bytes.Buffer)
err := WriteMessage(c, buf) err := WriteMessage(c, buf)
assert.Nil(t, err)
assert.NoError(t, err)
msg := new(RequestEcho) msg := new(RequestEcho)
err = ReadMessage(buf, msg) err = ReadMessage(buf, msg)
assert.Nil(t, err)
assert.NoError(t, err)
assert.True(t, proto.Equal(c, msg)) assert.True(t, proto.Equal(c, msg))
} }
@ -71,11 +71,11 @@ func TestWriteReadMessage(t *testing.T) {
for _, c := range cases { for _, c := range cases {
buf := new(bytes.Buffer) buf := new(bytes.Buffer)
err := WriteMessage(c, buf) err := WriteMessage(c, buf)
assert.Nil(t, err)
assert.NoError(t, err)
msg := new(tmproto.Header) msg := new(tmproto.Header)
err = ReadMessage(buf, msg) err = ReadMessage(buf, msg)
assert.Nil(t, err)
assert.NoError(t, err)
assert.True(t, proto.Equal(c, msg)) assert.True(t, proto.Equal(c, msg))
} }
@ -103,11 +103,11 @@ func TestWriteReadMessage2(t *testing.T) {
for _, c := range cases { for _, c := range cases {
buf := new(bytes.Buffer) buf := new(bytes.Buffer)
err := WriteMessage(c, buf) err := WriteMessage(c, buf)
assert.Nil(t, err)
assert.NoError(t, err)
msg := new(ResponseCheckTx) msg := new(ResponseCheckTx)
err = ReadMessage(buf, msg) err = ReadMessage(buf, msg)
assert.Nil(t, err)
assert.NoError(t, err)
assert.True(t, proto.Equal(c, msg)) assert.True(t, proto.Equal(c, msg))
} }


+ 5
- 5
cmd/tendermint/commands/root_test.go View File

@ -74,7 +74,7 @@ func TestRootHome(t *testing.T) {
idxString := strconv.Itoa(i) idxString := strconv.Itoa(i)
err := testSetup(defaultRoot, tc.args, tc.env) err := testSetup(defaultRoot, tc.args, tc.env)
require.Nil(t, err, idxString)
require.NoError(t, err, idxString)
assert.Equal(t, tc.root, config.RootDir, idxString) assert.Equal(t, tc.root, config.RootDir, idxString)
assert.Equal(t, tc.root, config.P2P.RootDir, idxString) assert.Equal(t, tc.root, config.P2P.RootDir, idxString)
@ -106,7 +106,7 @@ func TestRootFlagsEnv(t *testing.T) {
idxString := strconv.Itoa(i) idxString := strconv.Itoa(i)
err := testSetup(defaultRoot, tc.args, tc.env) err := testSetup(defaultRoot, tc.args, tc.env)
require.Nil(t, err, idxString)
require.NoError(t, err, idxString)
assert.Equal(t, tc.logLevel, config.LogLevel, idxString) assert.Equal(t, tc.logLevel, config.LogLevel, idxString)
} }
@ -139,12 +139,12 @@ func TestRootConfig(t *testing.T) {
// XXX: path must match cfg.defaultConfigPath // XXX: path must match cfg.defaultConfigPath
configFilePath := filepath.Join(defaultRoot, "config") configFilePath := filepath.Join(defaultRoot, "config")
err := tmos.EnsureDir(configFilePath, 0700) err := tmos.EnsureDir(configFilePath, 0700)
require.Nil(t, err)
require.NoError(t, err)
// write the non-defaults to a different path // write the non-defaults to a different path
// TODO: support writing sub configs so we can test that too // TODO: support writing sub configs so we can test that too
err = WriteConfigVals(configFilePath, cvals) err = WriteConfigVals(configFilePath, cvals)
require.Nil(t, err)
require.NoError(t, err)
rootCmd := testRootCmd() rootCmd := testRootCmd()
cmd := cli.PrepareBaseCmd(rootCmd, "TM", defaultRoot) cmd := cli.PrepareBaseCmd(rootCmd, "TM", defaultRoot)
@ -152,7 +152,7 @@ func TestRootConfig(t *testing.T) {
// run with the args and env // run with the args and env
tc.args = append([]string{rootCmd.Use}, tc.args...) tc.args = append([]string{rootCmd.Use}, tc.args...)
err = cli.RunWithArgs(cmd, tc.args, tc.env) err = cli.RunWithArgs(cmd, tc.args, tc.env)
require.Nil(t, err, idxString)
require.NoError(t, err, idxString)
assert.Equal(t, tc.logLvl, config.LogLevel, idxString) assert.Equal(t, tc.logLvl, config.LogLevel, idxString)
} }


+ 9
- 12
config/config_test.go View File

@ -10,21 +10,19 @@ import (
) )
func TestDefaultConfig(t *testing.T) { func TestDefaultConfig(t *testing.T) {
assert := assert.New(t)
// set up some defaults // set up some defaults
cfg := DefaultConfig() cfg := DefaultConfig()
assert.NotNil(cfg.P2P)
assert.NotNil(cfg.Mempool)
assert.NotNil(cfg.Consensus)
assert.NotNil(t, cfg.P2P)
assert.NotNil(t, cfg.Mempool)
assert.NotNil(t, cfg.Consensus)
// check the root dir stuff... // check the root dir stuff...
cfg.SetRoot("/foo") cfg.SetRoot("/foo")
cfg.Genesis = "bar" cfg.Genesis = "bar"
cfg.DBPath = "/opt/data" cfg.DBPath = "/opt/data"
assert.Equal("/foo/bar", cfg.GenesisFile())
assert.Equal("/opt/data", cfg.DBDir())
assert.Equal(t, "/foo/bar", cfg.GenesisFile())
assert.Equal(t, "/opt/data", cfg.DBDir())
} }
func TestConfigValidateBasic(t *testing.T) { func TestConfigValidateBasic(t *testing.T) {
@ -37,19 +35,18 @@ func TestConfigValidateBasic(t *testing.T) {
} }
func TestTLSConfiguration(t *testing.T) { func TestTLSConfiguration(t *testing.T) {
assert := assert.New(t)
cfg := DefaultConfig() cfg := DefaultConfig()
cfg.SetRoot("/home/user") cfg.SetRoot("/home/user")
cfg.RPC.TLSCertFile = "file.crt" cfg.RPC.TLSCertFile = "file.crt"
assert.Equal("/home/user/config/file.crt", cfg.RPC.CertFile())
assert.Equal(t, "/home/user/config/file.crt", cfg.RPC.CertFile())
cfg.RPC.TLSKeyFile = "file.key" cfg.RPC.TLSKeyFile = "file.key"
assert.Equal("/home/user/config/file.key", cfg.RPC.KeyFile())
assert.Equal(t, "/home/user/config/file.key", cfg.RPC.KeyFile())
cfg.RPC.TLSCertFile = "/abs/path/to/file.crt" cfg.RPC.TLSCertFile = "/abs/path/to/file.crt"
assert.Equal("/abs/path/to/file.crt", cfg.RPC.CertFile())
assert.Equal(t, "/abs/path/to/file.crt", cfg.RPC.CertFile())
cfg.RPC.TLSKeyFile = "/abs/path/to/file.key" cfg.RPC.TLSKeyFile = "/abs/path/to/file.key"
assert.Equal("/abs/path/to/file.key", cfg.RPC.KeyFile())
assert.Equal(t, "/abs/path/to/file.key", cfg.RPC.KeyFile())
} }
func TestBaseConfigValidateBasic(t *testing.T) { func TestBaseConfigValidateBasic(t *testing.T) {


+ 6
- 10
config/toml_test.go View File

@ -14,26 +14,24 @@ func ensureFiles(t *testing.T, rootDir string, files ...string) {
for _, f := range files { for _, f := range files {
p := rootify(rootDir, f) p := rootify(rootDir, f)
_, err := os.Stat(p) _, err := os.Stat(p)
assert.Nil(t, err, p)
assert.NoError(t, err, p)
} }
} }
func TestEnsureRoot(t *testing.T) { func TestEnsureRoot(t *testing.T) {
require := require.New(t)
// setup temp dir for test // setup temp dir for test
tmpDir, err := os.MkdirTemp("", "config-test") tmpDir, err := os.MkdirTemp("", "config-test")
require.NoError(err)
require.NoError(t, err)
defer os.RemoveAll(tmpDir) defer os.RemoveAll(tmpDir)
// create root dir // create root dir
EnsureRoot(tmpDir) EnsureRoot(tmpDir)
require.NoError(WriteConfigFile(tmpDir, DefaultConfig()))
require.NoError(t, WriteConfigFile(tmpDir, DefaultConfig()))
// make sure config is set properly // make sure config is set properly
data, err := os.ReadFile(filepath.Join(tmpDir, defaultConfigFilePath)) data, err := os.ReadFile(filepath.Join(tmpDir, defaultConfigFilePath))
require.NoError(err)
require.NoError(t, err)
checkConfig(t, string(data)) checkConfig(t, string(data))
@ -41,19 +39,17 @@ func TestEnsureRoot(t *testing.T) {
} }
func TestEnsureTestRoot(t *testing.T) { func TestEnsureTestRoot(t *testing.T) {
require := require.New(t)
testName := "ensureTestRoot" testName := "ensureTestRoot"
// create root dir // create root dir
cfg, err := ResetTestRoot(testName) cfg, err := ResetTestRoot(testName)
require.NoError(err)
require.NoError(t, err)
defer os.RemoveAll(cfg.RootDir) defer os.RemoveAll(cfg.RootDir)
rootDir := cfg.RootDir rootDir := cfg.RootDir
// make sure config is set properly // make sure config is set properly
data, err := os.ReadFile(filepath.Join(rootDir, defaultConfigFilePath)) data, err := os.ReadFile(filepath.Join(rootDir, defaultConfigFilePath))
require.Nil(err)
require.NoError(t, err)
checkConfig(t, string(data)) checkConfig(t, string(data))


+ 1
- 1
crypto/ed25519/ed25519_test.go View File

@ -17,7 +17,7 @@ func TestSignAndValidateEd25519(t *testing.T) {
msg := crypto.CRandBytes(128) msg := crypto.CRandBytes(128)
sig, err := privKey.Sign(msg) sig, err := privKey.Sign(msg)
require.Nil(t, err)
require.NoError(t, err)
// Test the signature // Test the signature
assert.True(t, pubKey.VerifySignature(msg, sig)) assert.True(t, pubKey.VerifySignature(msg, sig))


+ 1
- 1
crypto/merkle/proof_key_path_test.go View File

@ -34,7 +34,7 @@ func TestKeyPath(t *testing.T) {
} }
res, err := KeyPathToKeys(path.String()) res, err := KeyPathToKeys(path.String())
require.Nil(t, err)
require.NoError(t, err)
require.Equal(t, len(keys), len(res)) require.Equal(t, len(keys), len(res))
for i, key := range keys { for i, key := range keys {


+ 14
- 14
crypto/merkle/proof_test.go View File

@ -79,58 +79,58 @@ func TestProofOperators(t *testing.T) {
// Good // Good
popz := ProofOperators([]ProofOperator{op1, op2, op3, op4}) popz := ProofOperators([]ProofOperator{op1, op2, op3, op4})
err = popz.Verify(bz("OUTPUT4"), "/KEY4/KEY2/KEY1", [][]byte{bz("INPUT1")}) err = popz.Verify(bz("OUTPUT4"), "/KEY4/KEY2/KEY1", [][]byte{bz("INPUT1")})
assert.Nil(t, err)
assert.NoError(t, err)
err = popz.VerifyValue(bz("OUTPUT4"), "/KEY4/KEY2/KEY1", bz("INPUT1")) err = popz.VerifyValue(bz("OUTPUT4"), "/KEY4/KEY2/KEY1", bz("INPUT1"))
assert.Nil(t, err)
assert.NoError(t, err)
// BAD INPUT // BAD INPUT
err = popz.Verify(bz("OUTPUT4"), "/KEY4/KEY2/KEY1", [][]byte{bz("INPUT1_WRONG")}) err = popz.Verify(bz("OUTPUT4"), "/KEY4/KEY2/KEY1", [][]byte{bz("INPUT1_WRONG")})
assert.NotNil(t, err)
assert.Error(t, err)
err = popz.VerifyValue(bz("OUTPUT4"), "/KEY4/KEY2/KEY1", bz("INPUT1_WRONG")) err = popz.VerifyValue(bz("OUTPUT4"), "/KEY4/KEY2/KEY1", bz("INPUT1_WRONG"))
assert.NotNil(t, err)
assert.Error(t, err)
// BAD KEY 1 // BAD KEY 1
err = popz.Verify(bz("OUTPUT4"), "/KEY3/KEY2/KEY1", [][]byte{bz("INPUT1")}) err = popz.Verify(bz("OUTPUT4"), "/KEY3/KEY2/KEY1", [][]byte{bz("INPUT1")})
assert.NotNil(t, err)
assert.Error(t, err)
// BAD KEY 2 // BAD KEY 2
err = popz.Verify(bz("OUTPUT4"), "KEY4/KEY2/KEY1", [][]byte{bz("INPUT1")}) err = popz.Verify(bz("OUTPUT4"), "KEY4/KEY2/KEY1", [][]byte{bz("INPUT1")})
assert.NotNil(t, err)
assert.Error(t, err)
// BAD KEY 3 // BAD KEY 3
err = popz.Verify(bz("OUTPUT4"), "/KEY4/KEY2/KEY1/", [][]byte{bz("INPUT1")}) err = popz.Verify(bz("OUTPUT4"), "/KEY4/KEY2/KEY1/", [][]byte{bz("INPUT1")})
assert.NotNil(t, err)
assert.Error(t, err)
// BAD KEY 4 // BAD KEY 4
err = popz.Verify(bz("OUTPUT4"), "//KEY4/KEY2/KEY1", [][]byte{bz("INPUT1")}) err = popz.Verify(bz("OUTPUT4"), "//KEY4/KEY2/KEY1", [][]byte{bz("INPUT1")})
assert.NotNil(t, err)
assert.Error(t, err)
// BAD KEY 5 // BAD KEY 5
err = popz.Verify(bz("OUTPUT4"), "/KEY2/KEY1", [][]byte{bz("INPUT1")}) err = popz.Verify(bz("OUTPUT4"), "/KEY2/KEY1", [][]byte{bz("INPUT1")})
assert.NotNil(t, err)
assert.Error(t, err)
// BAD OUTPUT 1 // BAD OUTPUT 1
err = popz.Verify(bz("OUTPUT4_WRONG"), "/KEY4/KEY2/KEY1", [][]byte{bz("INPUT1")}) err = popz.Verify(bz("OUTPUT4_WRONG"), "/KEY4/KEY2/KEY1", [][]byte{bz("INPUT1")})
assert.NotNil(t, err)
assert.Error(t, err)
// BAD OUTPUT 2 // BAD OUTPUT 2
err = popz.Verify(bz(""), "/KEY4/KEY2/KEY1", [][]byte{bz("INPUT1")}) err = popz.Verify(bz(""), "/KEY4/KEY2/KEY1", [][]byte{bz("INPUT1")})
assert.NotNil(t, err)
assert.Error(t, err)
// BAD POPZ 1 // BAD POPZ 1
popz = []ProofOperator{op1, op2, op4} popz = []ProofOperator{op1, op2, op4}
err = popz.Verify(bz("OUTPUT4"), "/KEY4/KEY2/KEY1", [][]byte{bz("INPUT1")}) err = popz.Verify(bz("OUTPUT4"), "/KEY4/KEY2/KEY1", [][]byte{bz("INPUT1")})
assert.NotNil(t, err)
assert.Error(t, err)
// BAD POPZ 2 // BAD POPZ 2
popz = []ProofOperator{op4, op3, op2, op1} popz = []ProofOperator{op4, op3, op2, op1}
err = popz.Verify(bz("OUTPUT4"), "/KEY4/KEY2/KEY1", [][]byte{bz("INPUT1")}) err = popz.Verify(bz("OUTPUT4"), "/KEY4/KEY2/KEY1", [][]byte{bz("INPUT1")})
assert.NotNil(t, err)
assert.Error(t, err)
// BAD POPZ 3 // BAD POPZ 3
popz = []ProofOperator{} popz = []ProofOperator{}
err = popz.Verify(bz("OUTPUT4"), "/KEY4/KEY2/KEY1", [][]byte{bz("INPUT1")}) err = popz.Verify(bz("OUTPUT4"), "/KEY4/KEY2/KEY1", [][]byte{bz("INPUT1")})
assert.NotNil(t, err)
assert.Error(t, err)
} }
func bz(s string) []byte { func bz(s string) []byte {


+ 1
- 1
crypto/secp256k1/secp256k1_test.go View File

@ -52,7 +52,7 @@ func TestSignAndValidateSecp256k1(t *testing.T) {
msg := crypto.CRandBytes(128) msg := crypto.CRandBytes(128)
sig, err := privKey.Sign(msg) sig, err := privKey.Sign(msg)
require.Nil(t, err)
require.NoError(t, err)
assert.True(t, pubKey.VerifySignature(msg, sig)) assert.True(t, pubKey.VerifySignature(msg, sig))


+ 1
- 1
crypto/sr25519/sr25519_test.go View File

@ -18,7 +18,7 @@ func TestSignAndValidateSr25519(t *testing.T) {
msg := crypto.CRandBytes(128) msg := crypto.CRandBytes(128)
sig, err := privKey.Sign(msg) sig, err := privKey.Sign(msg)
require.Nil(t, err)
require.NoError(t, err)
// Test the signature // Test the signature
assert.True(t, pubKey.VerifySignature(msg, sig)) assert.True(t, pubKey.VerifySignature(msg, sig))


+ 2
- 2
crypto/xsalsa20symmetric/symmetric_test.go View File

@ -18,7 +18,7 @@ func TestSimple(t *testing.T) {
ciphertext := EncryptSymmetric(plaintext, secret) ciphertext := EncryptSymmetric(plaintext, secret)
plaintext2, err := DecryptSymmetric(ciphertext, secret) plaintext2, err := DecryptSymmetric(ciphertext, secret)
require.Nil(t, err, "%+v", err)
require.NoError(t, err, "%+v", err)
assert.Equal(t, plaintext, plaintext2) assert.Equal(t, plaintext, plaintext2)
} }
@ -35,6 +35,6 @@ func TestSimpleWithKDF(t *testing.T) {
ciphertext := EncryptSymmetric(plaintext, secret) ciphertext := EncryptSymmetric(plaintext, secret)
plaintext2, err := DecryptSymmetric(ciphertext, secret) plaintext2, err := DecryptSymmetric(ciphertext, secret)
require.Nil(t, err, "%+v", err)
require.NoError(t, err, "%+v", err)
assert.Equal(t, plaintext, plaintext2) assert.Equal(t, plaintext, plaintext2)
} }

+ 6
- 6
internal/consensus/replay_test.go View File

@ -380,7 +380,7 @@ func setupSimulator(ctx context.Context, t *testing.T) *simulatorTestSuite {
require.NoError(t, err) require.NoError(t, err)
newValidatorTx1 := kvstore.MakeValSetChangeTx(valPubKey1ABCI, testMinPower) newValidatorTx1 := kvstore.MakeValSetChangeTx(valPubKey1ABCI, testMinPower)
err = assertMempool(css[0].txNotifier).CheckTx(ctx, newValidatorTx1, nil, mempool.TxInfo{}) err = assertMempool(css[0].txNotifier).CheckTx(ctx, newValidatorTx1, nil, mempool.TxInfo{})
assert.Nil(t, err)
assert.NoError(t, err)
propBlock, _, err := css[0].createProposalBlock() // changeProposer(t, cs1, vs2) propBlock, _, err := css[0].createProposalBlock() // changeProposer(t, cs1, vs2)
require.NoError(t, err) require.NoError(t, err)
propBlockParts, err := propBlock.MakePartSet(partSize) propBlockParts, err := propBlock.MakePartSet(partSize)
@ -414,7 +414,7 @@ func setupSimulator(ctx context.Context, t *testing.T) *simulatorTestSuite {
require.NoError(t, err) require.NoError(t, err)
updateValidatorTx1 := kvstore.MakeValSetChangeTx(updatePubKey1ABCI, 25) updateValidatorTx1 := kvstore.MakeValSetChangeTx(updatePubKey1ABCI, 25)
err = assertMempool(css[0].txNotifier).CheckTx(ctx, updateValidatorTx1, nil, mempool.TxInfo{}) err = assertMempool(css[0].txNotifier).CheckTx(ctx, updateValidatorTx1, nil, mempool.TxInfo{})
assert.Nil(t, err)
assert.NoError(t, err)
propBlock, _, err = css[0].createProposalBlock() // changeProposer(t, cs1, vs2) propBlock, _, err = css[0].createProposalBlock() // changeProposer(t, cs1, vs2)
require.NoError(t, err) require.NoError(t, err)
propBlockParts, err = propBlock.MakePartSet(partSize) propBlockParts, err = propBlock.MakePartSet(partSize)
@ -448,14 +448,14 @@ func setupSimulator(ctx context.Context, t *testing.T) *simulatorTestSuite {
require.NoError(t, err) require.NoError(t, err)
newValidatorTx2 := kvstore.MakeValSetChangeTx(newVal2ABCI, testMinPower) newValidatorTx2 := kvstore.MakeValSetChangeTx(newVal2ABCI, testMinPower)
err = assertMempool(css[0].txNotifier).CheckTx(ctx, newValidatorTx2, nil, mempool.TxInfo{}) err = assertMempool(css[0].txNotifier).CheckTx(ctx, newValidatorTx2, nil, mempool.TxInfo{})
assert.Nil(t, err)
assert.NoError(t, err)
newValidatorPubKey3, err := css[nVals+2].privValidator.GetPubKey(ctx) newValidatorPubKey3, err := css[nVals+2].privValidator.GetPubKey(ctx)
require.NoError(t, err) require.NoError(t, err)
newVal3ABCI, err := encoding.PubKeyToProto(newValidatorPubKey3) newVal3ABCI, err := encoding.PubKeyToProto(newValidatorPubKey3)
require.NoError(t, err) require.NoError(t, err)
newValidatorTx3 := kvstore.MakeValSetChangeTx(newVal3ABCI, testMinPower) newValidatorTx3 := kvstore.MakeValSetChangeTx(newVal3ABCI, testMinPower)
err = assertMempool(css[0].txNotifier).CheckTx(ctx, newValidatorTx3, nil, mempool.TxInfo{}) err = assertMempool(css[0].txNotifier).CheckTx(ctx, newValidatorTx3, nil, mempool.TxInfo{})
assert.Nil(t, err)
assert.NoError(t, err)
propBlock, _, err = css[0].createProposalBlock() // changeProposer(t, cs1, vs2) propBlock, _, err = css[0].createProposalBlock() // changeProposer(t, cs1, vs2)
require.NoError(t, err) require.NoError(t, err)
propBlockParts, err = propBlock.MakePartSet(partSize) propBlockParts, err = propBlock.MakePartSet(partSize)
@ -497,7 +497,7 @@ func setupSimulator(ctx context.Context, t *testing.T) *simulatorTestSuite {
removeValidatorTx2 := kvstore.MakeValSetChangeTx(newVal2ABCI, 0) removeValidatorTx2 := kvstore.MakeValSetChangeTx(newVal2ABCI, 0)
err = assertMempool(css[0].txNotifier).CheckTx(ctx, removeValidatorTx2, nil, mempool.TxInfo{}) err = assertMempool(css[0].txNotifier).CheckTx(ctx, removeValidatorTx2, nil, mempool.TxInfo{})
assert.Nil(t, err)
assert.NoError(t, err)
rs = css[0].GetRoundState() rs = css[0].GetRoundState()
for i := 0; i < nVals+1; i++ { for i := 0; i < nVals+1; i++ {
@ -536,7 +536,7 @@ func setupSimulator(ctx context.Context, t *testing.T) *simulatorTestSuite {
incrementHeight(vss...) incrementHeight(vss...)
removeValidatorTx3 := kvstore.MakeValSetChangeTx(newVal3ABCI, 0) removeValidatorTx3 := kvstore.MakeValSetChangeTx(newVal3ABCI, 0)
err = assertMempool(css[0].txNotifier).CheckTx(ctx, removeValidatorTx3, nil, mempool.TxInfo{}) err = assertMempool(css[0].txNotifier).CheckTx(ctx, removeValidatorTx3, nil, mempool.TxInfo{})
assert.Nil(t, err)
assert.NoError(t, err)
propBlock, _, err = css[0].createProposalBlock() // changeProposer(t, cs1, vs2) propBlock, _, err = css[0].createProposalBlock() // changeProposer(t, cs1, vs2)
require.NoError(t, err) require.NoError(t, err)
propBlockParts, err = propBlock.MakePartSet(partSize) propBlockParts, err = propBlock.MakePartSet(partSize)


+ 3
- 3
internal/libs/tempfile/tempfile_test.go View File

@ -114,7 +114,7 @@ func TestWriteFileAtomicManyDuplicates(t *testing.T) {
fileRand := randWriteFileSuffix() fileRand := randWriteFileSuffix()
fname := "/tmp/" + atomicWriteFilePrefix + fileRand fname := "/tmp/" + atomicWriteFilePrefix + fileRand
f, err := os.OpenFile(fname, atomicWriteFileFlag, 0777) f, err := os.OpenFile(fname, atomicWriteFileFlag, 0777)
require.Nil(t, err)
require.NoError(t, err)
_, err = f.WriteString(fmt.Sprintf(testString, i)) _, err = f.WriteString(fmt.Sprintf(testString, i))
require.NoError(t, err) require.NoError(t, err)
defer os.Remove(fname) defer os.Remove(fname)
@ -132,13 +132,13 @@ func TestWriteFileAtomicManyDuplicates(t *testing.T) {
fileRand := randWriteFileSuffix() fileRand := randWriteFileSuffix()
fname := "/tmp/" + atomicWriteFilePrefix + fileRand fname := "/tmp/" + atomicWriteFilePrefix + fileRand
firstAtomicFileBytes, err := os.ReadFile(fname) firstAtomicFileBytes, err := os.ReadFile(fname)
require.Nil(t, err, "Error reading first atomic file")
require.NoError(t, err, "Error reading first atomic file")
require.Equal(t, []byte(fmt.Sprintf(testString, i)), firstAtomicFileBytes, require.Equal(t, []byte(fmt.Sprintf(testString, i)), firstAtomicFileBytes,
"atomic write file %d was overwritten", i) "atomic write file %d was overwritten", i)
} }
// Check that the resultant file is correct // Check that the resultant file is correct
resultantFileBytes, err := os.ReadFile(fileToWrite) resultantFileBytes, err := os.ReadFile(fileToWrite)
require.Nil(t, err, "Error reading resultant file")
require.NoError(t, err, "Error reading resultant file")
require.Equal(t, []byte(expectedString), resultantFileBytes, "Written file had incorrect bytes") require.Equal(t, []byte(expectedString), resultantFileBytes, "Written file had incorrect bytes")
} }

+ 12
- 12
internal/p2p/conn/connection_test.go View File

@ -55,7 +55,7 @@ func TestMConnectionSendFlushStop(t *testing.T) {
clientConn := createTestMConnection(log.TestingLogger(), client) clientConn := createTestMConnection(log.TestingLogger(), client)
err := clientConn.Start(ctx) err := clientConn.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
t.Cleanup(waitAll(clientConn)) t.Cleanup(waitAll(clientConn))
msg := []byte("abc") msg := []byte("abc")
@ -92,7 +92,7 @@ func TestMConnectionSend(t *testing.T) {
mconn := createTestMConnection(log.TestingLogger(), client) mconn := createTestMConnection(log.TestingLogger(), client)
err := mconn.Start(ctx) err := mconn.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
t.Cleanup(waitAll(mconn)) t.Cleanup(waitAll(mconn))
msg := []byte("Ant-Man") msg := []byte("Ant-Man")
@ -139,12 +139,12 @@ func TestMConnectionReceive(t *testing.T) {
mconn1 := createMConnectionWithCallbacks(logger, client, onReceive, onError) mconn1 := createMConnectionWithCallbacks(logger, client, onReceive, onError)
err := mconn1.Start(ctx) err := mconn1.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
t.Cleanup(waitAll(mconn1)) t.Cleanup(waitAll(mconn1))
mconn2 := createTestMConnection(logger, server) mconn2 := createTestMConnection(logger, server)
err = mconn2.Start(ctx) err = mconn2.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
t.Cleanup(waitAll(mconn2)) t.Cleanup(waitAll(mconn2))
msg := []byte("Cyclops") msg := []byte("Cyclops")
@ -184,7 +184,7 @@ func TestMConnectionPongTimeoutResultsInError(t *testing.T) {
mconn := createMConnectionWithCallbacks(log.TestingLogger(), client, onReceive, onError) mconn := createMConnectionWithCallbacks(log.TestingLogger(), client, onReceive, onError)
err := mconn.Start(ctx) err := mconn.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
t.Cleanup(waitAll(mconn)) t.Cleanup(waitAll(mconn))
serverGotPing := make(chan struct{}) serverGotPing := make(chan struct{})
@ -232,7 +232,7 @@ func TestMConnectionMultiplePongsInTheBeginning(t *testing.T) {
mconn := createMConnectionWithCallbacks(log.TestingLogger(), client, onReceive, onError) mconn := createMConnectionWithCallbacks(log.TestingLogger(), client, onReceive, onError)
err := mconn.Start(ctx) err := mconn.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
t.Cleanup(waitAll(mconn)) t.Cleanup(waitAll(mconn))
// sending 3 pongs in a row (abuse) // sending 3 pongs in a row (abuse)
@ -295,7 +295,7 @@ func TestMConnectionMultiplePings(t *testing.T) {
mconn := createMConnectionWithCallbacks(log.TestingLogger(), client, onReceive, onError) mconn := createMConnectionWithCallbacks(log.TestingLogger(), client, onReceive, onError)
err := mconn.Start(ctx) err := mconn.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
t.Cleanup(waitAll(mconn)) t.Cleanup(waitAll(mconn))
// sending 3 pings in a row (abuse) // sending 3 pings in a row (abuse)
@ -352,7 +352,7 @@ func TestMConnectionPingPongs(t *testing.T) {
mconn := createMConnectionWithCallbacks(log.TestingLogger(), client, onReceive, onError) mconn := createMConnectionWithCallbacks(log.TestingLogger(), client, onReceive, onError)
err := mconn.Start(ctx) err := mconn.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
t.Cleanup(waitAll(mconn)) t.Cleanup(waitAll(mconn))
serverGotPing := make(chan struct{}) serverGotPing := make(chan struct{})
@ -418,7 +418,7 @@ func TestMConnectionStopsAndReturnsError(t *testing.T) {
mconn := createMConnectionWithCallbacks(log.TestingLogger(), client, onReceive, onError) mconn := createMConnectionWithCallbacks(log.TestingLogger(), client, onReceive, onError)
err := mconn.Start(ctx) err := mconn.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
t.Cleanup(waitAll(mconn)) t.Cleanup(waitAll(mconn))
if err := client.Close(); err != nil { if err := client.Close(); err != nil {
@ -455,7 +455,7 @@ func newClientAndServerConnsForReadErrors(
mconnClient := NewMConnection(logger.With("module", "client"), client, chDescs, onReceive, onError) mconnClient := NewMConnection(logger.With("module", "client"), client, chDescs, onReceive, onError)
err := mconnClient.Start(ctx) err := mconnClient.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
// create server conn with 1 channel // create server conn with 1 channel
// it fires on chOnErr when there's an error // it fires on chOnErr when there's an error
@ -469,7 +469,7 @@ func newClientAndServerConnsForReadErrors(
mconnServer := createMConnectionWithCallbacks(serverLogger, server, onReceive, onError) mconnServer := createMConnectionWithCallbacks(serverLogger, server, onReceive, onError)
err = mconnServer.Start(ctx) err = mconnServer.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
return mconnClient, mconnServer return mconnClient, mconnServer
} }
@ -583,7 +583,7 @@ func TestMConnectionTrySend(t *testing.T) {
mconn := createTestMConnection(log.TestingLogger(), client) mconn := createTestMConnection(log.TestingLogger(), client)
err := mconn.Start(ctx) err := mconn.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
t.Cleanup(waitAll(mconn)) t.Cleanup(waitAll(mconn))
msg := []byte("Semicolon-Woman") msg := []byte("Semicolon-Woman")


+ 4
- 4
internal/p2p/conn/secret_connection_test.go View File

@ -240,15 +240,15 @@ func TestDeriveSecretsAndChallengeGolden(t *testing.T) {
line := scanner.Text() line := scanner.Text()
params := strings.Split(line, ",") params := strings.Split(line, ",")
randSecretVector, err := hex.DecodeString(params[0]) randSecretVector, err := hex.DecodeString(params[0])
require.Nil(t, err)
require.NoError(t, err)
randSecret := new([32]byte) randSecret := new([32]byte)
copy((*randSecret)[:], randSecretVector) copy((*randSecret)[:], randSecretVector)
locIsLeast, err := strconv.ParseBool(params[1]) locIsLeast, err := strconv.ParseBool(params[1])
require.Nil(t, err)
require.NoError(t, err)
expectedRecvSecret, err := hex.DecodeString(params[2]) expectedRecvSecret, err := hex.DecodeString(params[2])
require.Nil(t, err)
require.NoError(t, err)
expectedSendSecret, err := hex.DecodeString(params[3]) expectedSendSecret, err := hex.DecodeString(params[3])
require.Nil(t, err)
require.NoError(t, err)
recvSecret, sendSecret := deriveSecrets(randSecret, locIsLeast) recvSecret, sendSecret := deriveSecrets(randSecret, locIsLeast)
require.Equal(t, expectedRecvSecret, (*recvSecret)[:], "Recv Secrets aren't equal") require.Equal(t, expectedRecvSecret, (*recvSecret)[:], "Recv Secrets aren't equal")


+ 10
- 10
internal/state/execution_test.go View File

@ -45,7 +45,7 @@ func TestApplyBlock(t *testing.T) {
defer cancel() defer cancel()
err := proxyApp.Start(ctx) err := proxyApp.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
state, stateDB, _ := makeState(1, 1) state, stateDB, _ := makeState(1, 1)
stateStore := sm.NewStore(stateDB) stateStore := sm.NewStore(stateDB)
@ -60,7 +60,7 @@ func TestApplyBlock(t *testing.T) {
blockID := types.BlockID{Hash: block.Hash(), PartSetHeader: bps.Header()} blockID := types.BlockID{Hash: block.Hash(), PartSetHeader: bps.Header()}
state, err = blockExec.ApplyBlock(ctx, state, blockID, block) state, err = blockExec.ApplyBlock(ctx, state, blockID, block)
require.Nil(t, err)
require.NoError(t, err)
// TODO check state and mempool // TODO check state and mempool
assert.EqualValues(t, 1, state.Version.Consensus.App, "App version wasn't updated") assert.EqualValues(t, 1, state.Version.Consensus.App, "App version wasn't updated")
@ -76,7 +76,7 @@ func TestBeginBlockValidators(t *testing.T) {
proxyApp := proxy.NewAppConns(cc, log.TestingLogger(), proxy.NopMetrics()) proxyApp := proxy.NewAppConns(cc, log.TestingLogger(), proxy.NopMetrics())
err := proxyApp.Start(ctx) err := proxyApp.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
state, stateDB, _ := makeState(2, 2) state, stateDB, _ := makeState(2, 2)
stateStore := sm.NewStore(stateDB) stateStore := sm.NewStore(stateDB)
@ -116,7 +116,7 @@ func TestBeginBlockValidators(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
_, err = sm.ExecCommitBlock(ctx, nil, proxyApp.Consensus(), block, log.TestingLogger(), stateStore, 1, state) _, err = sm.ExecCommitBlock(ctx, nil, proxyApp.Consensus(), block, log.TestingLogger(), stateStore, 1, state)
require.Nil(t, err, tc.desc)
require.NoError(t, err, tc.desc)
// -> app receives a list of validators with a bool indicating if they signed // -> app receives a list of validators with a bool indicating if they signed
ctr := 0 ctr := 0
@ -142,7 +142,7 @@ func TestBeginBlockByzantineValidators(t *testing.T) {
cc := abciclient.NewLocalCreator(app) cc := abciclient.NewLocalCreator(app)
proxyApp := proxy.NewAppConns(cc, log.TestingLogger(), proxy.NopMetrics()) proxyApp := proxy.NewAppConns(cc, log.TestingLogger(), proxy.NopMetrics())
err := proxyApp.Start(ctx) err := proxyApp.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
state, stateDB, privVals := makeState(1, 1) state, stateDB, privVals := makeState(1, 1)
stateStore := sm.NewStore(stateDB) stateStore := sm.NewStore(stateDB)
@ -228,7 +228,7 @@ func TestBeginBlockByzantineValidators(t *testing.T) {
blockID = types.BlockID{Hash: block.Hash(), PartSetHeader: bps.Header()} blockID = types.BlockID{Hash: block.Hash(), PartSetHeader: bps.Header()}
_, err = blockExec.ApplyBlock(ctx, state, blockID, block) _, err = blockExec.ApplyBlock(ctx, state, blockID, block)
require.Nil(t, err)
require.NoError(t, err)
// TODO check state and mempool // TODO check state and mempool
assert.Equal(t, abciEv, app.ByzantineValidators) assert.Equal(t, abciEv, app.ByzantineValidators)
@ -374,7 +374,7 @@ func TestEndBlockValidatorUpdates(t *testing.T) {
logger := log.TestingLogger() logger := log.TestingLogger()
proxyApp := proxy.NewAppConns(cc, logger, proxy.NopMetrics()) proxyApp := proxy.NewAppConns(cc, logger, proxy.NopMetrics())
err := proxyApp.Start(ctx) err := proxyApp.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
state, stateDB, _ := makeState(1, 1) state, stateDB, _ := makeState(1, 1)
stateStore := sm.NewStore(stateDB) stateStore := sm.NewStore(stateDB)
@ -416,7 +416,7 @@ func TestEndBlockValidatorUpdates(t *testing.T) {
} }
state, err = blockExec.ApplyBlock(ctx, state, blockID, block) state, err = blockExec.ApplyBlock(ctx, state, blockID, block)
require.Nil(t, err)
require.NoError(t, err)
// test new validator was added to NextValidators // test new validator was added to NextValidators
if assert.Equal(t, state.Validators.Size()+1, state.NextValidators.Size()) { if assert.Equal(t, state.Validators.Size()+1, state.NextValidators.Size()) {
idx, _ := state.NextValidators.GetByAddress(pubkey.Address()) idx, _ := state.NextValidators.GetByAddress(pubkey.Address())
@ -449,7 +449,7 @@ func TestEndBlockValidatorUpdatesResultingInEmptySet(t *testing.T) {
logger := log.TestingLogger() logger := log.TestingLogger()
proxyApp := proxy.NewAppConns(cc, logger, proxy.NopMetrics()) proxyApp := proxy.NewAppConns(cc, logger, proxy.NopMetrics())
err := proxyApp.Start(ctx) err := proxyApp.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
state, stateDB, _ := makeState(1, 1) state, stateDB, _ := makeState(1, 1)
stateStore := sm.NewStore(stateDB) stateStore := sm.NewStore(stateDB)
@ -477,7 +477,7 @@ func TestEndBlockValidatorUpdatesResultingInEmptySet(t *testing.T) {
} }
assert.NotPanics(t, func() { state, err = blockExec.ApplyBlock(ctx, state, blockID, block) }) assert.NotPanics(t, func() { state, err = blockExec.ApplyBlock(ctx, state, blockID, block) })
assert.NotNil(t, err)
assert.Error(t, err)
assert.NotEmpty(t, state.NextValidators.Validators) assert.NotEmpty(t, state.NextValidators.Validators)
} }


+ 7
- 7
internal/state/indexer/indexer_service_test.go View File

@ -55,7 +55,7 @@ func TestIndexerServiceIndexesBlocks(t *testing.T) {
// event sink setup // event sink setup
pool, err := setupDB(t) pool, err := setupDB(t)
assert.Nil(t, err)
assert.NoError(t, err)
store := dbm.NewMemDB() store := dbm.NewMemDB()
eventSinks := []indexer.EventSink{kv.NewEventSink(store), pSink} eventSinks := []indexer.EventSink{kv.NewEventSink(store), pSink}
@ -126,17 +126,17 @@ func readSchema() ([]*schema.Migration, error) {
func resetDB(t *testing.T) { func resetDB(t *testing.T) {
q := "DROP TABLE IF EXISTS block_events,tx_events,tx_results" q := "DROP TABLE IF EXISTS block_events,tx_events,tx_results"
_, err := psqldb.Exec(q) _, err := psqldb.Exec(q)
assert.Nil(t, err)
assert.NoError(t, err)
q = "DROP TYPE IF EXISTS block_event_type" q = "DROP TYPE IF EXISTS block_event_type"
_, err = psqldb.Exec(q) _, err = psqldb.Exec(q)
assert.Nil(t, err)
assert.NoError(t, err)
} }
func setupDB(t *testing.T) (*dockertest.Pool, error) { func setupDB(t *testing.T) (*dockertest.Pool, error) {
t.Helper() t.Helper()
pool, err := dockertest.NewPool(os.Getenv("DOCKER_URL")) pool, err := dockertest.NewPool(os.Getenv("DOCKER_URL"))
assert.Nil(t, err)
assert.NoError(t, err)
resource, err = pool.RunWithOptions(&dockertest.RunOptions{ resource, err = pool.RunWithOptions(&dockertest.RunOptions{
Repository: "postgres", Repository: "postgres",
@ -156,7 +156,7 @@ func setupDB(t *testing.T) (*dockertest.Pool, error) {
} }
}) })
assert.Nil(t, err)
assert.NoError(t, err)
// Set the container to expire in a minute to avoid orphaned containers // Set the container to expire in a minute to avoid orphaned containers
// hanging around // hanging around
@ -178,11 +178,11 @@ func setupDB(t *testing.T) (*dockertest.Pool, error) {
resetDB(t) resetDB(t)
sm, err := readSchema() sm, err := readSchema()
assert.Nil(t, err)
assert.NoError(t, err)
migrator := schema.NewMigrator() migrator := schema.NewMigrator()
err = migrator.Apply(psqldb, sm) err = migrator.Apply(psqldb, sm)
assert.Nil(t, err)
assert.NoError(t, err)
return pool, nil return pool, nil
} }


+ 4
- 4
internal/state/indexer/sink/null/null_test.go View File

@ -19,16 +19,16 @@ func TestNullEventSink(t *testing.T) {
assert.Nil(t, nullIndexer.IndexBlockEvents(types.EventDataNewBlockHeader{})) assert.Nil(t, nullIndexer.IndexBlockEvents(types.EventDataNewBlockHeader{}))
val1, err1 := nullIndexer.SearchBlockEvents(ctx, nil) val1, err1 := nullIndexer.SearchBlockEvents(ctx, nil)
assert.Nil(t, val1) assert.Nil(t, val1)
assert.Nil(t, err1)
assert.NoError(t, err1)
val2, err2 := nullIndexer.SearchTxEvents(ctx, nil) val2, err2 := nullIndexer.SearchTxEvents(ctx, nil)
assert.Nil(t, val2) assert.Nil(t, val2)
assert.Nil(t, err2)
assert.NoError(t, err2)
val3, err3 := nullIndexer.GetTxByHash(nil) val3, err3 := nullIndexer.GetTxByHash(nil)
assert.Nil(t, val3) assert.Nil(t, val3)
assert.Nil(t, err3)
assert.NoError(t, err3)
val4, err4 := nullIndexer.HasBlock(0) val4, err4 := nullIndexer.HasBlock(0)
assert.False(t, val4) assert.False(t, val4)
assert.Nil(t, err4)
assert.NoError(t, err4)
} }
func TestType(t *testing.T) { func TestType(t *testing.T) {


+ 1
- 1
internal/state/indexer/sink/psql/psql_test.go View File

@ -336,7 +336,7 @@ func verifyNotImplemented(t *testing.T, label string, f func() (bool, error)) {
want := label + " is not supported via the postgres event sink" want := label + " is not supported via the postgres event sink"
ok, err := f() ok, err := f()
assert.False(t, ok) assert.False(t, ok)
require.NotNil(t, err)
require.Error(t, err)
assert.Equal(t, want, err.Error()) assert.Equal(t, want, err.Error())
} }


+ 32
- 38
internal/state/state_test.go View File

@ -51,18 +51,16 @@ func setupTestCase(t *testing.T) (func(t *testing.T), dbm.DB, sm.State) {
func TestStateCopy(t *testing.T) { func TestStateCopy(t *testing.T) {
tearDown, _, state := setupTestCase(t) tearDown, _, state := setupTestCase(t)
defer tearDown(t) defer tearDown(t)
assert := assert.New(t)
stateCopy := state.Copy() stateCopy := state.Copy()
assert.True(state.Equals(stateCopy),
fmt.Sprintf("expected state and its copy to be identical.\ngot: %v\nexpected: %v\n",
stateCopy, state))
assert.True(t, state.Equals(stateCopy),
"expected state and its copy to be identical.\ngot: %v\nexpected: %v",
stateCopy, state)
stateCopy.LastBlockHeight++ stateCopy.LastBlockHeight++
stateCopy.LastValidators = state.Validators stateCopy.LastValidators = state.Validators
assert.False(state.Equals(stateCopy), fmt.Sprintf(`expected states to be different. got same
%v`, state))
assert.False(t, state.Equals(stateCopy), "expected states to be different. got same %v", state)
} }
// TestMakeGenesisStateNilValidators tests state's consistency when genesis file's validators field is nil. // TestMakeGenesisStateNilValidators tests state's consistency when genesis file's validators field is nil.
@ -73,7 +71,7 @@ func TestMakeGenesisStateNilValidators(t *testing.T) {
} }
require.Nil(t, doc.ValidateAndComplete()) require.Nil(t, doc.ValidateAndComplete())
state, err := sm.MakeGenesisState(&doc) state, err := sm.MakeGenesisState(&doc)
require.Nil(t, err)
require.NoError(t, err)
require.Equal(t, 0, len(state.Validators.Validators)) require.Equal(t, 0, len(state.Validators.Validators))
require.Equal(t, 0, len(state.NextValidators.Validators)) require.Equal(t, 0, len(state.NextValidators.Validators))
} }
@ -83,7 +81,6 @@ func TestStateSaveLoad(t *testing.T) {
tearDown, stateDB, state := setupTestCase(t) tearDown, stateDB, state := setupTestCase(t)
defer tearDown(t) defer tearDown(t)
stateStore := sm.NewStore(stateDB) stateStore := sm.NewStore(stateDB)
assert := assert.New(t)
state.LastBlockHeight++ state.LastBlockHeight++
state.LastValidators = state.Validators state.LastValidators = state.Validators
@ -92,9 +89,9 @@ func TestStateSaveLoad(t *testing.T) {
loadedState, err := stateStore.Load() loadedState, err := stateStore.Load()
require.NoError(t, err) require.NoError(t, err)
assert.True(state.Equals(loadedState),
fmt.Sprintf("expected state and its copy to be identical.\ngot: %v\nexpected: %v\n",
loadedState, state))
assert.True(t, state.Equals(loadedState),
"expected state and its copy to be identical.\ngot: %v\nexpected: %v",
loadedState, state)
} }
// TestABCIResponsesSaveLoad tests saving and loading ABCIResponses. // TestABCIResponsesSaveLoad tests saving and loading ABCIResponses.
@ -102,7 +99,6 @@ func TestABCIResponsesSaveLoad1(t *testing.T) {
tearDown, stateDB, state := setupTestCase(t) tearDown, stateDB, state := setupTestCase(t)
defer tearDown(t) defer tearDown(t)
stateStore := sm.NewStore(stateDB) stateStore := sm.NewStore(stateDB)
assert := assert.New(t)
state.LastBlockHeight++ state.LastBlockHeight++
@ -123,17 +119,16 @@ func TestABCIResponsesSaveLoad1(t *testing.T) {
err = stateStore.SaveABCIResponses(block.Height, abciResponses) err = stateStore.SaveABCIResponses(block.Height, abciResponses)
require.NoError(t, err) require.NoError(t, err)
loadedABCIResponses, err := stateStore.LoadABCIResponses(block.Height) loadedABCIResponses, err := stateStore.LoadABCIResponses(block.Height)
assert.Nil(err)
assert.Equal(abciResponses, loadedABCIResponses,
fmt.Sprintf("ABCIResponses don't match:\ngot: %v\nexpected: %v\n",
loadedABCIResponses, abciResponses))
require.NoError(t, err)
assert.Equal(t, abciResponses, loadedABCIResponses,
"ABCIResponses don't match:\ngot: %v\nexpected: %v\n",
loadedABCIResponses, abciResponses)
} }
// TestResultsSaveLoad tests saving and loading ABCI results. // TestResultsSaveLoad tests saving and loading ABCI results.
func TestABCIResponsesSaveLoad2(t *testing.T) { func TestABCIResponsesSaveLoad2(t *testing.T) {
tearDown, stateDB, _ := setupTestCase(t) tearDown, stateDB, _ := setupTestCase(t)
defer tearDown(t) defer tearDown(t)
assert := assert.New(t)
stateStore := sm.NewStore(stateDB) stateStore := sm.NewStore(stateDB)
@ -186,7 +181,7 @@ func TestABCIResponsesSaveLoad2(t *testing.T) {
for i := range cases { for i := range cases {
h := int64(i + 1) h := int64(i + 1)
res, err := stateStore.LoadABCIResponses(h) res, err := stateStore.LoadABCIResponses(h)
assert.Error(err, "%d: %#v", i, res)
assert.Error(t, err, "%d: %#v", i, res)
} }
// Add all cases. // Add all cases.
@ -205,14 +200,14 @@ func TestABCIResponsesSaveLoad2(t *testing.T) {
for i, tc := range cases { for i, tc := range cases {
h := int64(i + 1) h := int64(i + 1)
res, err := stateStore.LoadABCIResponses(h) res, err := stateStore.LoadABCIResponses(h)
if assert.NoError(err, "%d", i) {
if assert.NoError(t, err, "%d", i) {
t.Log(res) t.Log(res)
responses := &tmstate.ABCIResponses{ responses := &tmstate.ABCIResponses{
BeginBlock: &abci.ResponseBeginBlock{}, BeginBlock: &abci.ResponseBeginBlock{},
DeliverTxs: tc.expected, DeliverTxs: tc.expected,
EndBlock: &abci.ResponseEndBlock{}, EndBlock: &abci.ResponseEndBlock{},
} }
assert.Equal(sm.ABCIResponsesResultsHash(responses), sm.ABCIResponsesResultsHash(res), "%d", i)
assert.Equal(t, sm.ABCIResponsesResultsHash(responses), sm.ABCIResponsesResultsHash(res), "%d", i)
} }
} }
} }
@ -221,23 +216,22 @@ func TestABCIResponsesSaveLoad2(t *testing.T) {
func TestValidatorSimpleSaveLoad(t *testing.T) { func TestValidatorSimpleSaveLoad(t *testing.T) {
tearDown, stateDB, state := setupTestCase(t) tearDown, stateDB, state := setupTestCase(t)
defer tearDown(t) defer tearDown(t)
assert := assert.New(t)
statestore := sm.NewStore(stateDB) statestore := sm.NewStore(stateDB)
// Can't load anything for height 0. // Can't load anything for height 0.
_, err := statestore.LoadValidators(0) _, err := statestore.LoadValidators(0)
assert.IsType(sm.ErrNoValSetForHeight{}, err, "expected err at height 0")
assert.IsType(t, sm.ErrNoValSetForHeight{}, err, "expected err at height 0")
// Should be able to load for height 1. // Should be able to load for height 1.
v, err := statestore.LoadValidators(1) v, err := statestore.LoadValidators(1)
assert.Nil(err, "expected no err at height 1")
assert.Equal(v.Hash(), state.Validators.Hash(), "expected validator hashes to match")
require.NoError(t, err, "expected no err at height 1")
assert.Equal(t, v.Hash(), state.Validators.Hash(), "expected validator hashes to match")
// Should be able to load for height 2. // Should be able to load for height 2.
v, err = statestore.LoadValidators(2) v, err = statestore.LoadValidators(2)
assert.Nil(err, "expected no err at height 2")
assert.Equal(v.Hash(), state.NextValidators.Hash(), "expected validator hashes to match")
require.NoError(t, err, "expected no err at height 2")
assert.Equal(t, v.Hash(), state.NextValidators.Hash(), "expected validator hashes to match")
// Increment height, save; should be able to load for next & next next height. // Increment height, save; should be able to load for next & next next height.
state.LastBlockHeight++ state.LastBlockHeight++
@ -245,11 +239,11 @@ func TestValidatorSimpleSaveLoad(t *testing.T) {
err = statestore.Save(state) err = statestore.Save(state)
require.NoError(t, err) require.NoError(t, err)
vp0, err := statestore.LoadValidators(nextHeight + 0) vp0, err := statestore.LoadValidators(nextHeight + 0)
assert.Nil(err, "expected no err")
assert.NoError(t, err)
vp1, err := statestore.LoadValidators(nextHeight + 1) vp1, err := statestore.LoadValidators(nextHeight + 1)
assert.Nil(err, "expected no err")
assert.Equal(vp0.Hash(), state.Validators.Hash(), "expected validator hashes to match")
assert.Equal(vp1.Hash(), state.NextValidators.Hash(), "expected next validator hashes to match")
assert.NoError(t, err)
assert.Equal(t, vp0.Hash(), state.Validators.Hash(), "expected validator hashes to match")
assert.Equal(t, vp1.Hash(), state.NextValidators.Hash(), "expected next validator hashes to match")
} }
// TestValidatorChangesSaveLoad tests saving and loading a validator set with changes. // TestValidatorChangesSaveLoad tests saving and loading a validator set with changes.
@ -301,7 +295,7 @@ func TestOneValidatorChangesSaveLoad(t *testing.T) {
for i, power := range testCases { for i, power := range testCases {
v, err := stateStore.LoadValidators(int64(i + 1 + 1)) // +1 because vset changes delayed by 1 block. v, err := stateStore.LoadValidators(int64(i + 1 + 1)) // +1 because vset changes delayed by 1 block.
assert.Nil(t, err, fmt.Sprintf("expected no err at height %d", i))
assert.NoError(t, err, fmt.Sprintf("expected no err at height %d", i))
assert.Equal(t, v.Size(), 1, "validator set size is greater than 1: %d", v.Size()) assert.Equal(t, v.Size(), 1, "validator set size is greater than 1: %d", v.Size())
_, val := v.GetByIndex(0) _, val := v.GetByIndex(0)
@ -958,11 +952,11 @@ func TestStoreLoadValidatorsIncrementsProposerPriority(t *testing.T) {
nextHeight := state.LastBlockHeight + 1 nextHeight := state.LastBlockHeight + 1
v0, err := stateStore.LoadValidators(nextHeight) v0, err := stateStore.LoadValidators(nextHeight)
assert.Nil(t, err)
assert.NoError(t, err)
acc0 := v0.Validators[0].ProposerPriority acc0 := v0.Validators[0].ProposerPriority
v1, err := stateStore.LoadValidators(nextHeight + 1) v1, err := stateStore.LoadValidators(nextHeight + 1)
assert.Nil(t, err)
assert.NoError(t, err)
acc1 := v1.Validators[0].ProposerPriority acc1 := v1.Validators[0].ProposerPriority
assert.NotEqual(t, acc1, acc0, "expected ProposerPriority value to change between heights") assert.NotEqual(t, acc1, acc0, "expected ProposerPriority value to change between heights")
@ -993,14 +987,14 @@ func TestManyValidatorChangesSaveLoad(t *testing.T) {
validatorUpdates, err = types.PB2TM.ValidatorUpdates(responses.EndBlock.ValidatorUpdates) validatorUpdates, err = types.PB2TM.ValidatorUpdates(responses.EndBlock.ValidatorUpdates)
require.NoError(t, err) require.NoError(t, err)
state, err = sm.UpdateState(state, blockID, &header, responses, validatorUpdates) state, err = sm.UpdateState(state, blockID, &header, responses, validatorUpdates)
require.Nil(t, err)
require.NoError(t, err)
nextHeight := state.LastBlockHeight + 1 nextHeight := state.LastBlockHeight + 1
err = stateStore.Save(state) err = stateStore.Save(state)
require.NoError(t, err) require.NoError(t, err)
// Load nextheight, it should be the oldpubkey. // Load nextheight, it should be the oldpubkey.
v0, err := stateStore.LoadValidators(nextHeight) v0, err := stateStore.LoadValidators(nextHeight)
assert.Nil(t, err)
assert.NoError(t, err)
assert.Equal(t, valSetSize, v0.Size()) assert.Equal(t, valSetSize, v0.Size())
index, val := v0.GetByAddress(pubkeyOld.Address()) index, val := v0.GetByAddress(pubkeyOld.Address())
assert.NotNil(t, val) assert.NotNil(t, val)
@ -1010,7 +1004,7 @@ func TestManyValidatorChangesSaveLoad(t *testing.T) {
// Load nextheight+1, it should be the new pubkey. // Load nextheight+1, it should be the new pubkey.
v1, err := stateStore.LoadValidators(nextHeight + 1) v1, err := stateStore.LoadValidators(nextHeight + 1)
assert.Nil(t, err)
assert.NoError(t, err)
assert.Equal(t, valSetSize, v1.Size()) assert.Equal(t, valSetSize, v1.Size())
index, val = v1.GetByAddress(pubkey.Address()) index, val = v1.GetByAddress(pubkey.Address())
assert.NotNil(t, val) assert.NotNil(t, val)
@ -1072,7 +1066,7 @@ func TestConsensusParamsChangesSaveLoad(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
state, err = sm.UpdateState(state, blockID, &header, responses, validatorUpdates) state, err = sm.UpdateState(state, blockID, &header, responses, validatorUpdates)
require.Nil(t, err)
require.NoError(t, err)
err := stateStore.Save(state) err := stateStore.Save(state)
require.NoError(t, err) require.NoError(t, err)
} }
@ -1094,7 +1088,7 @@ func TestConsensusParamsChangesSaveLoad(t *testing.T) {
for _, testCase := range testCases { for _, testCase := range testCases {
p, err := stateStore.LoadConsensusParams(testCase.height) p, err := stateStore.LoadConsensusParams(testCase.height)
assert.Nil(t, err, fmt.Sprintf("expected no err at height %d", testCase.height))
assert.NoError(t, err, fmt.Sprintf("expected no err at height %d", testCase.height))
assert.EqualValues(t, testCase.params, p, fmt.Sprintf(`unexpected consensus params at assert.EqualValues(t, testCase.params, p, fmt.Sprintf(`unexpected consensus params at
height %d`, testCase.height)) height %d`, testCase.height))
} }


+ 1
- 1
internal/statesync/dispatcher_test.go View File

@ -88,7 +88,7 @@ func TestDispatcherReturnsNoBlock(t *testing.T) {
<-ctx.Done() <-ctx.Done()
require.Nil(t, lb) require.Nil(t, lb)
require.Nil(t, err)
require.NoError(t, err)
} }
func TestDispatcherTimeOutWaitingOnLightBlock(t *testing.T) { func TestDispatcherTimeOutWaitingOnLightBlock(t *testing.T) {


+ 1
- 1
internal/store/store_test.go View File

@ -289,7 +289,7 @@ func TestBlockStoreSaveLoadBlock(t *testing.T) {
} }
assert.Nil(t, panicErr, "#%d: unexpected panic", i) assert.Nil(t, panicErr, "#%d: unexpected panic", i)
assert.Nil(t, err, "#%d: expecting a non-nil error", i)
assert.NoError(t, err, "#%d: expecting a non-nil error", i)
qua, ok := res.(*quad) qua, ok := res.(*quad)
if !ok || qua == nil { if !ok || qua == nil {
t.Errorf("#%d: got nil quad back; gotType=%T", i, res) t.Errorf("#%d: got nil quad back; gotType=%T", i, res)


+ 2
- 2
libs/bits/bit_array_test.go View File

@ -99,11 +99,11 @@ func TestSub(t *testing.T) {
for _, tc := range testCases { for _, tc := range testCases {
var bA *BitArray var bA *BitArray
err := json.Unmarshal([]byte(tc.initBA), &bA) err := json.Unmarshal([]byte(tc.initBA), &bA)
require.Nil(t, err)
require.NoError(t, err)
var o *BitArray var o *BitArray
err = json.Unmarshal([]byte(tc.subtractingBA), &o) err = json.Unmarshal([]byte(tc.subtractingBA), &o)
require.Nil(t, err)
require.NoError(t, err)
got, _ := json.Marshal(bA.Sub(o)) got, _ := json.Marshal(bA.Sub(o))
require.Equal( require.Equal(


+ 2
- 2
libs/bytes/bytes_test.go View File

@ -14,12 +14,12 @@ func TestMarshal(t *testing.T) {
bz := []byte("hello world") bz := []byte("hello world")
dataB := HexBytes(bz) dataB := HexBytes(bz)
bz2, err := dataB.Marshal() bz2, err := dataB.Marshal()
assert.Nil(t, err)
assert.NoError(t, err)
assert.Equal(t, bz, bz2) assert.Equal(t, bz, bz2)
var dataB2 HexBytes var dataB2 HexBytes
err = (&dataB2).Unmarshal(bz) err = (&dataB2).Unmarshal(bz)
assert.Nil(t, err)
assert.NoError(t, err)
assert.Equal(t, dataB, dataB2) assert.Equal(t, dataB, dataB2)
} }


+ 7
- 7
libs/cli/setup_test.go View File

@ -49,7 +49,7 @@ func TestSetupEnv(t *testing.T) {
viper.Reset() viper.Reset()
args := append([]string{cmd.Use}, tc.args...) args := append([]string{cmd.Use}, tc.args...)
err := RunWithArgs(cmd, args, tc.env) err := RunWithArgs(cmd, args, tc.env)
require.Nil(t, err, i)
require.NoError(t, err, i)
assert.Equal(t, tc.expected, foo, i) assert.Equal(t, tc.expected, foo, i)
} }
} }
@ -68,7 +68,7 @@ func TestSetupConfig(t *testing.T) {
cval1 := "fubble" cval1 := "fubble"
conf1 := tempDir() conf1 := tempDir()
err := WriteConfigVals(conf1, map[string]string{"boo": cval1}) err := WriteConfigVals(conf1, map[string]string{"boo": cval1})
require.Nil(t, err)
require.NoError(t, err)
cases := []struct { cases := []struct {
args []string args []string
@ -109,7 +109,7 @@ func TestSetupConfig(t *testing.T) {
viper.Reset() viper.Reset()
args := append([]string{cmd.Use}, tc.args...) args := append([]string{cmd.Use}, tc.args...)
err := RunWithArgs(cmd, args, tc.env) err := RunWithArgs(cmd, args, tc.env)
require.Nil(t, err, i)
require.NoError(t, err, i)
assert.Equal(t, tc.expected, foo, i) assert.Equal(t, tc.expected, foo, i)
assert.Equal(t, tc.expectedTwo, two, i) assert.Equal(t, tc.expectedTwo, two, i)
} }
@ -127,11 +127,11 @@ func TestSetupUnmarshal(t *testing.T) {
cval1, cval2 := "someone", "else" cval1, cval2 := "someone", "else"
conf1 := tempDir() conf1 := tempDir()
err := WriteConfigVals(conf1, map[string]string{"name": cval1}) err := WriteConfigVals(conf1, map[string]string{"name": cval1})
require.Nil(t, err)
require.NoError(t, err)
// even with some ignored fields, should be no problem // even with some ignored fields, should be no problem
conf2 := tempDir() conf2 := tempDir()
err = WriteConfigVals(conf2, map[string]string{"name": cval2, "foo": "bar"}) err = WriteConfigVals(conf2, map[string]string{"name": cval2, "foo": "bar"})
require.Nil(t, err)
require.NoError(t, err)
// unused is not declared on a flag and remains from base // unused is not declared on a flag and remains from base
base := DemoConfig{ base := DemoConfig{
@ -188,7 +188,7 @@ func TestSetupUnmarshal(t *testing.T) {
viper.Reset() viper.Reset()
args := append([]string{cmd.Use}, tc.args...) args := append([]string{cmd.Use}, tc.args...)
err := RunWithArgs(cmd, args, tc.env) err := RunWithArgs(cmd, args, tc.env)
require.Nil(t, err, i)
require.NoError(t, err, i)
assert.Equal(t, tc.expected, cfg, i) assert.Equal(t, tc.expected, cfg, i)
} }
} }
@ -221,7 +221,7 @@ func TestSetupTrace(t *testing.T) {
viper.Reset() viper.Reset()
args := append([]string{cmd.Use}, tc.args...) args := append([]string{cmd.Use}, tc.args...)
stdout, stderr, err := RunCaptureWithArgs(cmd, args, tc.env) stdout, stderr, err := RunCaptureWithArgs(cmd, args, tc.env)
require.NotNil(t, err, i)
require.Error(t, err, i)
require.Equal(t, "", stdout, i) require.Equal(t, "", stdout, i)
require.NotEqual(t, "", stderr, i) require.NotEqual(t, "", stderr, i)
msg := strings.Split(stderr, "\n") msg := strings.Split(stderr, "\n")


+ 1
- 1
light/provider/http/http_test.go View File

@ -52,7 +52,7 @@ func TestProvider(t *testing.T) {
t.Log("chainID:", chainID) t.Log("chainID:", chainID)
c, err := rpchttp.New(rpcAddr) c, err := rpchttp.New(rpcAddr)
require.Nil(t, err)
require.NoError(t, err)
p := lighthttp.NewWithClient(chainID, c) p := lighthttp.NewWithClient(chainID, c)
require.NoError(t, err) require.NoError(t, err)


+ 3
- 3
node/node_test.go View File

@ -265,7 +265,7 @@ func TestCreateProposalBlock(t *testing.T) {
cc := abciclient.NewLocalCreator(kvstore.NewApplication()) cc := abciclient.NewLocalCreator(kvstore.NewApplication())
proxyApp := proxy.NewAppConns(cc, logger, proxy.NopMetrics()) proxyApp := proxy.NewAppConns(cc, logger, proxy.NopMetrics())
err = proxyApp.Start(ctx) err = proxyApp.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
const height int64 = 1 const height int64 = 1
state, stateDB, privVals := state(t, 1, height) state, stateDB, privVals := state(t, 1, height)
@ -361,7 +361,7 @@ func TestMaxTxsProposalBlockSize(t *testing.T) {
cc := abciclient.NewLocalCreator(kvstore.NewApplication()) cc := abciclient.NewLocalCreator(kvstore.NewApplication())
proxyApp := proxy.NewAppConns(cc, logger, proxy.NopMetrics()) proxyApp := proxy.NewAppConns(cc, logger, proxy.NopMetrics())
err = proxyApp.Start(ctx) err = proxyApp.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
const height int64 = 1 const height int64 = 1
state, stateDB, _ := state(t, 1, height) state, stateDB, _ := state(t, 1, height)
@ -427,7 +427,7 @@ func TestMaxProposalBlockSize(t *testing.T) {
cc := abciclient.NewLocalCreator(kvstore.NewApplication()) cc := abciclient.NewLocalCreator(kvstore.NewApplication())
proxyApp := proxy.NewAppConns(cc, logger, proxy.NopMetrics()) proxyApp := proxy.NewAppConns(cc, logger, proxy.NopMetrics())
err = proxyApp.Start(ctx) err = proxyApp.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
state, stateDB, _ := state(t, types.MaxVotesCount, int64(1)) state, stateDB, _ := state(t, types.MaxVotesCount, int64(1))
stateStore := sm.NewStore(stateDB) stateStore := sm.NewStore(stateDB)


+ 40
- 54
privval/file_test.go View File

@ -21,12 +21,10 @@ import (
) )
func TestGenLoadValidator(t *testing.T) { func TestGenLoadValidator(t *testing.T) {
assert := assert.New(t)
tempKeyFile, err := os.CreateTemp("", "priv_validator_key_") tempKeyFile, err := os.CreateTemp("", "priv_validator_key_")
require.Nil(t, err)
require.NoError(t, err)
tempStateFile, err := os.CreateTemp("", "priv_validator_state_") tempStateFile, err := os.CreateTemp("", "priv_validator_state_")
require.Nil(t, err)
require.NoError(t, err)
privVal, err := GenFilePV(tempKeyFile.Name(), tempStateFile.Name(), "") privVal, err := GenFilePV(tempKeyFile.Name(), tempStateFile.Name(), "")
require.NoError(t, err) require.NoError(t, err)
@ -37,16 +35,16 @@ func TestGenLoadValidator(t *testing.T) {
addr := privVal.GetAddress() addr := privVal.GetAddress()
privVal, err = LoadFilePV(tempKeyFile.Name(), tempStateFile.Name()) privVal, err = LoadFilePV(tempKeyFile.Name(), tempStateFile.Name())
assert.NoError(err)
assert.Equal(addr, privVal.GetAddress(), "expected privval addr to be the same")
assert.Equal(height, privVal.LastSignState.Height, "expected privval.LastHeight to have been saved")
assert.NoError(t, err)
assert.Equal(t, addr, privVal.GetAddress(), "expected privval addr to be the same")
assert.Equal(t, height, privVal.LastSignState.Height, "expected privval.LastHeight to have been saved")
} }
func TestResetValidator(t *testing.T) { func TestResetValidator(t *testing.T) {
tempKeyFile, err := os.CreateTemp("", "priv_validator_key_") tempKeyFile, err := os.CreateTemp("", "priv_validator_key_")
require.Nil(t, err)
require.NoError(t, err)
tempStateFile, err := os.CreateTemp("", "priv_validator_state_") tempStateFile, err := os.CreateTemp("", "priv_validator_state_")
require.Nil(t, err)
require.NoError(t, err)
privVal, err := GenFilePV(tempKeyFile.Name(), tempStateFile.Name(), "") privVal, err := GenFilePV(tempKeyFile.Name(), tempStateFile.Name(), "")
require.NoError(t, err) require.NoError(t, err)
@ -73,12 +71,10 @@ func TestResetValidator(t *testing.T) {
} }
func TestLoadOrGenValidator(t *testing.T) { func TestLoadOrGenValidator(t *testing.T) {
assert := assert.New(t)
tempKeyFile, err := os.CreateTemp("", "priv_validator_key_") tempKeyFile, err := os.CreateTemp("", "priv_validator_key_")
require.Nil(t, err)
require.NoError(t, err)
tempStateFile, err := os.CreateTemp("", "priv_validator_state_") tempStateFile, err := os.CreateTemp("", "priv_validator_state_")
require.Nil(t, err)
require.NoError(t, err)
tempKeyFilePath := tempKeyFile.Name() tempKeyFilePath := tempKeyFile.Name()
if err := os.Remove(tempKeyFilePath); err != nil { if err := os.Remove(tempKeyFilePath); err != nil {
@ -94,12 +90,10 @@ func TestLoadOrGenValidator(t *testing.T) {
addr := privVal.GetAddress() addr := privVal.GetAddress()
privVal, err = LoadOrGenFilePV(tempKeyFilePath, tempStateFilePath) privVal, err = LoadOrGenFilePV(tempKeyFilePath, tempStateFilePath)
require.NoError(t, err) require.NoError(t, err)
assert.Equal(addr, privVal.GetAddress(), "expected privval addr to be the same")
assert.Equal(t, addr, privVal.GetAddress(), "expected privval addr to be the same")
} }
func TestUnmarshalValidatorState(t *testing.T) { func TestUnmarshalValidatorState(t *testing.T) {
assert, require := assert.New(t), require.New(t)
// create some fixed values // create some fixed values
serialized := `{ serialized := `{
"height": "1", "height": "1",
@ -109,22 +103,20 @@ func TestUnmarshalValidatorState(t *testing.T) {
val := FilePVLastSignState{} val := FilePVLastSignState{}
err := tmjson.Unmarshal([]byte(serialized), &val) err := tmjson.Unmarshal([]byte(serialized), &val)
require.Nil(err, "%+v", err)
require.NoError(t, err)
// make sure the values match // make sure the values match
assert.EqualValues(val.Height, 1)
assert.EqualValues(val.Round, 1)
assert.EqualValues(val.Step, 1)
assert.EqualValues(t, val.Height, 1)
assert.EqualValues(t, val.Round, 1)
assert.EqualValues(t, val.Step, 1)
// export it and make sure it is the same // export it and make sure it is the same
out, err := tmjson.Marshal(val) out, err := tmjson.Marshal(val)
require.Nil(err, "%+v", err)
assert.JSONEq(serialized, string(out))
require.NoError(t, err)
assert.JSONEq(t, serialized, string(out))
} }
func TestUnmarshalValidatorKey(t *testing.T) { func TestUnmarshalValidatorKey(t *testing.T) {
assert, require := assert.New(t), require.New(t)
// create some fixed values // create some fixed values
privKey := ed25519.GenPrivKey() privKey := ed25519.GenPrivKey()
pubKey := privKey.PubKey() pubKey := privKey.PubKey()
@ -148,26 +140,24 @@ func TestUnmarshalValidatorKey(t *testing.T) {
val := FilePVKey{} val := FilePVKey{}
err := tmjson.Unmarshal([]byte(serialized), &val) err := tmjson.Unmarshal([]byte(serialized), &val)
require.Nil(err, "%+v", err)
require.NoError(t, err)
// make sure the values match // make sure the values match
assert.EqualValues(addr, val.Address)
assert.EqualValues(pubKey, val.PubKey)
assert.EqualValues(privKey, val.PrivKey)
assert.EqualValues(t, addr, val.Address)
assert.EqualValues(t, pubKey, val.PubKey)
assert.EqualValues(t, privKey, val.PrivKey)
// export it and make sure it is the same // export it and make sure it is the same
out, err := tmjson.Marshal(val) out, err := tmjson.Marshal(val)
require.Nil(err, "%+v", err)
assert.JSONEq(serialized, string(out))
require.NoError(t, err)
assert.JSONEq(t, serialized, string(out))
} }
func TestSignVote(t *testing.T) { func TestSignVote(t *testing.T) {
assert := assert.New(t)
tempKeyFile, err := os.CreateTemp("", "priv_validator_key_") tempKeyFile, err := os.CreateTemp("", "priv_validator_key_")
require.Nil(t, err)
require.NoError(t, err)
tempStateFile, err := os.CreateTemp("", "priv_validator_state_") tempStateFile, err := os.CreateTemp("", "priv_validator_state_")
require.Nil(t, err)
require.NoError(t, err)
privVal, err := GenFilePV(tempKeyFile.Name(), tempStateFile.Name(), "") privVal, err := GenFilePV(tempKeyFile.Name(), tempStateFile.Name(), "")
require.NoError(t, err) require.NoError(t, err)
@ -187,11 +177,11 @@ func TestSignVote(t *testing.T) {
vote := newVote(privVal.Key.Address, 0, height, round, voteType, block1) vote := newVote(privVal.Key.Address, 0, height, round, voteType, block1)
v := vote.ToProto() v := vote.ToProto()
err = privVal.SignVote(context.Background(), "mychainid", v) err = privVal.SignVote(context.Background(), "mychainid", v)
assert.NoError(err, "expected no error signing vote")
assert.NoError(t, err, "expected no error signing vote")
// try to sign the same vote again; should be fine // try to sign the same vote again; should be fine
err = privVal.SignVote(context.Background(), "mychainid", v) err = privVal.SignVote(context.Background(), "mychainid", v)
assert.NoError(err, "expected no error on signing same vote")
assert.NoError(t, err, "expected no error on signing same vote")
// now try some bad votes // now try some bad votes
cases := []*types.Vote{ cases := []*types.Vote{
@ -202,26 +192,22 @@ func TestSignVote(t *testing.T) {
} }
for _, c := range cases { for _, c := range cases {
cpb := c.ToProto()
err = privVal.SignVote(context.Background(), "mychainid", cpb)
assert.Error(err, "expected error on signing conflicting vote")
assert.Error(t, privVal.SignVote(context.Background(), "mychainid", c.ToProto()),
"expected error on signing conflicting vote")
} }
// try signing a vote with a different time stamp // try signing a vote with a different time stamp
sig := vote.Signature sig := vote.Signature
vote.Timestamp = vote.Timestamp.Add(time.Duration(1000)) vote.Timestamp = vote.Timestamp.Add(time.Duration(1000))
err = privVal.SignVote(context.Background(), "mychainid", v)
assert.NoError(err)
assert.Equal(sig, vote.Signature)
assert.NoError(t, privVal.SignVote(context.Background(), "mychainid", v))
assert.Equal(t, sig, vote.Signature)
} }
func TestSignProposal(t *testing.T) { func TestSignProposal(t *testing.T) {
assert := assert.New(t)
tempKeyFile, err := os.CreateTemp("", "priv_validator_key_") tempKeyFile, err := os.CreateTemp("", "priv_validator_key_")
require.Nil(t, err)
require.NoError(t, err)
tempStateFile, err := os.CreateTemp("", "priv_validator_state_") tempStateFile, err := os.CreateTemp("", "priv_validator_state_")
require.Nil(t, err)
require.NoError(t, err)
privVal, err := GenFilePV(tempKeyFile.Name(), tempStateFile.Name(), "") privVal, err := GenFilePV(tempKeyFile.Name(), tempStateFile.Name(), "")
require.NoError(t, err) require.NoError(t, err)
@ -239,11 +225,11 @@ func TestSignProposal(t *testing.T) {
proposal := newProposal(height, round, block1) proposal := newProposal(height, round, block1)
pbp := proposal.ToProto() pbp := proposal.ToProto()
err = privVal.SignProposal(context.Background(), "mychainid", pbp) err = privVal.SignProposal(context.Background(), "mychainid", pbp)
assert.NoError(err, "expected no error signing proposal")
assert.NoError(t, err, "expected no error signing proposal")
// try to sign the same proposal again; should be fine // try to sign the same proposal again; should be fine
err = privVal.SignProposal(context.Background(), "mychainid", pbp) err = privVal.SignProposal(context.Background(), "mychainid", pbp)
assert.NoError(err, "expected no error on signing same proposal")
assert.NoError(t, err, "expected no error on signing same proposal")
// now try some bad Proposals // now try some bad Proposals
cases := []*types.Proposal{ cases := []*types.Proposal{
@ -254,16 +240,16 @@ func TestSignProposal(t *testing.T) {
} }
for _, c := range cases { for _, c := range cases {
err = privVal.SignProposal(context.Background(), "mychainid", c.ToProto())
assert.Error(err, "expected error on signing conflicting proposal")
assert.Error(t, privVal.SignProposal(context.Background(), "mychainid", c.ToProto()),
"expected error on signing conflicting proposal")
} }
// try signing a proposal with a different time stamp // try signing a proposal with a different time stamp
sig := proposal.Signature sig := proposal.Signature
proposal.Timestamp = proposal.Timestamp.Add(time.Duration(1000)) proposal.Timestamp = proposal.Timestamp.Add(time.Duration(1000))
err = privVal.SignProposal(context.Background(), "mychainid", pbp) err = privVal.SignProposal(context.Background(), "mychainid", pbp)
assert.NoError(err)
assert.Equal(sig, proposal.Signature)
assert.NoError(t, err)
assert.Equal(t, sig, proposal.Signature)
} }
func TestDifferByTimestamp(t *testing.T) { func TestDifferByTimestamp(t *testing.T) {
@ -271,9 +257,9 @@ func TestDifferByTimestamp(t *testing.T) {
defer cancel() defer cancel()
tempKeyFile, err := os.CreateTemp("", "priv_validator_key_") tempKeyFile, err := os.CreateTemp("", "priv_validator_key_")
require.Nil(t, err)
require.NoError(t, err)
tempStateFile, err := os.CreateTemp("", "priv_validator_state_") tempStateFile, err := os.CreateTemp("", "priv_validator_state_")
require.Nil(t, err)
require.NoError(t, err)
privVal, err := GenFilePV(tempKeyFile.Name(), tempStateFile.Name(), "") privVal, err := GenFilePV(tempKeyFile.Name(), tempStateFile.Name(), "")
require.NoError(t, err) require.NoError(t, err)


+ 1
- 1
rpc/client/event_test.go View File

@ -52,7 +52,7 @@ func testTxEventsSent(ctx context.Context, t *testing.T, broadcastMethod string,
// and wait for confirmation // and wait for confirmation
evt, err := client.WaitForOneEvent(c, types.EventTxValue, waitForEventTimeout) evt, err := client.WaitForOneEvent(c, types.EventTxValue, waitForEventTimeout)
require.Nil(t, err)
require.NoError(t, err)
// and make sure it has the proper info // and make sure it has the proper info
txe, ok := evt.(types.EventDataTx) txe, ok := evt.(types.EventDataTx)


+ 16
- 18
rpc/client/helpers_test.go View File

@ -14,8 +14,6 @@ import (
) )
func TestWaitForHeight(t *testing.T) { func TestWaitForHeight(t *testing.T) {
assert, require := assert.New(t), require.New(t)
// test with error result - immediate failure // test with error result - immediate failure
m := &mock.StatusMock{ m := &mock.StatusMock{
Call: mock.Call{ Call: mock.Call{
@ -26,10 +24,10 @@ func TestWaitForHeight(t *testing.T) {
// connection failure always leads to error // connection failure always leads to error
err := client.WaitForHeight(r, 8, nil) err := client.WaitForHeight(r, 8, nil)
require.NotNil(err)
require.Equal("bye", err.Error())
require.Error(t, err)
require.Equal(t, "bye", err.Error())
// we called status once to check // we called status once to check
require.Equal(1, len(r.Calls))
require.Equal(t, 1, len(r.Calls))
// now set current block height to 10 // now set current block height to 10
m.Call = mock.Call{ m.Call = mock.Call{
@ -38,16 +36,16 @@ func TestWaitForHeight(t *testing.T) {
// we will not wait for more than 10 blocks // we will not wait for more than 10 blocks
err = client.WaitForHeight(r, 40, nil) err = client.WaitForHeight(r, 40, nil)
require.NotNil(err)
require.True(strings.Contains(err.Error(), "aborting"))
require.Error(t, err)
require.True(t, strings.Contains(err.Error(), "aborting"))
// we called status once more to check // we called status once more to check
require.Equal(2, len(r.Calls))
require.Equal(t, 2, len(r.Calls))
// waiting for the past returns immediately // waiting for the past returns immediately
err = client.WaitForHeight(r, 5, nil) err = client.WaitForHeight(r, 5, nil)
require.Nil(err)
require.NoError(t, err)
// we called status once more to check // we called status once more to check
require.Equal(3, len(r.Calls))
require.Equal(t, 3, len(r.Calls))
// since we can't update in a background goroutine (test --race) // since we can't update in a background goroutine (test --race)
// we use the callback to update the status height // we use the callback to update the status height
@ -59,19 +57,19 @@ func TestWaitForHeight(t *testing.T) {
// we wait for a few blocks // we wait for a few blocks
err = client.WaitForHeight(r, 12, myWaiter) err = client.WaitForHeight(r, 12, myWaiter)
require.Nil(err)
require.NoError(t, err)
// we called status once to check // we called status once to check
require.Equal(5, len(r.Calls))
require.Equal(t, 5, len(r.Calls))
pre := r.Calls[3] pre := r.Calls[3]
require.Nil(pre.Error)
require.Nil(t, pre.Error)
prer, ok := pre.Response.(*coretypes.ResultStatus) prer, ok := pre.Response.(*coretypes.ResultStatus)
require.True(ok)
assert.Equal(int64(10), prer.SyncInfo.LatestBlockHeight)
require.True(t, ok)
assert.Equal(t, int64(10), prer.SyncInfo.LatestBlockHeight)
post := r.Calls[4] post := r.Calls[4]
require.Nil(post.Error)
require.Nil(t, post.Error)
postr, ok := post.Response.(*coretypes.ResultStatus) postr, ok := post.Response.(*coretypes.ResultStatus)
require.True(ok)
assert.Equal(int64(15), postr.SyncInfo.LatestBlockHeight)
require.True(t, ok)
assert.Equal(t, int64(15), postr.SyncInfo.LatestBlockHeight)
} }

+ 61
- 66
rpc/client/mock/abci_test.go View File

@ -19,8 +19,6 @@ import (
) )
func TestABCIMock(t *testing.T) { func TestABCIMock(t *testing.T) {
assert, require := assert.New(t), require.New(t)
key, value := []byte("foo"), []byte("bar") key, value := []byte("foo"), []byte("bar")
height := int64(10) height := int64(10)
goodTx := types.Tx{0x01, 0xff} goodTx := types.Tx{0x01, 0xff}
@ -47,40 +45,38 @@ func TestABCIMock(t *testing.T) {
// now, let's try to make some calls // now, let's try to make some calls
_, err := m.ABCIInfo(context.Background()) _, err := m.ABCIInfo(context.Background())
require.NotNil(err)
assert.Equal("foobar", err.Error())
require.NoError(t, err)
assert.Equal(t, "foobar", err.Error())
// query always returns the response // query always returns the response
_query, err := m.ABCIQueryWithOptions(context.Background(), "/", nil, client.ABCIQueryOptions{Prove: false}) _query, err := m.ABCIQueryWithOptions(context.Background(), "/", nil, client.ABCIQueryOptions{Prove: false})
query := _query.Response query := _query.Response
require.Nil(err)
require.NotNil(query)
assert.EqualValues(key, query.Key)
assert.EqualValues(value, query.Value)
assert.Equal(height, query.Height)
require.NoError(t, err)
require.NotNil(t, query)
assert.EqualValues(t, key, query.Key)
assert.EqualValues(t, value, query.Value)
assert.Equal(t, height, query.Height)
// non-commit calls always return errors // non-commit calls always return errors
_, err = m.BroadcastTxSync(context.Background(), goodTx) _, err = m.BroadcastTxSync(context.Background(), goodTx)
require.NotNil(err)
assert.Equal("must commit", err.Error())
require.NoError(t, err)
assert.Equal(t, "must commit", err.Error())
_, err = m.BroadcastTxAsync(context.Background(), goodTx) _, err = m.BroadcastTxAsync(context.Background(), goodTx)
require.NotNil(err)
assert.Equal("must commit", err.Error())
require.Error(t, err)
assert.Equal(t, "must commit", err.Error())
// commit depends on the input // commit depends on the input
_, err = m.BroadcastTxCommit(context.Background(), badTx) _, err = m.BroadcastTxCommit(context.Background(), badTx)
require.NotNil(err)
assert.Equal("bad tx", err.Error())
require.NoError(t, err)
assert.Equal(t, "bad tx", err.Error())
bres, err := m.BroadcastTxCommit(context.Background(), goodTx) bres, err := m.BroadcastTxCommit(context.Background(), goodTx)
require.Nil(err, "%+v", err)
assert.EqualValues(0, bres.CheckTx.Code)
assert.EqualValues("stand", bres.CheckTx.Data)
assert.EqualValues("deliver", bres.DeliverTx.Data)
require.NoError(t, err, "%+v", err)
assert.EqualValues(t, 0, bres.CheckTx.Code)
assert.EqualValues(t, "stand", bres.CheckTx.Data)
assert.EqualValues(t, "deliver", bres.DeliverTx.Data)
} }
func TestABCIRecorder(t *testing.T) { func TestABCIRecorder(t *testing.T) {
assert, require := assert.New(t), require.New(t)
// This mock returns errors on everything but Query // This mock returns errors on everything but Query
m := mock.ABCIMock{ m := mock.ABCIMock{
Info: mock.Call{Response: abci.ResponseInfo{ Info: mock.Call{Response: abci.ResponseInfo{
@ -93,10 +89,10 @@ func TestABCIRecorder(t *testing.T) {
} }
r := mock.NewABCIRecorder(m) r := mock.NewABCIRecorder(m)
require.Equal(0, len(r.Calls))
require.Equal(t, 0, len(r.Calls))
_, err := r.ABCIInfo(context.Background()) _, err := r.ABCIInfo(context.Background())
assert.Nil(err, "expected no err on info")
assert.NoError(t, err, "expected no err on info")
_, err = r.ABCIQueryWithOptions( _, err = r.ABCIQueryWithOptions(
context.Background(), context.Background(),
@ -104,79 +100,78 @@ func TestABCIRecorder(t *testing.T) {
bytes.HexBytes("data"), bytes.HexBytes("data"),
client.ABCIQueryOptions{Prove: false}, client.ABCIQueryOptions{Prove: false},
) )
assert.NotNil(err, "expected error on query")
require.Equal(2, len(r.Calls))
assert.NoError(t, err, "expected error on query")
require.Equal(t, 2, len(r.Calls))
info := r.Calls[0] info := r.Calls[0]
assert.Equal("abci_info", info.Name)
assert.Nil(info.Error)
assert.Nil(info.Args)
require.NotNil(info.Response)
assert.Equal(t, "abci_info", info.Name)
assert.Nil(t, info.Error)
assert.Nil(t, info.Args)
require.NotNil(t, info.Response)
ir, ok := info.Response.(*coretypes.ResultABCIInfo) ir, ok := info.Response.(*coretypes.ResultABCIInfo)
require.True(ok)
assert.Equal("data", ir.Response.Data)
assert.Equal("v0.9.9", ir.Response.Version)
require.True(t, ok)
assert.Equal(t, "data", ir.Response.Data)
assert.Equal(t, "v0.9.9", ir.Response.Version)
query := r.Calls[1] query := r.Calls[1]
assert.Equal("abci_query", query.Name)
assert.Nil(query.Response)
require.NotNil(query.Error)
assert.Equal("query", query.Error.Error())
require.NotNil(query.Args)
assert.Equal(t, "abci_query", query.Name)
assert.Nil(t, query.Response)
require.NotNil(t, query.Error)
assert.Equal(t, "query", query.Error.Error())
require.NotNil(t, query.Args)
qa, ok := query.Args.(mock.QueryArgs) qa, ok := query.Args.(mock.QueryArgs)
require.True(ok)
assert.Equal("path", qa.Path)
assert.EqualValues("data", qa.Data)
assert.False(qa.Prove)
require.True(t, ok)
assert.Equal(t, "path", qa.Path)
assert.EqualValues(t, "data", qa.Data)
assert.False(t, qa.Prove)
// now add some broadcasts (should all err) // now add some broadcasts (should all err)
txs := []types.Tx{{1}, {2}, {3}} txs := []types.Tx{{1}, {2}, {3}}
_, err = r.BroadcastTxCommit(context.Background(), txs[0]) _, err = r.BroadcastTxCommit(context.Background(), txs[0])
assert.NotNil(err, "expected err on broadcast")
assert.Error(t, err, "expected err on broadcast")
_, err = r.BroadcastTxSync(context.Background(), txs[1]) _, err = r.BroadcastTxSync(context.Background(), txs[1])
assert.NotNil(err, "expected err on broadcast")
assert.Error(t, err, "expected err on broadcast")
_, err = r.BroadcastTxAsync(context.Background(), txs[2]) _, err = r.BroadcastTxAsync(context.Background(), txs[2])
assert.NotNil(err, "expected err on broadcast")
assert.Error(t, err, "expected err on broadcast")
require.Equal(5, len(r.Calls))
require.Equal(t, 5, len(r.Calls))
bc := r.Calls[2] bc := r.Calls[2]
assert.Equal("broadcast_tx_commit", bc.Name)
assert.Nil(bc.Response)
require.NotNil(bc.Error)
assert.EqualValues(bc.Args, txs[0])
assert.Equal(t, "broadcast_tx_commit", bc.Name)
assert.Nil(t, bc.Response)
require.NotNil(t, bc.Error)
assert.EqualValues(t, bc.Args, txs[0])
bs := r.Calls[3] bs := r.Calls[3]
assert.Equal("broadcast_tx_sync", bs.Name)
assert.Nil(bs.Response)
require.NotNil(bs.Error)
assert.EqualValues(bs.Args, txs[1])
assert.Equal(t, "broadcast_tx_sync", bs.Name)
assert.Nil(t, bs.Response)
require.NotNil(t, bs.Error)
assert.EqualValues(t, bs.Args, txs[1])
ba := r.Calls[4] ba := r.Calls[4]
assert.Equal("broadcast_tx_async", ba.Name)
assert.Nil(ba.Response)
require.NotNil(ba.Error)
assert.EqualValues(ba.Args, txs[2])
assert.Equal(t, "broadcast_tx_async", ba.Name)
assert.Nil(t, ba.Response)
require.NotNil(t, ba.Error)
assert.EqualValues(t, ba.Args, txs[2])
} }
func TestABCIApp(t *testing.T) { func TestABCIApp(t *testing.T) {
assert, require := assert.New(t), require.New(t)
app := kvstore.NewApplication() app := kvstore.NewApplication()
m := mock.ABCIApp{app} m := mock.ABCIApp{app}
// get some info // get some info
info, err := m.ABCIInfo(context.Background()) info, err := m.ABCIInfo(context.Background())
require.Nil(err)
assert.Equal(`{"size":0}`, info.Response.GetData())
require.NoError(t, err)
assert.Equal(t, `{"size":0}`, info.Response.GetData())
// add a key // add a key
key, value := "foo", "bar" key, value := "foo", "bar"
tx := fmt.Sprintf("%s=%s", key, value) tx := fmt.Sprintf("%s=%s", key, value)
res, err := m.BroadcastTxCommit(context.Background(), types.Tx(tx)) res, err := m.BroadcastTxCommit(context.Background(), types.Tx(tx))
require.Nil(err)
assert.True(res.CheckTx.IsOK())
require.NotNil(res.DeliverTx)
assert.True(res.DeliverTx.IsOK())
require.NoError(t, err)
assert.True(t, res.CheckTx.IsOK())
require.NotNil(t, res.DeliverTx)
assert.True(t, res.DeliverTx.IsOK())
// commit // commit
// TODO: This may not be necessary in the future // TODO: This may not be necessary in the future
@ -192,8 +187,8 @@ func TestABCIApp(t *testing.T) {
client.ABCIQueryOptions{Prove: true}, client.ABCIQueryOptions{Prove: true},
) )
qres := _qres.Response qres := _qres.Response
require.Nil(err)
assert.EqualValues(value, qres.Value)
require.NoError(t, err)
assert.EqualValues(t, value, qres.Value)
// XXX Check proof // XXX Check proof
} }

+ 25
- 27
rpc/client/mock/status_test.go View File

@ -14,8 +14,6 @@ import (
) )
func TestStatus(t *testing.T) { func TestStatus(t *testing.T) {
assert, require := assert.New(t), require.New(t)
m := &mock.StatusMock{ m := &mock.StatusMock{
Call: mock.Call{ Call: mock.Call{
Response: &coretypes.ResultStatus{ Response: &coretypes.ResultStatus{
@ -38,37 +36,37 @@ func TestStatus(t *testing.T) {
} }
r := mock.NewStatusRecorder(m) r := mock.NewStatusRecorder(m)
require.Equal(0, len(r.Calls))
require.Equal(t, 0, len(r.Calls))
// make sure response works proper // make sure response works proper
status, err := r.Status(context.Background()) status, err := r.Status(context.Background())
require.Nil(err, "%+v", err)
assert.EqualValues("block", status.SyncInfo.LatestBlockHash)
assert.EqualValues(10, status.SyncInfo.LatestBlockHeight)
assert.EqualValues(20, status.SyncInfo.MaxPeerBlockHeight)
assert.EqualValues(time.Second, status.SyncInfo.TotalSyncedTime)
assert.EqualValues(time.Minute, status.SyncInfo.RemainingTime)
require.NoError(t, err)
assert.EqualValues(t, "block", status.SyncInfo.LatestBlockHash)
assert.EqualValues(t, 10, status.SyncInfo.LatestBlockHeight)
assert.EqualValues(t, 20, status.SyncInfo.MaxPeerBlockHeight)
assert.EqualValues(t, time.Second, status.SyncInfo.TotalSyncedTime)
assert.EqualValues(t, time.Minute, status.SyncInfo.RemainingTime)
// make sure recorder works properly // make sure recorder works properly
require.Equal(1, len(r.Calls))
require.Equal(t, 1, len(r.Calls))
rs := r.Calls[0] rs := r.Calls[0]
assert.Equal("status", rs.Name)
assert.Nil(rs.Args)
assert.Nil(rs.Error)
require.NotNil(rs.Response)
assert.Equal(t, "status", rs.Name)
assert.Nil(t, rs.Args)
assert.Nil(t, rs.Error)
require.NotNil(t, rs.Response)
st, ok := rs.Response.(*coretypes.ResultStatus) st, ok := rs.Response.(*coretypes.ResultStatus)
require.True(ok)
assert.EqualValues("block", st.SyncInfo.LatestBlockHash)
assert.EqualValues(10, st.SyncInfo.LatestBlockHeight)
assert.EqualValues(20, st.SyncInfo.MaxPeerBlockHeight)
assert.EqualValues(time.Second, status.SyncInfo.TotalSyncedTime)
assert.EqualValues(time.Minute, status.SyncInfo.RemainingTime)
require.True(t, ok)
assert.EqualValues(t, "block", st.SyncInfo.LatestBlockHash)
assert.EqualValues(t, 10, st.SyncInfo.LatestBlockHeight)
assert.EqualValues(t, 20, st.SyncInfo.MaxPeerBlockHeight)
assert.EqualValues(t, time.Second, status.SyncInfo.TotalSyncedTime)
assert.EqualValues(t, time.Minute, status.SyncInfo.RemainingTime)
assert.EqualValues(10, st.SyncInfo.TotalSnapshots)
assert.EqualValues(time.Duration(10), st.SyncInfo.ChunkProcessAvgTime)
assert.EqualValues(10, st.SyncInfo.SnapshotHeight)
assert.EqualValues(9, status.SyncInfo.SnapshotChunksCount)
assert.EqualValues(10, status.SyncInfo.SnapshotChunksTotal)
assert.EqualValues(9, status.SyncInfo.BackFilledBlocks)
assert.EqualValues(10, status.SyncInfo.BackFillBlocksTotal)
assert.EqualValues(t, 10, st.SyncInfo.TotalSnapshots)
assert.EqualValues(t, time.Duration(10), st.SyncInfo.ChunkProcessAvgTime)
assert.EqualValues(t, 10, st.SyncInfo.SnapshotHeight)
assert.EqualValues(t, 9, status.SyncInfo.SnapshotChunksCount)
assert.EqualValues(t, 10, status.SyncInfo.SnapshotChunksTotal)
assert.EqualValues(t, 9, status.SyncInfo.BackFilledBlocks)
assert.EqualValues(t, 10, status.SyncInfo.BackFillBlocksTotal)
} }

+ 33
- 33
rpc/client/rpc_test.go View File

@ -108,7 +108,7 @@ func TestClientOperations(t *testing.T) {
t.Run("CustomHTTPClient", func(t *testing.T) { t.Run("CustomHTTPClient", func(t *testing.T) {
remote := conf.RPC.ListenAddress remote := conf.RPC.ListenAddress
c, err := rpchttp.NewWithClient(remote, http.DefaultClient) c, err := rpchttp.NewWithClient(remote, http.DefaultClient)
require.Nil(t, err)
require.NoError(t, err)
status, err := c.Status(ctx) status, err := c.Status(ctx)
require.NoError(t, err) require.NoError(t, err)
require.NotNil(t, status) require.NotNil(t, status)
@ -118,10 +118,10 @@ func TestClientOperations(t *testing.T) {
remote := strings.ReplaceAll(conf.RPC.ListenAddress, "tcp", "http") remote := strings.ReplaceAll(conf.RPC.ListenAddress, "tcp", "http")
req, err := http.NewRequestWithContext(ctx, "GET", remote, nil) req, err := http.NewRequestWithContext(ctx, "GET", remote, nil)
require.Nil(t, err, "%+v", err)
require.NoError(t, err, "%+v", err)
req.Header.Set("Origin", origin) req.Header.Set("Origin", origin)
resp, err := http.DefaultClient.Do(req) resp, err := http.DefaultClient.Do(req)
require.Nil(t, err, "%+v", err)
require.NoError(t, err, "%+v", err)
defer resp.Body.Close() defer resp.Body.Close()
assert.Equal(t, resp.Header.Get("Access-Control-Allow-Origin"), origin) assert.Equal(t, resp.Header.Get("Access-Control-Allow-Origin"), origin)
@ -208,7 +208,7 @@ func TestClientMethodCalls(t *testing.T) {
t.Run(fmt.Sprintf("%T", c), func(t *testing.T) { t.Run(fmt.Sprintf("%T", c), func(t *testing.T) {
t.Run("Status", func(t *testing.T) { t.Run("Status", func(t *testing.T) {
status, err := c.Status(ctx) status, err := c.Status(ctx)
require.Nil(t, err, "%d: %+v", i, err)
require.NoError(t, err, "%d: %+v", i, err)
assert.Equal(t, conf.Moniker, status.NodeInfo.Moniker) assert.Equal(t, conf.Moniker, status.NodeInfo.Moniker)
}) })
t.Run("Info", func(t *testing.T) { t.Run("Info", func(t *testing.T) {
@ -225,7 +225,7 @@ func TestClientMethodCalls(t *testing.T) {
nc, ok := c.(client.NetworkClient) nc, ok := c.(client.NetworkClient)
require.True(t, ok, "%d", i) require.True(t, ok, "%d", i)
netinfo, err := nc.NetInfo(ctx) netinfo, err := nc.NetInfo(ctx)
require.Nil(t, err, "%d: %+v", i, err)
require.NoError(t, err, "%d: %+v", i, err)
assert.True(t, netinfo.Listening) assert.True(t, netinfo.Listening)
assert.Equal(t, 0, len(netinfo.Peers)) assert.Equal(t, 0, len(netinfo.Peers))
}) })
@ -234,7 +234,7 @@ func TestClientMethodCalls(t *testing.T) {
nc, ok := c.(client.NetworkClient) nc, ok := c.(client.NetworkClient)
require.True(t, ok, "%d", i) require.True(t, ok, "%d", i)
cons, err := nc.DumpConsensusState(ctx) cons, err := nc.DumpConsensusState(ctx)
require.Nil(t, err, "%d: %+v", i, err)
require.NoError(t, err, "%d: %+v", i, err)
assert.NotEmpty(t, cons.RoundState) assert.NotEmpty(t, cons.RoundState)
assert.Empty(t, cons.Peers) assert.Empty(t, cons.Peers)
}) })
@ -243,19 +243,19 @@ func TestClientMethodCalls(t *testing.T) {
nc, ok := c.(client.NetworkClient) nc, ok := c.(client.NetworkClient)
require.True(t, ok, "%d", i) require.True(t, ok, "%d", i)
cons, err := nc.ConsensusState(ctx) cons, err := nc.ConsensusState(ctx)
require.Nil(t, err, "%d: %+v", i, err)
require.NoError(t, err, "%d: %+v", i, err)
assert.NotEmpty(t, cons.RoundState) assert.NotEmpty(t, cons.RoundState)
}) })
t.Run("Health", func(t *testing.T) { t.Run("Health", func(t *testing.T) {
nc, ok := c.(client.NetworkClient) nc, ok := c.(client.NetworkClient)
require.True(t, ok, "%d", i) require.True(t, ok, "%d", i)
_, err := nc.Health(ctx) _, err := nc.Health(ctx)
require.Nil(t, err, "%d: %+v", i, err)
require.NoError(t, err, "%d: %+v", i, err)
}) })
t.Run("GenesisAndValidators", func(t *testing.T) { t.Run("GenesisAndValidators", func(t *testing.T) {
// make sure this is the right genesis file // make sure this is the right genesis file
gen, err := c.Genesis(ctx) gen, err := c.Genesis(ctx)
require.Nil(t, err, "%d: %+v", i, err)
require.NoError(t, err, "%d: %+v", i, err)
// get the genesis validator // get the genesis validator
require.Equal(t, 1, len(gen.Genesis.Validators)) require.Equal(t, 1, len(gen.Genesis.Validators))
gval := gen.Genesis.Validators[0] gval := gen.Genesis.Validators[0]
@ -263,7 +263,7 @@ func TestClientMethodCalls(t *testing.T) {
// get the current validators // get the current validators
h := int64(1) h := int64(1)
vals, err := c.Validators(ctx, &h, nil, nil) vals, err := c.Validators(ctx, &h, nil, nil)
require.Nil(t, err, "%d: %+v", i, err)
require.NoError(t, err, "%d: %+v", i, err)
require.Equal(t, 1, len(vals.Validators)) require.Equal(t, 1, len(vals.Validators))
require.Equal(t, 1, vals.Count) require.Equal(t, 1, vals.Count)
require.Equal(t, 1, vals.Total) require.Equal(t, 1, vals.Total)
@ -415,17 +415,17 @@ func TestClientMethodCalls(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
res, err := c.BlockchainInfo(ctx, 0, 0) res, err := c.BlockchainInfo(ctx, 0, 0)
require.Nil(t, err, "%d: %+v", i, err)
require.NoError(t, err, "%d: %+v", i, err)
assert.True(t, res.LastHeight > 0) assert.True(t, res.LastHeight > 0)
assert.True(t, len(res.BlockMetas) > 0) assert.True(t, len(res.BlockMetas) > 0)
res, err = c.BlockchainInfo(ctx, 1, 1) res, err = c.BlockchainInfo(ctx, 1, 1)
require.Nil(t, err, "%d: %+v", i, err)
require.NoError(t, err, "%d: %+v", i, err)
assert.True(t, res.LastHeight > 0) assert.True(t, res.LastHeight > 0)
assert.True(t, len(res.BlockMetas) == 1) assert.True(t, len(res.BlockMetas) == 1)
res, err = c.BlockchainInfo(ctx, 1, 10000) res, err = c.BlockchainInfo(ctx, 1, 10000)
require.Nil(t, err, "%d: %+v", i, err)
require.NoError(t, err, "%d: %+v", i, err)
assert.True(t, res.LastHeight > 0) assert.True(t, res.LastHeight > 0)
assert.True(t, len(res.BlockMetas) < 100) assert.True(t, len(res.BlockMetas) < 100)
for _, m := range res.BlockMetas { for _, m := range res.BlockMetas {
@ -433,14 +433,14 @@ func TestClientMethodCalls(t *testing.T) {
} }
res, err = c.BlockchainInfo(ctx, 10000, 1) res, err = c.BlockchainInfo(ctx, 10000, 1)
require.NotNil(t, err)
require.Error(t, err)
assert.Nil(t, res) assert.Nil(t, res)
assert.Contains(t, err.Error(), "can't be greater than max") assert.Contains(t, err.Error(), "can't be greater than max")
}) })
t.Run("BroadcastTxCommit", func(t *testing.T) { t.Run("BroadcastTxCommit", func(t *testing.T) {
_, _, tx := MakeTxKV() _, _, tx := MakeTxKV()
bres, err := c.BroadcastTxCommit(ctx, tx) bres, err := c.BroadcastTxCommit(ctx, tx)
require.Nil(t, err, "%d: %+v", i, err)
require.NoError(t, err, "%d: %+v", i, err)
require.True(t, bres.CheckTx.IsOK()) require.True(t, bres.CheckTx.IsOK())
require.True(t, bres.DeliverTx.IsOK()) require.True(t, bres.DeliverTx.IsOK())
@ -450,7 +450,7 @@ func TestClientMethodCalls(t *testing.T) {
_, _, tx := MakeTxKV() _, _, tx := MakeTxKV()
initMempoolSize := pool.Size() initMempoolSize := pool.Size()
bres, err := c.BroadcastTxSync(ctx, tx) bres, err := c.BroadcastTxSync(ctx, tx)
require.Nil(t, err, "%d: %+v", i, err)
require.NoError(t, err, "%d: %+v", i, err)
require.Equal(t, bres.Code, abci.CodeTypeOK) // FIXME require.Equal(t, bres.Code, abci.CodeTypeOK) // FIXME
require.Equal(t, initMempoolSize+1, pool.Size()) require.Equal(t, initMempoolSize+1, pool.Size())
@ -476,11 +476,11 @@ func TestClientMethodCalls(t *testing.T) {
// if so, then we start it, listen, and stop it. // if so, then we start it, listen, and stop it.
err := c.Start(ctx) err := c.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
} }
t.Run("Header", func(t *testing.T) { t.Run("Header", func(t *testing.T) {
evt, err := client.WaitForOneEvent(c, types.EventNewBlockHeaderValue, waitForEventTimeout) evt, err := client.WaitForOneEvent(c, types.EventNewBlockHeaderValue, waitForEventTimeout)
require.Nil(t, err, "%d: %+v", i, err)
require.NoError(t, err, "%d: %+v", i, err)
_, ok := evt.(types.EventDataNewBlockHeader) _, ok := evt.(types.EventDataNewBlockHeader)
require.True(t, ok, "%d: %#v", i, evt) require.True(t, ok, "%d: %#v", i, evt)
// TODO: more checks... // TODO: more checks...
@ -637,7 +637,7 @@ func TestClientMethodCallsAdvanced(t *testing.T) {
mc, ok := c.(client.MempoolClient) mc, ok := c.(client.MempoolClient)
require.True(t, ok, "%d", i) require.True(t, ok, "%d", i)
res, err := mc.NumUnconfirmedTxs(ctx) res, err := mc.NumUnconfirmedTxs(ctx)
require.Nil(t, err, "%d: %+v", i, err)
require.NoError(t, err, "%d: %+v", i, err)
assert.Equal(t, mempoolSize, res.Count) assert.Equal(t, mempoolSize, res.Count)
assert.Equal(t, mempoolSize, res.Total) assert.Equal(t, mempoolSize, res.Total)
@ -652,7 +652,7 @@ func TestClientMethodCallsAdvanced(t *testing.T) {
// first we broadcast a tx // first we broadcast a tx
_, _, tx := MakeTxKV() _, _, tx := MakeTxKV()
bres, err := c.BroadcastTxCommit(ctx, tx) bres, err := c.BroadcastTxCommit(ctx, tx)
require.Nil(t, err, "%+v", err)
require.NoError(t, err, "%+v", err)
txHeight := bres.Height txHeight := bres.Height
txHash := bres.Hash txHash := bres.Hash
@ -682,9 +682,9 @@ func TestClientMethodCallsAdvanced(t *testing.T) {
ptx, err := c.Tx(ctx, tc.hash, tc.prove) ptx, err := c.Tx(ctx, tc.hash, tc.prove)
if !tc.valid { if !tc.valid {
require.NotNil(t, err)
require.Error(t, err)
} else { } else {
require.Nil(t, err, "%+v", err)
require.NoError(t, err, "%+v", err)
assert.EqualValues(t, txHeight, ptx.Height) assert.EqualValues(t, txHeight, ptx.Height)
assert.EqualValues(t, tx, ptx.Tx) assert.EqualValues(t, tx, ptx.Tx)
assert.Zero(t, ptx.Index) assert.Zero(t, ptx.Index)
@ -711,7 +711,7 @@ func TestClientMethodCallsAdvanced(t *testing.T) {
// query using a compositeKey (see kvstore application) // query using a compositeKey (see kvstore application)
result, err := timeoutClient.TxSearch(ctx, "app.creator='Cosmoshi Netowoko'", false, nil, nil, "asc") result, err := timeoutClient.TxSearch(ctx, "app.creator='Cosmoshi Netowoko'", false, nil, nil, "asc")
require.Nil(t, err)
require.NoError(t, err)
require.Greater(t, len(result.Txs), 0, "expected a lot of transactions") require.Greater(t, len(result.Txs), 0, "expected a lot of transactions")
}) })
t.Run("TxSearch", func(t *testing.T) { t.Run("TxSearch", func(t *testing.T) {
@ -739,7 +739,7 @@ func TestClientMethodCallsAdvanced(t *testing.T) {
t.Run(fmt.Sprintf("%T", c), func(t *testing.T) { t.Run(fmt.Sprintf("%T", c), func(t *testing.T) {
// now we query for the tx. // now we query for the tx.
result, err := c.TxSearch(ctx, fmt.Sprintf("tx.hash='%v'", find.Hash), true, nil, nil, "asc") result, err := c.TxSearch(ctx, fmt.Sprintf("tx.hash='%v'", find.Hash), true, nil, nil, "asc")
require.Nil(t, err)
require.NoError(t, err)
require.Len(t, result.Txs, 1) require.Len(t, result.Txs, 1)
require.Equal(t, find.Hash, result.Txs[0].Hash) require.Equal(t, find.Hash, result.Txs[0].Hash)
@ -757,51 +757,51 @@ func TestClientMethodCallsAdvanced(t *testing.T) {
// query by height // query by height
result, err = c.TxSearch(ctx, fmt.Sprintf("tx.height=%d", find.Height), true, nil, nil, "asc") result, err = c.TxSearch(ctx, fmt.Sprintf("tx.height=%d", find.Height), true, nil, nil, "asc")
require.Nil(t, err)
require.NoError(t, err)
require.Len(t, result.Txs, 1) require.Len(t, result.Txs, 1)
// query for non existing tx // query for non existing tx
result, err = c.TxSearch(ctx, fmt.Sprintf("tx.hash='%X'", anotherTxHash), false, nil, nil, "asc") result, err = c.TxSearch(ctx, fmt.Sprintf("tx.hash='%X'", anotherTxHash), false, nil, nil, "asc")
require.Nil(t, err)
require.NoError(t, err)
require.Len(t, result.Txs, 0) require.Len(t, result.Txs, 0)
// query using a compositeKey (see kvstore application) // query using a compositeKey (see kvstore application)
result, err = c.TxSearch(ctx, "app.creator='Cosmoshi Netowoko'", false, nil, nil, "asc") result, err = c.TxSearch(ctx, "app.creator='Cosmoshi Netowoko'", false, nil, nil, "asc")
require.Nil(t, err)
require.NoError(t, err)
require.Greater(t, len(result.Txs), 0, "expected a lot of transactions") require.Greater(t, len(result.Txs), 0, "expected a lot of transactions")
// query using an index key // query using an index key
result, err = c.TxSearch(ctx, "app.index_key='index is working'", false, nil, nil, "asc") result, err = c.TxSearch(ctx, "app.index_key='index is working'", false, nil, nil, "asc")
require.Nil(t, err)
require.NoError(t, err)
require.Greater(t, len(result.Txs), 0, "expected a lot of transactions") require.Greater(t, len(result.Txs), 0, "expected a lot of transactions")
// query using an noindex key // query using an noindex key
result, err = c.TxSearch(ctx, "app.noindex_key='index is working'", false, nil, nil, "asc") result, err = c.TxSearch(ctx, "app.noindex_key='index is working'", false, nil, nil, "asc")
require.Nil(t, err)
require.NoError(t, err)
require.Equal(t, len(result.Txs), 0, "expected a lot of transactions") require.Equal(t, len(result.Txs), 0, "expected a lot of transactions")
// query using a compositeKey (see kvstore application) and height // query using a compositeKey (see kvstore application) and height
result, err = c.TxSearch(ctx, result, err = c.TxSearch(ctx,
"app.creator='Cosmoshi Netowoko' AND tx.height<10000", true, nil, nil, "asc") "app.creator='Cosmoshi Netowoko' AND tx.height<10000", true, nil, nil, "asc")
require.Nil(t, err)
require.NoError(t, err)
require.Greater(t, len(result.Txs), 0, "expected a lot of transactions") require.Greater(t, len(result.Txs), 0, "expected a lot of transactions")
// query a non existing tx with page 1 and txsPerPage 1 // query a non existing tx with page 1 and txsPerPage 1
perPage := 1 perPage := 1
result, err = c.TxSearch(ctx, "app.creator='Cosmoshi Neetowoko'", true, nil, &perPage, "asc") result, err = c.TxSearch(ctx, "app.creator='Cosmoshi Neetowoko'", true, nil, &perPage, "asc")
require.Nil(t, err)
require.NoError(t, err)
require.Len(t, result.Txs, 0) require.Len(t, result.Txs, 0)
// check sorting // check sorting
result, err = c.TxSearch(ctx, "tx.height >= 1", false, nil, nil, "asc") result, err = c.TxSearch(ctx, "tx.height >= 1", false, nil, nil, "asc")
require.Nil(t, err)
require.NoError(t, err)
for k := 0; k < len(result.Txs)-1; k++ { for k := 0; k < len(result.Txs)-1; k++ {
require.LessOrEqual(t, result.Txs[k].Height, result.Txs[k+1].Height) require.LessOrEqual(t, result.Txs[k].Height, result.Txs[k+1].Height)
require.LessOrEqual(t, result.Txs[k].Index, result.Txs[k+1].Index) require.LessOrEqual(t, result.Txs[k].Index, result.Txs[k+1].Index)
} }
result, err = c.TxSearch(ctx, "tx.height >= 1", false, nil, nil, "desc") result, err = c.TxSearch(ctx, "tx.height >= 1", false, nil, nil, "desc")
require.Nil(t, err)
require.NoError(t, err)
for k := 0; k < len(result.Txs)-1; k++ { for k := 0; k < len(result.Txs)-1; k++ {
require.GreaterOrEqual(t, result.Txs[k].Height, result.Txs[k+1].Height) require.GreaterOrEqual(t, result.Txs[k].Height, result.Txs[k+1].Height)
require.GreaterOrEqual(t, result.Txs[k].Index, result.Txs[k+1].Index) require.GreaterOrEqual(t, result.Txs[k].Index, result.Txs[k+1].Index)


+ 3
- 3
rpc/jsonrpc/client/http_json_client_test.go View File

@ -27,7 +27,7 @@ func TestHTTPClientMakeHTTPDialer(t *testing.T) {
u, err := newParsedURL(testURL) u, err := newParsedURL(testURL)
require.NoError(t, err) require.NoError(t, err)
dialFn, err := makeHTTPDialer(testURL) dialFn, err := makeHTTPDialer(testURL)
require.Nil(t, err)
require.NoError(t, err)
addr, err := dialFn(u.Scheme, u.GetHostWithPath()) addr, err := dialFn(u.Scheme, u.GetHostWithPath())
require.NoError(t, err) require.NoError(t, err)
@ -92,7 +92,7 @@ func TestMakeHTTPDialerURL(t *testing.T) {
u, err := newParsedURL(remote) u, err := newParsedURL(remote)
require.NoError(t, err) require.NoError(t, err)
dialFn, err := makeHTTPDialer(remote) dialFn, err := makeHTTPDialer(remote)
require.Nil(t, err)
require.NoError(t, err)
addr, err := dialFn(u.Scheme, u.GetHostWithPath()) addr, err := dialFn(u.Scheme, u.GetHostWithPath())
require.NoError(t, err) require.NoError(t, err)
@ -105,7 +105,7 @@ func TestMakeHTTPDialerURL(t *testing.T) {
u, err := newParsedURL(errorURL) u, err := newParsedURL(errorURL)
require.NoError(t, err) require.NoError(t, err)
dialFn, err := makeHTTPDialer(errorURL) dialFn, err := makeHTTPDialer(errorURL)
require.Nil(t, err)
require.NoError(t, err)
addr, err := dialFn(u.Scheme, u.GetHostWithPath()) addr, err := dialFn(u.Scheme, u.GetHostWithPath())
require.Error(t, err) require.Error(t, err)


+ 1
- 1
rpc/jsonrpc/client/integration_test.go View File

@ -31,7 +31,7 @@ func TestWSClientReconnectWithJitter(t *testing.T) {
logger := log.NewTMLogger(buf) logger := log.NewTMLogger(buf)
for i := 0; i < n; i++ { for i := 0; i < n; i++ {
c, err := NewWS("tcp://foo", "/websocket") c, err := NewWS("tcp://foo", "/websocket")
require.Nil(t, err)
require.NoError(t, err)
c.Dialer = func(string, string) (net.Conn, error) { c.Dialer = func(string, string) (net.Conn, error) {
return nil, errNotConnected return nil, errNotConnected
} }


+ 2
- 2
rpc/jsonrpc/client/ws_client_test.go View File

@ -225,9 +225,9 @@ func startClient(ctx context.Context, t *testing.T, addr string) *WSClient {
opts.SkipMetrics = true opts.SkipMetrics = true
c, err := NewWSWithOptions(addr, "/websocket", opts) c, err := NewWSWithOptions(addr, "/websocket", opts)
require.Nil(t, err)
require.NoError(t, err)
err = c.Start(ctx) err = c.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
c.Logger = log.NewTestingLogger(t) c.Logger = log.NewTestingLogger(t)
return c return c
} }


+ 19
- 19
rpc/jsonrpc/jsonrpc_test.go View File

@ -186,22 +186,22 @@ func echoDataBytesViaHTTP(ctx context.Context, cl client.Caller, bytes tmbytes.H
func testWithHTTPClient(ctx context.Context, t *testing.T, cl client.HTTPClient) { func testWithHTTPClient(ctx context.Context, t *testing.T, cl client.HTTPClient) {
val := testVal val := testVal
got, err := echoViaHTTP(ctx, cl, val) got, err := echoViaHTTP(ctx, cl, val)
require.Nil(t, err)
require.NoError(t, err)
assert.Equal(t, got, val) assert.Equal(t, got, val)
val2 := randBytes(t) val2 := randBytes(t)
got2, err := echoBytesViaHTTP(ctx, cl, val2) got2, err := echoBytesViaHTTP(ctx, cl, val2)
require.Nil(t, err)
require.NoError(t, err)
assert.Equal(t, got2, val2) assert.Equal(t, got2, val2)
val3 := tmbytes.HexBytes(randBytes(t)) val3 := tmbytes.HexBytes(randBytes(t))
got3, err := echoDataBytesViaHTTP(ctx, cl, val3) got3, err := echoDataBytesViaHTTP(ctx, cl, val3)
require.Nil(t, err)
require.NoError(t, err)
assert.Equal(t, got3, val3) assert.Equal(t, got3, val3)
val4 := mrand.Intn(10000) val4 := mrand.Intn(10000)
got4, err := echoIntViaHTTP(ctx, cl, val4) got4, err := echoIntViaHTTP(ctx, cl, val4)
require.Nil(t, err)
require.NoError(t, err)
assert.Equal(t, got4, val4) assert.Equal(t, got4, val4)
} }
@ -252,12 +252,12 @@ func echoBytesViaWS(cl *client.WSClient, bytes []byte) ([]byte, error) {
func testWithWSClient(t *testing.T, cl *client.WSClient) { func testWithWSClient(t *testing.T, cl *client.WSClient) {
val := testVal val := testVal
got, err := echoViaWS(cl, val) got, err := echoViaWS(cl, val)
require.Nil(t, err)
require.NoError(t, err)
assert.Equal(t, got, val) assert.Equal(t, got, val)
val2 := randBytes(t) val2 := randBytes(t)
got2, err := echoBytesViaWS(cl, val2) got2, err := echoBytesViaWS(cl, val2)
require.Nil(t, err)
require.NoError(t, err)
assert.Equal(t, got2, val2) assert.Equal(t, got2, val2)
} }
@ -276,15 +276,15 @@ func TestServersAndClientsBasic(t *testing.T) {
logger := log.NewTestingLogger(t) logger := log.NewTestingLogger(t)
cl2, err := client.New(addr) cl2, err := client.New(addr)
require.Nil(t, err)
require.NoError(t, err)
fmt.Printf("=== testing server on %s using JSONRPC client", addr) fmt.Printf("=== testing server on %s using JSONRPC client", addr)
testWithHTTPClient(ctx, t, cl2) testWithHTTPClient(ctx, t, cl2)
cl3, err := client.NewWS(addr, websocketEndpoint) cl3, err := client.NewWS(addr, websocketEndpoint)
require.Nil(t, err)
require.NoError(t, err)
cl3.Logger = logger cl3.Logger = logger
err = cl3.Start(ctx) err = cl3.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
fmt.Printf("=== testing server on %s using WS client", addr) fmt.Printf("=== testing server on %s using WS client", addr)
testWithWSClient(t, cl3) testWithWSClient(t, cl3)
cancel() cancel()
@ -297,10 +297,10 @@ func TestWSNewWSRPCFunc(t *testing.T) {
defer cancel() defer cancel()
cl, err := client.NewWS(tcpAddr, websocketEndpoint) cl, err := client.NewWS(tcpAddr, websocketEndpoint)
require.Nil(t, err)
require.NoError(t, err)
cl.Logger = log.NewTestingLogger(t) cl.Logger = log.NewTestingLogger(t)
err = cl.Start(ctx) err = cl.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
t.Cleanup(func() { t.Cleanup(func() {
if err := cl.Stop(); err != nil { if err := cl.Stop(); err != nil {
t.Error(err) t.Error(err)
@ -312,7 +312,7 @@ func TestWSNewWSRPCFunc(t *testing.T) {
"arg": val, "arg": val,
} }
err = cl.Call(context.Background(), "echo_ws", params) err = cl.Call(context.Background(), "echo_ws", params)
require.Nil(t, err)
require.NoError(t, err)
msg := <-cl.ResponsesCh msg := <-cl.ResponsesCh
if msg.Error != nil { if msg.Error != nil {
@ -320,7 +320,7 @@ func TestWSNewWSRPCFunc(t *testing.T) {
} }
result := new(ResultEcho) result := new(ResultEcho)
err = json.Unmarshal(msg.Result, result) err = json.Unmarshal(msg.Result, result)
require.Nil(t, err)
require.NoError(t, err)
got := result.Value got := result.Value
assert.Equal(t, got, val) assert.Equal(t, got, val)
} }
@ -330,7 +330,7 @@ func TestWSHandlesArrayParams(t *testing.T) {
defer cancel() defer cancel()
cl, err := client.NewWS(tcpAddr, websocketEndpoint) cl, err := client.NewWS(tcpAddr, websocketEndpoint)
require.Nil(t, err)
require.NoError(t, err)
cl.Logger = log.NewTestingLogger(t) cl.Logger = log.NewTestingLogger(t)
require.Nil(t, cl.Start(ctx)) require.Nil(t, cl.Start(ctx))
@ -343,7 +343,7 @@ func TestWSHandlesArrayParams(t *testing.T) {
val := testVal val := testVal
params := []interface{}{val} params := []interface{}{val}
err = cl.CallWithArrayParams(context.Background(), "echo_ws", params) err = cl.CallWithArrayParams(context.Background(), "echo_ws", params)
require.Nil(t, err)
require.NoError(t, err)
msg := <-cl.ResponsesCh msg := <-cl.ResponsesCh
if msg.Error != nil { if msg.Error != nil {
@ -351,7 +351,7 @@ func TestWSHandlesArrayParams(t *testing.T) {
} }
result := new(ResultEcho) result := new(ResultEcho)
err = json.Unmarshal(msg.Result, result) err = json.Unmarshal(msg.Result, result)
require.Nil(t, err)
require.NoError(t, err)
got := result.Value got := result.Value
assert.Equal(t, got, val) assert.Equal(t, got, val)
} }
@ -363,10 +363,10 @@ func TestWSClientPingPong(t *testing.T) {
defer cancel() defer cancel()
cl, err := client.NewWS(tcpAddr, websocketEndpoint) cl, err := client.NewWS(tcpAddr, websocketEndpoint)
require.Nil(t, err)
require.NoError(t, err)
cl.Logger = log.NewTestingLogger(t) cl.Logger = log.NewTestingLogger(t)
err = cl.Start(ctx) err = cl.Start(ctx)
require.Nil(t, err)
require.NoError(t, err)
t.Cleanup(func() { t.Cleanup(func() {
if err := cl.Stop(); err != nil { if err := cl.Stop(); err != nil {
t.Error(err) t.Error(err)
@ -380,6 +380,6 @@ func randBytes(t *testing.T) []byte {
n := mrand.Intn(10) + 2 n := mrand.Intn(10) + 2
buf := make([]byte, n) buf := make([]byte, n)
_, err := crand.Read(buf) _, err := crand.Read(buf)
require.Nil(t, err)
require.NoError(t, err)
return bytes.ReplaceAll(buf, []byte("="), []byte{100}) return bytes.ReplaceAll(buf, []byte("="), []byte{100})
} }

+ 4
- 4
rpc/jsonrpc/server/http_json_handler_test.go View File

@ -121,7 +121,7 @@ func TestJSONRPCID(t *testing.T) {
recv := new(rpctypes.RPCResponse) recv := new(rpctypes.RPCResponse)
err = json.Unmarshal(blob, recv) err = json.Unmarshal(blob, recv)
assert.Nil(t, err, "#%d: expecting successful parsing of an RPCResponse:\nblob: %s", i, blob)
assert.NoError(t, err, "#%d: expecting successful parsing of an RPCResponse:\nblob: %s", i, blob)
if !tt.wantErr { if !tt.wantErr {
assert.NotEqual(t, recv, new(rpctypes.RPCResponse), "#%d: not expecting a blank RPCResponse", i) assert.NotEqual(t, recv, new(rpctypes.RPCResponse), "#%d: not expecting a blank RPCResponse", i)
assert.Equal(t, tt.expectedID, recv.ID, "#%d: expected ID not matched in RPCResponse", i) assert.Equal(t, tt.expectedID, recv.ID, "#%d: expected ID not matched in RPCResponse", i)
@ -144,7 +144,7 @@ func TestRPCNotification(t *testing.T) {
require.True(t, statusOK(res.StatusCode), "should always return 2XX") require.True(t, statusOK(res.StatusCode), "should always return 2XX")
blob, err := io.ReadAll(res.Body) blob, err := io.ReadAll(res.Body)
res.Body.Close() res.Body.Close()
require.Nil(t, err, "reading from the body should not give back an error")
require.NoError(t, err, "reading from the body should not give back an error")
require.Equal(t, len(blob), 0, "a notification SHOULD NOT be responded to by the server") require.Equal(t, len(blob), 0, "a notification SHOULD NOT be responded to by the server")
} }
@ -241,7 +241,7 @@ func TestRPCResponseCache(t *testing.T) {
_, err := io.ReadAll(res.Body) _, err := io.ReadAll(res.Body)
res.Body.Close() res.Body.Close()
require.Nil(t, err, "reading from the body should not give back an error")
require.NoError(t, err, "reading from the body should not give back an error")
// send a request with default height. // send a request with default height.
body = strings.NewReader(`{"jsonrpc": "2.0","method":"block","id": 0, "params": ["0"]}`) body = strings.NewReader(`{"jsonrpc": "2.0","method":"block","id": 0, "params": ["0"]}`)
@ -256,5 +256,5 @@ func TestRPCResponseCache(t *testing.T) {
_, err = io.ReadAll(res.Body) _, err = io.ReadAll(res.Body)
res.Body.Close() res.Body.Close()
require.Nil(t, err, "reading from the body should not give back an error")
require.NoError(t, err, "reading from the body should not give back an error")
} }

+ 13
- 13
rpc/jsonrpc/server/parse_test.go View File

@ -19,7 +19,7 @@ func TestParseJSONMap(t *testing.T) {
// naive is float,string // naive is float,string
var p1 map[string]interface{} var p1 map[string]interface{}
err := json.Unmarshal(input, &p1) err := json.Unmarshal(input, &p1)
if assert.Nil(t, err) {
if assert.NoError(t, err) {
h, ok := p1["height"].(float64) h, ok := p1["height"].(float64)
if assert.True(t, ok, "%#v", p1["height"]) { if assert.True(t, ok, "%#v", p1["height"]) {
assert.EqualValues(t, 22, h) assert.EqualValues(t, 22, h)
@ -37,7 +37,7 @@ func TestParseJSONMap(t *testing.T) {
"height": &tmp, "height": &tmp,
} }
err = json.Unmarshal(input, &p2) err = json.Unmarshal(input, &p2)
if assert.Nil(t, err) {
if assert.NoError(t, err) {
h, ok := p2["height"].(float64) h, ok := p2["height"].(float64)
if assert.True(t, ok, "%#v", p2["height"]) { if assert.True(t, ok, "%#v", p2["height"]) {
assert.EqualValues(t, 22, h) assert.EqualValues(t, 22, h)
@ -59,7 +59,7 @@ func TestParseJSONMap(t *testing.T) {
Value: &bytes.HexBytes{}, Value: &bytes.HexBytes{},
} }
err = json.Unmarshal(input, &p3) err = json.Unmarshal(input, &p3)
if assert.Nil(t, err) {
if assert.NoError(t, err) {
h, ok := p3.Height.(*int) h, ok := p3.Height.(*int)
if assert.True(t, ok, "%#v", p3.Height) { if assert.True(t, ok, "%#v", p3.Height) {
assert.Equal(t, 22, *h) assert.Equal(t, 22, *h)
@ -76,7 +76,7 @@ func TestParseJSONMap(t *testing.T) {
Height int `json:"height"` Height int `json:"height"`
}{} }{}
err = json.Unmarshal(input, &p4) err = json.Unmarshal(input, &p4)
if assert.Nil(t, err) {
if assert.NoError(t, err) {
assert.EqualValues(t, 22, p4.Height) assert.EqualValues(t, 22, p4.Height)
assert.EqualValues(t, []byte{0x12, 0x34}, p4.Value) assert.EqualValues(t, []byte{0x12, 0x34}, p4.Value)
} }
@ -85,16 +85,16 @@ func TestParseJSONMap(t *testing.T) {
// dynamic keys on map, and we can deserialize to the desired types // dynamic keys on map, and we can deserialize to the desired types
var p5 map[string]*json.RawMessage var p5 map[string]*json.RawMessage
err = json.Unmarshal(input, &p5) err = json.Unmarshal(input, &p5)
if assert.Nil(t, err) {
if assert.NoError(t, err) {
var h int var h int
err = json.Unmarshal(*p5["height"], &h) err = json.Unmarshal(*p5["height"], &h)
if assert.Nil(t, err) {
if assert.NoError(t, err) {
assert.Equal(t, 22, h) assert.Equal(t, 22, h)
} }
var v bytes.HexBytes var v bytes.HexBytes
err = json.Unmarshal(*p5["value"], &v) err = json.Unmarshal(*p5["value"], &v)
if assert.Nil(t, err) {
if assert.NoError(t, err) {
assert.Equal(t, bytes.HexBytes{0x12, 0x34}, v) assert.Equal(t, bytes.HexBytes{0x12, 0x34}, v)
} }
} }
@ -106,7 +106,7 @@ func TestParseJSONArray(t *testing.T) {
// naive is float,string // naive is float,string
var p1 []interface{} var p1 []interface{}
err := json.Unmarshal(input, &p1) err := json.Unmarshal(input, &p1)
if assert.Nil(t, err) {
if assert.NoError(t, err) {
v, ok := p1[0].(string) v, ok := p1[0].(string)
if assert.True(t, ok, "%#v", p1[0]) { if assert.True(t, ok, "%#v", p1[0]) {
assert.EqualValues(t, "1234", v) assert.EqualValues(t, "1234", v)
@ -121,7 +121,7 @@ func TestParseJSONArray(t *testing.T) {
tmp := 0 tmp := 0
p2 := []interface{}{&bytes.HexBytes{}, &tmp} p2 := []interface{}{&bytes.HexBytes{}, &tmp}
err = json.Unmarshal(input, &p2) err = json.Unmarshal(input, &p2)
if assert.Nil(t, err) {
if assert.NoError(t, err) {
v, ok := p2[0].(*bytes.HexBytes) v, ok := p2[0].(*bytes.HexBytes)
if assert.True(t, ok, "%#v", p2[0]) { if assert.True(t, ok, "%#v", p2[0]) {
assert.EqualValues(t, []byte{0x12, 0x34}, *v) assert.EqualValues(t, []byte{0x12, 0x34}, *v)
@ -158,9 +158,9 @@ func TestParseJSONRPC(t *testing.T) {
data := []byte(tc.raw) data := []byte(tc.raw)
vals, err := jsonParamsToArgs(call, data) vals, err := jsonParamsToArgs(call, data)
if tc.fail { if tc.fail {
assert.NotNil(t, err, i)
assert.Error(t, err, i)
} else { } else {
assert.Nil(t, err, "%s: %+v", i, err)
assert.NoError(t, err, "%s: %+v", i, err)
if assert.Equal(t, 2, len(vals), i) { if assert.Equal(t, 2, len(vals), i) {
assert.Equal(t, tc.height, vals[0].Int(), i) assert.Equal(t, tc.height, vals[0].Int(), i)
assert.Equal(t, tc.name, vals[1].String(), i) assert.Equal(t, tc.name, vals[1].String(), i)
@ -200,9 +200,9 @@ func TestParseURI(t *testing.T) {
assert.NoError(t, err) assert.NoError(t, err)
vals, err := httpParamsToArgs(call, req) vals, err := httpParamsToArgs(call, req)
if tc.fail { if tc.fail {
assert.NotNil(t, err, i)
assert.Error(t, err, i)
} else { } else {
assert.Nil(t, err, "%s: %+v", i, err)
assert.NoError(t, err, "%s: %+v", i, err)
if assert.Equal(t, 2, len(vals), i) { if assert.Equal(t, 2, len(vals), i) {
assert.Equal(t, tc.height, vals[0].Int(), i) assert.Equal(t, tc.height, vals[0].Int(), i)
assert.Equal(t, tc.name, vals[1].String(), i) assert.Equal(t, tc.name, vals[1].String(), i)


+ 8
- 8
rpc/jsonrpc/types/types_test.go View File

@ -7,6 +7,7 @@ import (
"testing" "testing"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
type SampleResult struct { type SampleResult struct {
@ -30,41 +31,40 @@ var responseTests = []responseTest{
} }
func TestResponses(t *testing.T) { func TestResponses(t *testing.T) {
assert := assert.New(t)
for _, tt := range responseTests { for _, tt := range responseTests {
jsonid := tt.id jsonid := tt.id
a := NewRPCSuccessResponse(jsonid, &SampleResult{"hello"}) a := NewRPCSuccessResponse(jsonid, &SampleResult{"hello"})
b, _ := json.Marshal(a) b, _ := json.Marshal(a)
s := fmt.Sprintf(`{"jsonrpc":"2.0","id":%v,"result":{"Value":"hello"}}`, tt.expected) s := fmt.Sprintf(`{"jsonrpc":"2.0","id":%v,"result":{"Value":"hello"}}`, tt.expected)
assert.Equal(s, string(b))
assert.Equal(t, s, string(b))
d := RPCParseError(errors.New("hello world")) d := RPCParseError(errors.New("hello world"))
e, _ := json.Marshal(d) e, _ := json.Marshal(d)
f := `{"jsonrpc":"2.0","error":{"code":-32700,"message":"Parse error","data":"hello world"}}` f := `{"jsonrpc":"2.0","error":{"code":-32700,"message":"Parse error","data":"hello world"}}`
assert.Equal(f, string(e))
assert.Equal(t, f, string(e))
g := RPCMethodNotFoundError(jsonid) g := RPCMethodNotFoundError(jsonid)
h, _ := json.Marshal(g) h, _ := json.Marshal(g)
i := fmt.Sprintf(`{"jsonrpc":"2.0","id":%v,"error":{"code":-32601,"message":"Method not found"}}`, tt.expected) i := fmt.Sprintf(`{"jsonrpc":"2.0","id":%v,"error":{"code":-32601,"message":"Method not found"}}`, tt.expected)
assert.Equal(string(h), i)
assert.Equal(t, string(h), i)
} }
} }
func TestUnmarshallResponses(t *testing.T) { func TestUnmarshallResponses(t *testing.T) {
assert := assert.New(t)
for _, tt := range responseTests { for _, tt := range responseTests {
response := &RPCResponse{} response := &RPCResponse{}
err := json.Unmarshal( err := json.Unmarshal(
[]byte(fmt.Sprintf(`{"jsonrpc":"2.0","id":%v,"result":{"Value":"hello"}}`, tt.expected)), []byte(fmt.Sprintf(`{"jsonrpc":"2.0","id":%v,"result":{"Value":"hello"}}`, tt.expected)),
response, response,
) )
assert.Nil(err)
require.NoError(t, err)
a := NewRPCSuccessResponse(tt.id, &SampleResult{"hello"}) a := NewRPCSuccessResponse(tt.id, &SampleResult{"hello"})
assert.Equal(*response, a)
assert.Equal(t, *response, a)
} }
response := &RPCResponse{} response := &RPCResponse{}
err := json.Unmarshal([]byte(`{"jsonrpc":"2.0","id":true,"result":{"Value":"hello"}}`), response) err := json.Unmarshal([]byte(`{"jsonrpc":"2.0","id":true,"result":{"Value":"hello"}}`), response)
assert.NotNil(err)
require.Error(t, err)
} }
func TestRPCError(t *testing.T) { func TestRPCError(t *testing.T) {


+ 1
- 1
types/block_test.go View File

@ -606,7 +606,7 @@ func TestCommitToVoteSetWithVotesForNilBlock(t *testing.T) {
commit := voteSet.MakeCommit() // panics without > 2/3 valid votes commit := voteSet.MakeCommit() // panics without > 2/3 valid votes
assert.NotNil(t, commit) assert.NotNil(t, commit)
err := valSet.VerifyCommit(voteSet.ChainID(), blockID, height-1, commit) err := valSet.VerifyCommit(voteSet.ChainID(), blockID, height-1, commit)
assert.Nil(t, err)
assert.NoError(t, err)
} else { } else {
assert.Panics(t, func() { voteSet.MakeCommit() }) assert.Panics(t, func() { voteSet.MakeCommit() })
} }


+ 1
- 1
types/node_info_test.go View File

@ -241,7 +241,7 @@ func TestParseAddressString(t *testing.T) {
t.Run(tc.name, func(t *testing.T) { t.Run(tc.name, func(t *testing.T) {
addr, port, err := ParseAddressString(tc.addr) addr, port, err := ParseAddressString(tc.addr)
if tc.correct { if tc.correct {
require.Nil(t, err, tc.addr)
require.NoError(t, err, tc.addr)
assert.Contains(t, tc.expected, addr.String()) assert.Contains(t, tc.expected, addr.String())
assert.Contains(t, tc.expected, fmt.Sprint(port)) assert.Contains(t, tc.expected, fmt.Sprint(port))
} else { } else {


+ 2
- 2
types/node_key_test.go View File

@ -14,10 +14,10 @@ func TestLoadOrGenNodeKey(t *testing.T) {
filePath := filepath.Join(t.TempDir(), "peer_id.json") filePath := filepath.Join(t.TempDir(), "peer_id.json")
nodeKey, err := types.LoadOrGenNodeKey(filePath) nodeKey, err := types.LoadOrGenNodeKey(filePath)
require.Nil(t, err)
require.NoError(t, err)
nodeKey2, err := types.LoadOrGenNodeKey(filePath) nodeKey2, err := types.LoadOrGenNodeKey(filePath)
require.Nil(t, err)
require.NoError(t, err)
require.Equal(t, nodeKey, nodeKey2) require.Equal(t, nodeKey, nodeKey2)
} }


+ 1
- 1
types/part_set_test.go View File

@ -48,7 +48,7 @@ func TestBasicPartSet(t *testing.T) {
// adding existing part // adding existing part
added, err = partSet2.AddPart(partSet2.GetPart(0)) added, err = partSet2.AddPart(partSet2.GetPart(0))
assert.False(t, added) assert.False(t, added)
assert.Nil(t, err)
assert.NoError(t, err)
assert.Equal(t, partSet.Hash(), partSet2.Hash()) assert.Equal(t, partSet.Hash(), partSet2.Hash())
assert.EqualValues(t, nParts, partSet2.Total()) assert.EqualValues(t, nParts, partSet2.Total())


+ 2
- 2
types/protobuf_test.go View File

@ -37,7 +37,7 @@ func TestABCIValidators(t *testing.T) {
abciVal := TM2PB.ValidatorUpdate(tmVal) abciVal := TM2PB.ValidatorUpdate(tmVal)
tmVals, err := PB2TM.ValidatorUpdates([]abci.ValidatorUpdate{abciVal}) tmVals, err := PB2TM.ValidatorUpdates([]abci.ValidatorUpdate{abciVal})
assert.Nil(t, err)
assert.NoError(t, err)
assert.Equal(t, tmValExpected, tmVals[0]) assert.Equal(t, tmValExpected, tmVals[0])
abciVals := TM2PB.ValidatorUpdates(NewValidatorSet(tmVals)) abciVals := TM2PB.ValidatorUpdates(NewValidatorSet(tmVals))
@ -48,7 +48,7 @@ func TestABCIValidators(t *testing.T) {
abciVal = TM2PB.ValidatorUpdate(tmVal) abciVal = TM2PB.ValidatorUpdate(tmVal)
tmVals, err = PB2TM.ValidatorUpdates([]abci.ValidatorUpdate{abciVal}) tmVals, err = PB2TM.ValidatorUpdates([]abci.ValidatorUpdate{abciVal})
assert.Nil(t, err)
assert.NoError(t, err)
assert.Equal(t, tmValExpected, tmVals[0]) assert.Equal(t, tmValExpected, tmVals[0])
} }


+ 1
- 1
types/tx_test.go View File

@ -92,7 +92,7 @@ func TestValidTxProof(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
p2, err = TxProofFromProto(pb2) p2, err = TxProofFromProto(pb2)
if assert.Nil(t, err, "%d: %d: %+v", h, i, err) {
if assert.NoError(t, err, "%d: %d: %+v", h, i, err) {
assert.Nil(t, p2.Validate(root), "%d: %d", h, i) assert.Nil(t, p2.Validate(root), "%d: %d", h, i)
} }
} }


Loading…
Cancel
Save