diff --git a/consensus/byzantine_test.go b/consensus/byzantine_test.go index f049fa3ef..e5233806b 100644 --- a/consensus/byzantine_test.go +++ b/consensus/byzantine_test.go @@ -29,7 +29,6 @@ func init() { // Byzantine validator refuses to prevote. // Heal partition and ensure A sees the commit func TestByzantine(t *testing.T) { - resetConfigTimeouts() N := 4 css := randConsensusNet(N) diff --git a/consensus/common_test.go b/consensus/common_test.go index 7f15ab5fb..9d33a5c80 100644 --- a/consensus/common_test.go +++ b/consensus/common_test.go @@ -12,6 +12,7 @@ import ( . "github.com/tendermint/go-common" cfg "github.com/tendermint/go-config" dbm "github.com/tendermint/go-db" + "github.com/tendermint/go-logger" "github.com/tendermint/go-p2p" bc "github.com/tendermint/tendermint/blockchain" "github.com/tendermint/tendermint/config/tendermint_test" @@ -264,6 +265,7 @@ func randConsensusNet(nValidators int) []*ConsensusState { state := sm.MakeGenesisState(db, genDoc) state.Save() thisConfig := tendermint_test.ResetConfig(Fmt("consensus_reactor_test_%d", i)) + resetConfigTimeouts(thisConfig) EnsureDir(thisConfig.GetString("cs_wal_dir"), 0700) // dir for wal css[i] = newConsensusStateWithConfig(thisConfig, state, privVals[i], counter.NewCounterApplication(true)) } @@ -279,6 +281,7 @@ func randConsensusNetWithPeers(nValidators int, nPeers int) []*ConsensusState { state := sm.MakeGenesisState(db, genDoc) state.Save() thisConfig := tendermint_test.ResetConfig(Fmt("consensus_reactor_test_%d", i)) + resetConfigTimeouts(thisConfig) EnsureDir(thisConfig.GetString("cs_wal_dir"), 0700) // dir for wal var privVal *types.PrivValidator if i < nValidators { @@ -367,3 +370,18 @@ func getSwitchIndex(switches []*p2p.Switch, peer *p2p.Peer) int { panic("didnt find peer in switches") return -1 } + +// so we dont violate synchrony assumptions +// TODO: make tests more robust to this instead (handle round changes) +// XXX: especially a problem when running the race detector +func resetConfigTimeouts(config cfg.Config) { + logger.SetLogLevel("info") + //config.Set("log_level", "notice") + config.Set("timeout_propose", 10000) // TODO + // config.Set("timeout_propose_delta", 500) + // config.Set("timeout_prevote", 1000) + // config.Set("timeout_prevote_delta", 500) + // config.Set("timeout_precommit", 1000) + // config.Set("timeout_precommit_delta", 500) + config.Set("timeout_commit", 1000) +} diff --git a/consensus/reactor_test.go b/consensus/reactor_test.go index 504bd97f3..de0eaa18b 100644 --- a/consensus/reactor_test.go +++ b/consensus/reactor_test.go @@ -9,7 +9,6 @@ import ( "github.com/tendermint/tendermint/config/tendermint_test" "github.com/tendermint/go-events" - "github.com/tendermint/go-logger" "github.com/tendermint/go-p2p" "github.com/tendermint/tendermint/types" "github.com/tendermint/tmsp/example/dummy" @@ -19,24 +18,11 @@ func init() { config = tendermint_test.ResetConfig("consensus_reactor_test") } -func resetConfigTimeouts() { - logger.SetLogLevel("info") - //config.Set("log_level", "notice") - config.Set("timeout_propose", 2000) - // config.Set("timeout_propose_delta", 500) - // config.Set("timeout_prevote", 1000) - // config.Set("timeout_prevote_delta", 500) - // config.Set("timeout_precommit", 1000) - // config.Set("timeout_precommit_delta", 500) - config.Set("timeout_commit", 1000) -} - //---------------------------------------------- // in-process testnets // Ensure a testnet makes blocks func TestReactor(t *testing.T) { - resetConfigTimeouts() N := 4 css := randConsensusNet(N) reactors := make([]*ConsensusReactor, N) @@ -70,7 +56,6 @@ func TestReactor(t *testing.T) { // ensure we can make blocks despite cycling a validator set func TestValidatorSetChanges(t *testing.T) { - resetConfigTimeouts() nPeers := 8 nVals := 4 css := randConsensusNetWithPeers(nVals, nPeers)