diff options
author | Nickolai Zeldovich <nickolai@csail.mit.edu> | 2021-09-20 11:41:38 -0400 |
---|---|---|
committer | Nickolai Zeldovich <nickolai@csail.mit.edu> | 2021-09-20 11:41:38 -0400 |
commit | ec9cddf1dbc86d83e26b955658ef95dea87a0785 (patch) | |
tree | 67d2b239779916ef480cac972c2ac5c78a3d4375 | |
parent | 686a38b7df99edf83617f66ab8cfa1cf1998ca26 (diff) |
actually check that pipelining in happening in the e2e testfeature/pipeline
-rw-r--r-- | test/e2e-go/features/pipeline/pipeline_test.go | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/test/e2e-go/features/pipeline/pipeline_test.go b/test/e2e-go/features/pipeline/pipeline_test.go index 878bc7fc6..589747560 100644 --- a/test/e2e-go/features/pipeline/pipeline_test.go +++ b/test/e2e-go/features/pipeline/pipeline_test.go @@ -11,26 +11,37 @@ import ( "github.com/stretchr/testify/require" ) -func TestPipeline(t *testing.T) { +func testPipelineWithConfig(t *testing.T, cfgname string) { r := require.New(fixtures.SynchronizedTest(t)) configurableConsensus := make(config.ConsensusProtocols) cp := config.Consensus[protocol.ConsensusCurrentVersion] cp.AgreementMessagesContainBranch = true cp.AgreementPipelining = true - cp.AgreementPipelineDepth = 5 + cp.AgreementPipelineDepth = 10 cp.AgreementPipelineDelayHistory = 32 cp.AgreementPipelineDelay = 4 configurableConsensus[protocol.ConsensusVersion("vPipeline")] = cp var fixture fixtures.RestClientFixture fixture.SetConsensus(configurableConsensus) - fixture.Setup(t, filepath.Join("nettemplates", "PipelineTwoNodes.json")) - // fixture.Setup(t, filepath.Join("nettemplates", "PipelineFiveNodes.json")) + fixture.Setup(t, filepath.Join("nettemplates", cfgname)) defer fixture.ShutdownImpl(true) // preserve logs in testdir _, err := fixture.NC.AlgodClient() r.NoError(err) - time.Sleep(60 * time.Second) + // Without pipelining, we are limited to approximately 1 block per 4 seconds. + // Make sure that we can agree on much more than that. In the absence of + // pipelining, 50 rounds would take at least 200 seconds. + err = fixture.WaitForRound(50, 60 * time.Second) + r.NoError(err) +} + +func TestPipelineTwoNodes(t *testing.T) { + testPipelineWithConfig(t, "PipelineTwoNodes.json") +} + +func TestPipelineFiveNodes(t *testing.T) { + testPipelineWithConfig(t, "PipelineFiveNodes.json") } |