aboutsummaryrefslogtreecommitdiffstats
path: root/core/configuration-chain_test.go
diff options
context:
space:
mode:
authorJimmy Hu <jimmy.hu@dexon.org>2018-10-01 15:18:03 +0800
committerGitHub <noreply@github.com>2018-10-01 15:18:03 +0800
commitb93f2fd48fffa225e5bd282a4a78aec2df6cb1a3 (patch)
tree2830209733748f97e7ced7ed8ff524999f08b381 /core/configuration-chain_test.go
parente223a62e70a0a874fcf85e4b9c010741414f100e (diff)
downloadtangerine-consensus-b93f2fd48fffa225e5bd282a4a78aec2df6cb1a3.tar.gz
tangerine-consensus-b93f2fd48fffa225e5bd282a4a78aec2df6cb1a3.tar.zst
tangerine-consensus-b93f2fd48fffa225e5bd282a4a78aec2df6cb1a3.zip
test: Non-qualified node are accepted in test. (#154)
Diffstat (limited to 'core/configuration-chain_test.go')
-rw-r--r--core/configuration-chain_test.go27
1 files changed, 20 insertions, 7 deletions
diff --git a/core/configuration-chain_test.go b/core/configuration-chain_test.go
index c50b403..a9615ec 100644
--- a/core/configuration-chain_test.go
+++ b/core/configuration-chain_test.go
@@ -155,7 +155,7 @@ func (s *ConfigurationChainTestSuite) TestConfigurationChain() {
recv := newTestCCReceiver(s)
for _, nID := range s.nIDs {
- gov, err := test.NewGovernance(0, 200*time.Millisecond)
+ gov, err := test.NewGovernance(0, 50*time.Millisecond)
s.Require().NoError(err)
cfgChains[nID] = newConfigurationChain(nID, recv, gov)
recv.nodes[nID] = cfgChains[nID]
@@ -170,19 +170,26 @@ func (s *ConfigurationChainTestSuite) TestConfigurationChain() {
s.Require().Len(gov.DKGMasterPublicKeys(round), n)
}
+ errs := make(chan error, n)
wg := sync.WaitGroup{}
wg.Add(n)
for _, cc := range cfgChains {
go func(cc *configurationChain) {
defer wg.Done()
- s.Require().NoError(cc.runDKG(round))
+ errs <- cc.runDKG(round)
}(cc)
}
wg.Wait()
+ for range cfgChains {
+ s.Require().NoError(<-errs)
+ }
psigs := make([]*types.DKGPartialSignature, 0, n)
hash := crypto.Keccak256Hash([]byte("🌚🌝"))
- for _, cc := range cfgChains {
+ for nID, cc := range cfgChains {
+ if _, exist := cc.gpk[round].qualifyNodeIDs[nID]; !exist {
+ continue
+ }
psig, err := cc.preparePartialSignature(round, hash)
s.Require().NoError(err)
prvKey, exist := s.prvKeys[cc.ID]
@@ -193,12 +200,15 @@ func (s *ConfigurationChainTestSuite) TestConfigurationChain() {
}
tsigs := make([]crypto.Signature, 0, n)
- errs := make(chan error, n)
+ errs = make(chan error, n)
tsigChan := make(chan crypto.Signature, n)
- for _, cc := range cfgChains {
+ for nID, cc := range cfgChains {
+ if _, exist := cc.gpk[round].qualifyNodeIDs[nID]; !exist {
+ continue
+ }
go func(cc *configurationChain) {
tsig, err := cc.runBlockTSig(round, hash)
- // Prevent racing by collecting errors and check ing main thread.
+ // Prevent racing by collecting errors and check in main thread.
errs <- err
tsigChan <- tsig
}(cc)
@@ -207,7 +217,10 @@ func (s *ConfigurationChainTestSuite) TestConfigurationChain() {
s.Require().NoError(err)
}
}
- for range cfgChains {
+ for nID, cc := range cfgChains {
+ if _, exist := cc.gpk[round].qualifyNodeIDs[nID]; !exist {
+ continue
+ }
s.Require().NoError(<-errs)
tsig := <-tsigChan
for _, prevTsig := range tsigs {