From e9cefc4bfc3ce92bb1d724659e339737f645a389 Mon Sep 17 00:00:00 2001 From: Roman Khimov Date: Wed, 12 May 2021 21:34:07 +0300 Subject: [PATCH] *: fix all errcheck warnings in testing code --- cli/contract_test.go | 3 ++- cli/server/server_test.go | 24 ++++++++++++------- cli/smartcontract/smart_contract_test.go | 6 +++-- pkg/core/native/management_test.go | 3 ++- pkg/core/native_neo_test.go | 3 ++- pkg/core/native_notary_test.go | 3 ++- pkg/core/notary_test.go | 3 ++- pkg/rpc/client/rpc_test.go | 6 +++-- pkg/rpc/client/wsclient_test.go | 9 ++++--- pkg/rpc/server/client_test.go | 30 +++++++++++++----------- pkg/rpc/server/server_test.go | 14 ++++++----- pkg/rpc/server/subscription_test.go | 26 ++++++++++---------- 12 files changed, 78 insertions(+), 52 deletions(-) diff --git a/cli/contract_test.go b/cli/contract_test.go index 0dd20b12a..06bcf8551 100644 --- a/cli/contract_test.go +++ b/cli/contract_test.go @@ -403,7 +403,8 @@ func TestComlileAndInvokeFunction(t *testing.T) { require.NoError(t, err) pk, err := keys.NewPrivateKey() require.NoError(t, err) - acc.ConvertMultisig(2, keys.PublicKeys{acc.PrivateKey().PublicKey(), pk.PublicKey()}) + err = acc.ConvertMultisig(2, keys.PublicKeys{acc.PrivateKey().PublicKey(), pk.PublicKey()}) + require.NoError(t, err) t.Run("cosigner is multisig account", func(t *testing.T) { t.Run("missing in the wallet", func(t *testing.T) { diff --git a/cli/server/server_test.go b/cli/server/server_test.go index 5f0184550..f3bb25fee 100644 --- a/cli/server/server_test.go +++ b/cli/server/server_test.go @@ -62,9 +62,11 @@ func TestHandleLoggingParams(t *testing.T) { func TestInitBCWithMetrics(t *testing.T) { d, err := ioutil.TempDir("./", "") require.NoError(t, err) - os.Chdir(d) + err = os.Chdir(d) + require.NoError(t, err) t.Cleanup(func() { - os.Chdir("..") + err = os.Chdir("..") + require.NoError(t, err) os.RemoveAll(d) }) @@ -91,9 +93,11 @@ func TestDumpDB(t *testing.T) { t.Run("too low chain", func(t *testing.T) { d, err := ioutil.TempDir("./", "") require.NoError(t, err) - os.Chdir(d) + err = os.Chdir(d) + require.NoError(t, err) t.Cleanup(func() { - os.Chdir("..") + err = os.Chdir("..") + require.NoError(t, err) os.RemoveAll(d) }) testDump := "file.acc" @@ -112,9 +116,11 @@ func TestDumpDB(t *testing.T) { t.Run("positive", func(t *testing.T) { d, err := ioutil.TempDir("./", "") require.NoError(t, err) - os.Chdir(d) + err = os.Chdir(d) + require.NoError(t, err) t.Cleanup(func() { - os.Chdir("..") + err = os.Chdir("..") + require.NoError(t, err) os.RemoveAll(d) }) testDump := "file.acc" @@ -136,9 +142,11 @@ func TestRestoreDB(t *testing.T) { require.NoError(t, err) testDump := "file1.acc" saveDump := "file2.acc" - os.Chdir(d) + err = os.Chdir(d) + require.NoError(t, err) t.Cleanup(func() { - os.Chdir("..") + err = os.Chdir("..") + require.NoError(t, err) os.RemoveAll(d) }) diff --git a/cli/smartcontract/smart_contract_test.go b/cli/smartcontract/smart_contract_test.go index 3dfbb298c..a85b8eff2 100644 --- a/cli/smartcontract/smart_contract_test.go +++ b/cli/smartcontract/smart_contract_test.go @@ -13,9 +13,11 @@ import ( func TestInitSmartContract(t *testing.T) { d, err := ioutil.TempDir("./", "") require.NoError(t, err) - os.Chdir(d) + err = os.Chdir(d) + require.NoError(t, err) t.Cleanup(func() { - os.Chdir("..") + err = os.Chdir("..") + require.NoError(t, err) os.RemoveAll(d) }) contractName := "testContract" diff --git a/pkg/core/native/management_test.go b/pkg/core/native/management_test.go index d8e619fe1..fedb9ed0e 100644 --- a/pkg/core/native/management_test.go +++ b/pkg/core/native/management_test.go @@ -18,7 +18,8 @@ import ( func TestDeployGetUpdateDestroyContract(t *testing.T) { mgmt := newManagement() d := dao.NewCached(dao.NewSimple(storage.NewMemoryStore(), false)) - mgmt.Initialize(&interop.Context{DAO: d}) + err := mgmt.Initialize(&interop.Context{DAO: d}) + require.NoError(t, err) script := []byte{byte(opcode.RET)} sender := util.Uint160{1, 2, 3} ne, err := nef.NewFile(script) diff --git a/pkg/core/native_neo_test.go b/pkg/core/native_neo_test.go index b085ba824..19207137b 100644 --- a/pkg/core/native_neo_test.go +++ b/pkg/core/native_neo_test.go @@ -122,7 +122,8 @@ func TestNEO_Vote(t *testing.T) { ic.VM.Load(priv.PublicKey().GetVerificationScript()) require.NoError(t, neo.VoteInternal(ic, h, candidates[0])) - ic.DAO.Persist() + _, err = ic.DAO.Persist() + require.NoError(t, err) advanceChain(t) pubs, err = neo.ComputeNextBlockValidators(bc, ic.DAO) require.NoError(t, err) diff --git a/pkg/core/native_notary_test.go b/pkg/core/native_notary_test.go index 1eed3a19c..22d17f1e7 100644 --- a/pkg/core/native_notary_test.go +++ b/pkg/core/native_notary_test.go @@ -208,7 +208,8 @@ func TestNotaryContractPipeline(t *testing.T) { checkResult(t, balance, stackitem.Make(3*transaction.NotaryServiceFeePerKey)) // `withdraw`: unlock deposit and transfer GAS back to owner - chain.genBlocks(depositLock) + _, err = chain.genBlocks(depositLock) + require.NoError(t, err) withdrawRes, err = invokeContractMethod(chain, 100000000, notaryHash, "withdraw", testchain.MultisigScriptHash(), testchain.MultisigScriptHash()) require.NoError(t, err) checkResult(t, withdrawRes, stackitem.NewBool(true)) diff --git a/pkg/core/notary_test.go b/pkg/core/notary_test.go index 35c18fa50..ebdea6f0d 100644 --- a/pkg/core/notary_test.go +++ b/pkg/core/notary_test.go @@ -145,7 +145,8 @@ func TestNotary(t *testing.T) { VerificationScript: []byte{}, }, } - requester.SignTx(testchain.Network(), fallback) + err = requester.SignTx(testchain.Network(), fallback) + require.NoError(t, err) return fallback } diff --git a/pkg/rpc/client/rpc_test.go b/pkg/rpc/client/rpc_test.go index 3d7cde863..ea74a0276 100644 --- a/pkg/rpc/client/rpc_test.go +++ b/pkg/rpc/client/rpc_test.go @@ -1539,7 +1539,8 @@ func initTestServer(t *testing.T, resp string) *httptest.Server { ws, err := upgrader.Upgrade(w, req, nil) require.NoError(t, err) for { - ws.SetReadDeadline(time.Now().Add(2 * time.Second)) + err = ws.SetReadDeadline(time.Now().Add(2 * time.Second)) + require.NoError(t, err) _, p, err := ws.ReadMessage() if err != nil { break @@ -1550,7 +1551,8 @@ func initTestServer(t *testing.T, resp string) *httptest.Server { t.Fatalf("Cannot decode request body: %s", req.Body) } response := wrapInitResponse(r, resp) - ws.SetWriteDeadline(time.Now().Add(2 * time.Second)) + err = ws.SetWriteDeadline(time.Now().Add(2 * time.Second)) + require.NoError(t, err) err = ws.WriteMessage(1, []byte(response)) if err != nil { break diff --git a/pkg/rpc/client/wsclient_test.go b/pkg/rpc/client/wsclient_test.go index 61b1cd9c7..24b2dc4a8 100644 --- a/pkg/rpc/client/wsclient_test.go +++ b/pkg/rpc/client/wsclient_test.go @@ -128,7 +128,8 @@ func TestWSClientEvents(t *testing.T) { ws, err := upgrader.Upgrade(w, req, nil) require.NoError(t, err) for _, event := range events { - ws.SetWriteDeadline(time.Now().Add(2 * time.Second)) + err = ws.SetWriteDeadline(time.Now().Add(2 * time.Second)) + require.NoError(t, err) err = ws.WriteMessage(1, []byte(event)) if err != nil { break @@ -313,14 +314,16 @@ func TestWSFilteredSubscriptions(t *testing.T) { var upgrader = websocket.Upgrader{} ws, err := upgrader.Upgrade(w, req, nil) require.NoError(t, err) - ws.SetReadDeadline(time.Now().Add(2 * time.Second)) + err = ws.SetReadDeadline(time.Now().Add(2 * time.Second)) + require.NoError(t, err) req := request.In{} err = ws.ReadJSON(&req) require.NoError(t, err) params, err := req.Params() require.NoError(t, err) c.serverCode(t, params) - ws.SetWriteDeadline(time.Now().Add(2 * time.Second)) + err = ws.SetWriteDeadline(time.Now().Add(2 * time.Second)) + require.NoError(t, err) err = ws.WriteMessage(1, []byte(`{"jsonrpc": "2.0", "id": 1, "result": "0"}`)) require.NoError(t, err) ws.Close() diff --git a/pkg/rpc/server/client_test.go b/pkg/rpc/server/client_test.go index fcabd560d..15fd37d37 100644 --- a/pkg/rpc/server/client_test.go +++ b/pkg/rpc/server/client_test.go @@ -31,7 +31,7 @@ import ( func TestClient_NEP17(t *testing.T) { chain, rpcSrv, httpSrv := initServerWithInMemoryChain(t) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() c, err := client.New(context.Background(), httpSrv.URL, client.Options{}) require.NoError(t, err) @@ -74,7 +74,7 @@ func TestClient_NEP17(t *testing.T) { func TestAddNetworkFeeCalculateNetworkFee(t *testing.T) { chain, rpcSrv, httpSrv := initServerWithInMemoryChain(t) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() const extraFee = 10 var nonce uint32 @@ -156,12 +156,13 @@ func TestAddNetworkFeeCalculateNetworkFee(t *testing.T) { t.Run("Multi", func(t *testing.T) { acc0 := wallet.NewAccountFromPrivateKey(testchain.PrivateKeyByID(0)) acc1 := wallet.NewAccountFromPrivateKey(testchain.PrivateKeyByID(0)) - acc1.ConvertMultisig(3, keys.PublicKeys{ + err = acc1.ConvertMultisig(3, keys.PublicKeys{ testchain.PrivateKeyByID(0).PublicKey(), testchain.PrivateKeyByID(1).PublicKey(), testchain.PrivateKeyByID(2).PublicKey(), testchain.PrivateKeyByID(3).PublicKey(), }) + require.NoError(t, err) check := func(t *testing.T, extraFee int64) { tx := transaction.New([]byte{byte(opcode.PUSH1)}, 0) tx.ValidUntilBlock = 20 @@ -322,7 +323,7 @@ func TestAddNetworkFeeCalculateNetworkFee(t *testing.T) { func TestCalculateNetworkFee(t *testing.T) { chain, rpcSrv, httpSrv := initServerWithInMemoryChain(t) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() const extraFee = 10 c, err := client.New(context.Background(), httpSrv.URL, client.Options{}) @@ -392,7 +393,7 @@ func TestCalculateNetworkFee(t *testing.T) { func TestSignAndPushInvocationTx(t *testing.T) { chain, rpcSrv, httpSrv := initServerWithInMemoryChain(t) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() c, err := client.New(context.Background(), httpSrv.URL, client.Options{}) require.NoError(t, err) @@ -549,7 +550,7 @@ func TestSignAndPushInvocationTx(t *testing.T) { func TestSignAndPushP2PNotaryRequest(t *testing.T) { chain, rpcSrv, httpSrv := initServerWithInMemoryChainAndServices(t, false, true) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() c, err := client.New(context.Background(), httpSrv.URL, client.Options{}) require.NoError(t, err) @@ -620,7 +621,8 @@ func TestSignAndPushP2PNotaryRequest(t *testing.T) { w, err := wallet.NewWalletFromFile(notaryPath) require.NoError(t, err) ntr := w.Accounts[0] - ntr.Decrypt(notaryPass) + err = ntr.Decrypt(notaryPass) + require.NoError(t, err) req.FallbackTransaction.Scripts[0] = transaction.Witness{ InvocationScript: append([]byte{byte(opcode.PUSHDATA1), 64}, ntr.PrivateKey().SignHashable(uint32(testchain.Network()), req.FallbackTransaction)...), VerificationScript: []byte{}, @@ -639,7 +641,7 @@ func TestSignAndPushP2PNotaryRequest(t *testing.T) { func TestCalculateNotaryFee(t *testing.T) { chain, rpcSrv, httpSrv := initServerWithInMemoryChain(t) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() c, err := client.New(context.Background(), httpSrv.URL, client.Options{}) require.NoError(t, err) @@ -667,7 +669,7 @@ func TestPing(t *testing.T) { func TestCreateTxFromScript(t *testing.T) { chain, rpcSrv, httpSrv := initServerWithInMemoryChain(t) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() c, err := client.New(context.Background(), httpSrv.URL, client.Options{}) require.NoError(t, err) @@ -696,7 +698,7 @@ func TestCreateTxFromScript(t *testing.T) { func TestCreateNEP17TransferTx(t *testing.T) { chain, rpcSrv, httpSrv := initServerWithInMemoryChain(t) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() c, err := client.New(context.Background(), httpSrv.URL, client.Options{}) require.NoError(t, err) @@ -720,7 +722,7 @@ func TestCreateNEP17TransferTx(t *testing.T) { func TestInvokeVerify(t *testing.T) { chain, rpcSrv, httpSrv := initServerWithInMemoryChain(t) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() c, err := client.New(context.Background(), httpSrv.URL, client.Options{}) require.NoError(t, err) @@ -762,7 +764,7 @@ func TestInvokeVerify(t *testing.T) { func TestClient_GetNativeContracts(t *testing.T) { chain, rpcSrv, httpSrv := initServerWithInMemoryChain(t) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() c, err := client.New(context.Background(), httpSrv.URL, client.Options{}) require.NoError(t, err) @@ -776,7 +778,7 @@ func TestClient_GetNativeContracts(t *testing.T) { func TestClient_NEP11(t *testing.T) { chain, rpcSrv, httpSrv := initServerWithInMemoryChain(t) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() c, err := client.New(context.Background(), httpSrv.URL, client.Options{}) require.NoError(t, err) @@ -842,7 +844,7 @@ func TestClient_NEP11(t *testing.T) { func TestClient_NNS(t *testing.T) { chain, rpcSrv, httpSrv := initServerWithInMemoryChain(t) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() c, err := client.New(context.Background(), httpSrv.URL, client.Options{}) require.NoError(t, err) diff --git a/pkg/rpc/server/server_test.go b/pkg/rpc/server/server_test.go index fc06ebcc3..804426b34 100644 --- a/pkg/rpc/server/server_test.go +++ b/pkg/rpc/server/server_test.go @@ -1010,7 +1010,7 @@ func TestRPC(t *testing.T) { func TestSubmitOracle(t *testing.T) { chain, rpcSrv, httpSrv := initClearServerWithServices(t, true, false) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() rpc := `{"jsonrpc": "2.0", "id": 1, "method": "submitoracleresponse", "params": %s}` runCase := func(t *testing.T, fail bool, params ...string) func(t *testing.T) { @@ -1046,7 +1046,7 @@ func TestSubmitNotaryRequest(t *testing.T) { t.Run("disabled P2PSigExtensions", func(t *testing.T) { chain, rpcSrv, httpSrv := initClearServerWithServices(t, false, false) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() req := fmt.Sprintf(rpc, "[]") body := doRPCCallOverHTTP(req, httpSrv.URL, t) checkErrGetResult(t, body, true) @@ -1054,7 +1054,7 @@ func TestSubmitNotaryRequest(t *testing.T) { chain, rpcSrv, httpSrv := initServerWithInMemoryChainAndServices(t, false, true) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() runCase := func(t *testing.T, fail bool, params ...string) func(t *testing.T) { return func(t *testing.T) { @@ -1156,7 +1156,7 @@ func testRPCProtocol(t *testing.T, doRPCCall func(string, string, *testing.T) [] chain, rpcSrv, httpSrv := initServerWithInMemoryChain(t) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() e := &executor{chain: chain, httpSrv: httpSrv} t.Run("single request", func(t *testing.T) { @@ -1595,9 +1595,11 @@ func doRPCCallOverWS(rpcCall string, url string, t *testing.T) []byte { url = "ws" + strings.TrimPrefix(url, "http") c, _, err := dialer.Dial(url+"/ws", nil) require.NoError(t, err) - c.SetWriteDeadline(time.Now().Add(time.Second)) + err = c.SetWriteDeadline(time.Now().Add(time.Second)) + require.NoError(t, err) require.NoError(t, c.WriteMessage(1, []byte(rpcCall))) - c.SetReadDeadline(time.Now().Add(time.Second)) + err = c.SetReadDeadline(time.Now().Add(time.Second)) + require.NoError(t, err) _, body, err := c.ReadMessage() require.NoError(t, err) require.NoError(t, c.Close()) diff --git a/pkg/rpc/server/subscription_test.go b/pkg/rpc/server/subscription_test.go index 7f8872eed..9fe6ceafc 100644 --- a/pkg/rpc/server/subscription_test.go +++ b/pkg/rpc/server/subscription_test.go @@ -20,7 +20,8 @@ const testOverflow = false func wsReader(t *testing.T, ws *websocket.Conn, msgCh chan<- []byte, isFinished *atomic.Bool) { for { - ws.SetReadDeadline(time.Now().Add(time.Second)) + err := ws.SetReadDeadline(time.Now().Add(time.Second)) + require.NoError(t, err) _, body, err := ws.ReadMessage() if isFinished.Load() { require.Error(t, err) @@ -34,7 +35,7 @@ func wsReader(t *testing.T, ws *websocket.Conn, msgCh chan<- []byte, isFinished func callWSGetRaw(t *testing.T, ws *websocket.Conn, msg string, respCh <-chan []byte) *response.Raw { var resp = new(response.Raw) - ws.SetWriteDeadline(time.Now().Add(time.Second)) + require.NoError(t, ws.SetWriteDeadline(time.Now().Add(time.Second))) require.NoError(t, ws.WriteMessage(websocket.TextMessage, []byte(msg))) body := <-respCh @@ -90,7 +91,7 @@ func TestSubscriptions(t *testing.T) { chain, rpcSrv, c, respMsgs, finishedFlag := initCleanServerAndWSClient(t) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() for _, feed := range subFeeds { s := callSubscribe(t, c, respMsgs, fmt.Sprintf(`["%s"]`, feed)) @@ -243,7 +244,7 @@ func TestFilteredSubscriptions(t *testing.T) { chain, rpcSrv, c, respMsgs, finishedFlag := initCleanServerAndWSClient(t) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() // It's used as an end-of-event-stream, so it's always present. blockSubID := callSubscribe(t, c, respMsgs, `["block_added"]`) @@ -283,7 +284,7 @@ func TestFilteredBlockSubscriptions(t *testing.T) { chain, rpcSrv, c, respMsgs, finishedFlag := initCleanServerAndWSClient(t) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() blockSubID := callSubscribe(t, c, respMsgs, `["block_added", {"primary":3}]`) @@ -322,7 +323,7 @@ func TestMaxSubscriptions(t *testing.T) { chain, rpcSrv, c, respMsgs, finishedFlag := initCleanServerAndWSClient(t) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() for i := 0; i < maxFeeds+1; i++ { var s string @@ -368,7 +369,7 @@ func TestBadSubUnsub(t *testing.T) { chain, rpcSrv, c, respMsgs, finishedFlag := initCleanServerAndWSClient(t) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() testF := func(t *testing.T, cases map[string]string) func(t *testing.T) { return func(t *testing.T) { @@ -389,19 +390,20 @@ func TestBadSubUnsub(t *testing.T) { } func doSomeWSRequest(t *testing.T, ws *websocket.Conn) { - ws.SetWriteDeadline(time.Now().Add(time.Second)) + require.NoError(t, ws.SetWriteDeadline(time.Now().Add(time.Second))) // It could be just about anything including invalid request, // we only care about server handling being active. require.NoError(t, ws.WriteMessage(websocket.TextMessage, []byte(`{"jsonrpc": "2.0", "method": "getversion", "params": [], "id": 1}`))) - ws.SetReadDeadline(time.Now().Add(time.Second)) - _, _, err := ws.ReadMessage() + err := ws.SetReadDeadline(time.Now().Add(time.Second)) + require.NoError(t, err) + _, _, err = ws.ReadMessage() require.NoError(t, err) } func TestWSClientsLimit(t *testing.T) { chain, rpcSrv, httpSrv := initClearServerWithInMemoryChain(t) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() dialer := websocket.Dialer{HandshakeTimeout: time.Second} url := "ws" + strings.TrimPrefix(httpSrv.URL, "http") + "/ws" @@ -440,7 +442,7 @@ func TestSubscriptionOverflow(t *testing.T) { chain, rpcSrv, c, respMsgs, finishedFlag := initCleanServerAndWSClient(t) defer chain.Close() - defer rpcSrv.Shutdown() + defer func() { _ = rpcSrv.Shutdown() }() resp := callWSGetRaw(t, c, `{"jsonrpc": "2.0","method": "subscribe","params": ["block_added"],"id": 1}`, respMsgs) require.Nil(t, resp.Error)