diff --git a/tests/linearizability/linearizability_test.go b/tests/linearizability/linearizability_test.go index a7e242e43492..4d6f7063bbd0 100644 --- a/tests/linearizability/linearizability_test.go +++ b/tests/linearizability/linearizability_test.go @@ -34,10 +34,6 @@ const ( minimalQPS = 100.0 // maximalQPS limits number of requests send to etcd to avoid linearizability analysis taking too long. maximalQPS = 200.0 - // failpointTriggersCount - failpointTriggersCount = 60 - // waitBetweenFailpointTriggers - waitBetweenFailpointTriggers = time.Second ) func TestLinearizability(t *testing.T) { @@ -74,26 +70,28 @@ func TestLinearizability(t *testing.T) { }, } for _, tc := range tcs { - t.Run(tc.name, func(t *testing.T) { - failpoint := FailpointConfig{ - failpoint: tc.failpoint, - count: failpointTriggersCount, - waitBetweenTriggers: waitBetweenFailpointTriggers, - } - traffic := trafficConfig{ - minimalQPS: minimalQPS, - maximalQPS: maximalQPS, - clientCount: 8, - traffic: DefaultTraffic, - } - clientId.Store(0) - requestId.Store(0) - testLinearizability(context.Background(), t, tc.config, failpoint, traffic) - }) + for i := 0; i < 60; i++ { + t.Run(tc.name, func(t *testing.T) { + failpoint := FailpointConfig{ + failpoint: tc.failpoint, + count: 1, + waitBetweenTriggers: time.Second, + } + traffic := trafficConfig{ + minimalQPS: minimalQPS, + maximalQPS: maximalQPS, + clientCount: 8, + traffic: DefaultTraffic, + } + testLinearizability(context.Background(), t, tc.config, failpoint, traffic) + }) + } } } func testLinearizability(ctx context.Context, t *testing.T, config e2e.EtcdProcessClusterConfig, failpoint FailpointConfig, traffic trafficConfig) { + clientId.Store(0) + requestId.Store(0) clus, err := e2e.NewEtcdProcessCluster(ctx, t, e2e.WithConfig(&config)) if err != nil { t.Fatal(err)