From d292dc7795d7432527fa0de1e3d9fa8b3b6f0a86 Mon Sep 17 00:00:00 2001 From: Woosang Son Date: Mon, 2 Nov 2020 10:12:47 +0900 Subject: [PATCH] fix: intermittent failure --- privval/signer_client_test.go | 32 ++++++++++++++------------------ types/priv_validator.go | 4 +--- 2 files changed, 15 insertions(+), 21 deletions(-) diff --git a/privval/signer_client_test.go b/privval/signer_client_test.go index b8db3e681..1853192cc 100644 --- a/privval/signer_client_test.go +++ b/privval/signer_client_test.go @@ -20,7 +20,7 @@ type signerTestCase struct { signerServer *SignerServer } -func getSignerTestCases(t *testing.T, start bool) []signerTestCase { +func getSignerTestCases(t *testing.T) []signerTestCase { testCases := make([]signerTestCase, 0) // Get test cases for each possible dialer (DialTCP / DialUnix / etc) @@ -35,10 +35,8 @@ func getSignerTestCases(t *testing.T, start bool) []signerTestCase { require.NoError(t, err) ss := NewSignerServer(sd, chainID, mockPV) - if start { - err = ss.Start() - require.NoError(t, err) - } + err = ss.Start() + require.NoError(t, err) tc := signerTestCase{ chainID: chainID, @@ -54,7 +52,7 @@ func getSignerTestCases(t *testing.T, start bool) []signerTestCase { } func TestSignerClose(t *testing.T) { - for _, tc := range getSignerTestCases(t, true) { + for _, tc := range getSignerTestCases(t) { err := tc.signerClient.Close() assert.NoError(t, err) @@ -64,7 +62,7 @@ func TestSignerClose(t *testing.T) { } func TestSignerPing(t *testing.T) { - for _, tc := range getSignerTestCases(t, true) { + for _, tc := range getSignerTestCases(t) { defer tc.signerServer.Stop() defer tc.signerClient.Close() @@ -74,7 +72,7 @@ func TestSignerPing(t *testing.T) { } func TestSignerGetPubKey(t *testing.T) { - for _, tc := range getSignerTestCases(t, true) { + for _, tc := range getSignerTestCases(t) { defer tc.signerServer.Stop() defer tc.signerClient.Close() @@ -96,7 +94,7 @@ func TestSignerGetPubKey(t *testing.T) { } func TestSignerProposal(t *testing.T) { - for _, tc := range getSignerTestCases(t, true) { + for _, tc := range getSignerTestCases(t) { ts := time.Now() want := &types.Proposal{Timestamp: ts} have := &types.Proposal{Timestamp: ts} @@ -113,7 +111,7 @@ func TestSignerProposal(t *testing.T) { func TestSignerGenerateVRFProof(t *testing.T) { message := []byte("hello, world") - for _, tc := range getSignerTestCases(t, true) { + for _, tc := range getSignerTestCases(t) { defer tc.signerServer.Stop() defer tc.signerClient.Close() @@ -127,7 +125,7 @@ func TestSignerGenerateVRFProof(t *testing.T) { } func TestSignerVote(t *testing.T) { - for _, tc := range getSignerTestCases(t, true) { + for _, tc := range getSignerTestCases(t) { ts := time.Now() want := &types.Vote{Timestamp: ts, Type: types.PrecommitType} have := &types.Vote{Timestamp: ts, Type: types.PrecommitType} @@ -143,7 +141,7 @@ func TestSignerVote(t *testing.T) { } func TestSignerVoteResetDeadline(t *testing.T) { - for _, tc := range getSignerTestCases(t, true) { + for _, tc := range getSignerTestCases(t) { ts := time.Now() want := &types.Vote{Timestamp: ts, Type: types.PrecommitType} have := &types.Vote{Timestamp: ts, Type: types.PrecommitType} @@ -169,7 +167,7 @@ func TestSignerVoteResetDeadline(t *testing.T) { } func TestSignerVoteKeepAlive(t *testing.T) { - for _, tc := range getSignerTestCases(t, true) { + for _, tc := range getSignerTestCases(t) { ts := time.Now() want := &types.Vote{Timestamp: ts, Type: types.PrecommitType} have := &types.Vote{Timestamp: ts, Type: types.PrecommitType} @@ -194,7 +192,7 @@ func TestSignerVoteKeepAlive(t *testing.T) { } func TestSignerSignProposalErrors(t *testing.T) { - for _, tc := range getSignerTestCases(t, true) { + for _, tc := range getSignerTestCases(t) { // Replace service with a mock that always fails tc.signerServer.privVal = types.NewErroringMockPV() tc.mockPV = types.NewErroringMockPV() @@ -216,7 +214,7 @@ func TestSignerSignProposalErrors(t *testing.T) { } func TestSignerSignVoteErrors(t *testing.T) { - for _, tc := range getSignerTestCases(t, true) { + for _, tc := range getSignerTestCases(t) { ts := time.Now() vote := &types.Vote{Timestamp: ts, Type: types.PrecommitType} @@ -263,13 +261,11 @@ func brokenHandler(privVal types.PrivValidator, request SignerMessage, chainID s } func TestSignerUnexpectedResponse(t *testing.T) { - for _, tc := range getSignerTestCases(t, false) { - // this should be executed before SignerServer starts to avoid race condition + for _, tc := range getSignerTestCases(t) { tc.signerServer.privVal = types.NewMockPV() tc.mockPV = types.NewMockPV() tc.signerServer.SetRequestHandler(brokenHandler) - tc.signerServer.Start() defer tc.signerServer.Stop() defer tc.signerClient.Close() diff --git a/types/priv_validator.go b/types/priv_validator.go index d0427b1f1..426835e3a 100644 --- a/types/priv_validator.go +++ b/types/priv_validator.go @@ -5,8 +5,6 @@ import ( "errors" "fmt" - "github.com/tendermint/tendermint/crypto/composite" - "github.com/tendermint/tendermint/crypto" "github.com/tendermint/tendermint/crypto/ed25519" ) @@ -62,7 +60,7 @@ type MockPV struct { } func NewMockPV() MockPV { - return MockPV{composite.GenPrivKey(), false, false} + return MockPV{ed25519.GenPrivKey(), false, false} } // NewMockPVWithParams allows one to create a MockPV instance, but with finer