diff options
author | Jimmy Hu <jimmy.hu@dexon.org> | 2019-04-14 16:27:15 +0800 |
---|---|---|
committer | Jimmy Hu <jimmy.hu@dexon.org> | 2019-04-14 20:08:59 +0800 |
commit | 1f5977b95eea8d5c609a9e7585229d204e92f86e (patch) | |
tree | 83e4ab4c1a16a1e872192d354cd2119fadd00b1f | |
parent | 2d26246247e2f7e616cc3d13b9d61308580e7d67 (diff) | |
download | dexon-consensus-1f5977b95eea8d5c609a9e7585229d204e92f86e.tar dexon-consensus-1f5977b95eea8d5c609a9e7585229d204e92f86e.tar.gz dexon-consensus-1f5977b95eea8d5c609a9e7585229d204e92f86e.tar.bz2 dexon-consensus-1f5977b95eea8d5c609a9e7585229d204e92f86e.tar.lz dexon-consensus-1f5977b95eea8d5c609a9e7585229d204e92f86e.tar.xz dexon-consensus-1f5977b95eea8d5c609a9e7585229d204e92f86e.tar.zst dexon-consensus-1f5977b95eea8d5c609a9e7585229d204e92f86e.zip |
core: fix flaky test
-rw-r--r-- | core/consensus_test.go | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/core/consensus_test.go b/core/consensus_test.go index 5f61028..fb164ad 100644 --- a/core/consensus_test.go +++ b/core/consensus_test.go @@ -20,6 +20,7 @@ package core import ( "context" "encoding/json" + "sync" "testing" "time" @@ -148,7 +149,9 @@ func (nc *networkConnection) newNetwork(nID types.NodeID) *network { func (nc *networkConnection) setCon(nID types.NodeID, con *Consensus) { ch := make(chan types.Msg, 1000) + nc.s.wg.Add(1) go func() { + defer nc.s.wg.Done() for { var msg types.Msg select { @@ -185,12 +188,15 @@ type ConsensusTestSuite struct { ctxCancel context.CancelFunc conn *networkConnection sink chan interface{} + wg sync.WaitGroup } func (s *ConsensusTestSuite) SetupTest() { s.ctx, s.ctxCancel = context.WithCancel(context.Background()) s.sink = make(chan interface{}, 1000) + s.wg.Add(1) go func() { + defer s.wg.Done() select { case <-s.sink: case <-s.ctx.Done(): @@ -200,6 +206,7 @@ func (s *ConsensusTestSuite) SetupTest() { } func (s *ConsensusTestSuite) TearDownTest() { s.ctxCancel() + s.wg.Wait() } func (s *ConsensusTestSuite) newNetworkConnection() *networkConnection { |