From a573d8af697fd073d3a97262667e912736546175 Mon Sep 17 00:00:00 2001 From: Marek Siarkowicz Date: Sat, 3 Dec 2022 11:10:08 +0100 Subject: [PATCH] tests: Use golang count to repeat tests Signed-off-by: Marek Siarkowicz --- .github/workflows/linearizability.yaml | 2 +- tests/linearizability/linearizability_test.go | 34 ++++++++----------- 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/.github/workflows/linearizability.yaml b/.github/workflows/linearizability.yaml index 7303a3509..4938d6a00 100644 --- a/.github/workflows/linearizability.yaml +++ b/.github/workflows/linearizability.yaml @@ -13,7 +13,7 @@ jobs: make build mkdir -p /tmp/linearizability cat server/etcdserver/raft.fail.go - EXPECT_DEBUG=true GO_TEST_FLAGS=-v RESULTS_DIR=/tmp/linearizability make test-linearizability + EXPECT_DEBUG=true GO_TEST_FLAGS='-v --count 60 --failfast --run TestLinearizability' RESULTS_DIR=/tmp/linearizability make test-linearizability - uses: actions/upload-artifact@v2 if: always() with: diff --git a/tests/linearizability/linearizability_test.go b/tests/linearizability/linearizability_test.go index ff3ef3479..70ac4cb4a 100644 --- a/tests/linearizability/linearizability_test.go +++ b/tests/linearizability/linearizability_test.go @@ -34,8 +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 ) @@ -74,23 +72,21 @@ func TestLinearizability(t *testing.T) { }, } for _, tc := range tcs { - for i := 0; i < failpointTriggersCount; i++ { - t.Run(tc.name, func(t *testing.T) { - failpoint := FailpointConfig{ - failpoint: tc.failpoint, - count: 1, - retries: 3, - waitBetweenTriggers: waitBetweenFailpointTriggers, - } - traffic := trafficConfig{ - minimalQPS: minimalQPS, - maximalQPS: maximalQPS, - clientCount: 8, - traffic: DefaultTraffic, - } - testLinearizability(context.Background(), t, tc.config, failpoint, traffic) - }) - } + t.Run(tc.name, func(t *testing.T) { + failpoint := FailpointConfig{ + failpoint: tc.failpoint, + count: 1, + retries: 3, + waitBetweenTriggers: waitBetweenFailpointTriggers, + } + traffic := trafficConfig{ + minimalQPS: minimalQPS, + maximalQPS: maximalQPS, + clientCount: 8, + traffic: DefaultTraffic, + } + testLinearizability(context.Background(), t, tc.config, failpoint, traffic) + }) } }