tests: Rename linearizability tests to robustness

Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
This commit is contained in:
Marek Siarkowicz 2023-02-26 14:34:15 +01:00
parent cb2a22e5d1
commit d475cf81a0
18 changed files with 33 additions and 33 deletions

View File

@ -1,4 +1,4 @@
name: Linearizability Nightly
name: Robustness Nightly
permissions: read-all
on:
# schedules always run against the main branch, hence we have to create separate jobs
@ -8,21 +8,21 @@ on:
jobs:
test-main:
# GHA has a maximum amount of 6h execution time, we try to get done within 3h
uses: ./.github/workflows/linearizability-template.yaml
uses: ./.github/workflows/robustness-template.yaml
with:
ref: main
count: 100
testTimeout: 200m
artifactName: test-main
test-35:
uses: ./.github/workflows/linearizability-template.yaml
uses: ./.github/workflows/robustness-template.yaml
with:
ref: release-3.5
count: 100
testTimeout: 200m
artifactName: test-35
test-34:
uses: ./.github/workflows/linearizability-template.yaml
uses: ./.github/workflows/robustness-template.yaml
with:
ref: release-3.4
count: 100

View File

@ -1,4 +1,4 @@
name: Reusable Linearizability Workflow
name: Reusable Robustness Workflow
on:
workflow_call:
inputs:
@ -43,12 +43,12 @@ jobs:
make build
;;
esac
- name: test-linearizability
- name: test-robustness
run: |
# Use --failfast to avoid overriding report generated by failed test
EXPECT_DEBUG=true GO_TEST_FLAGS='-v --count ${{ inputs.count }} --timeout ${{ inputs.testTimeout }} --failfast --run TestLinearizability' RESULTS_DIR=/tmp/linearizability make test-linearizability
EXPECT_DEBUG=true GO_TEST_FLAGS='-v --count ${{ inputs.count }} --timeout ${{ inputs.testTimeout }} --failfast --run TestRobustness' RESULTS_DIR=/tmp/results make test-robustness
- uses: actions/upload-artifact@v2
if: always()
with:
name: ${{ inputs.artifactName }}
path: /tmp/linearizability/*
path: /tmp/results/*

View File

@ -1,9 +1,9 @@
name: Linearizability
name: Robustness
on: [push, pull_request]
permissions: read-all
jobs:
test:
uses: ./.github/workflows/linearizability-template.yaml
uses: ./.github/workflows/robustness-template.yaml
with:
ref: ${{ github.ref }}
count: 15

View File

@ -33,9 +33,9 @@ test-e2e: build
test-e2e-release: build
PASSES="release e2e" ./scripts/test.sh $(GO_TEST_FLAGS)
.PHONY: test-linearizability
test-linearizability:
PASSES="linearizability" ./scripts/test.sh $(GO_TEST_FLAGS)
.PHONY: test-robustness
test-robustness:
PASSES="robustness" ./scripts/test.sh $(GO_TEST_FLAGS)
.PHONY: fuzz
fuzz:

View File

@ -23,7 +23,7 @@ etcd is a distributed reliable key-value store for the most critical data of a d
etcd is written in Go and uses the [Raft][] consensus algorithm to manage a highly-available replicated log.
etcd is used [in production by many companies](./ADOPTERS.md), and the development team stands behind it in critical deployment scenarios, where etcd is frequently teamed with applications such as [Kubernetes][k8s], [locksmith][], [vulcand][], [Doorman][], and many others. Reliability is further ensured by [**rigorous testing**](https://github.com/etcd-io/etcd/tree/main/tests/linearizability).
etcd is used [in production by many companies](./ADOPTERS.md), and the development team stands behind it in critical deployment scenarios, where etcd is frequently teamed with applications such as [Kubernetes][k8s], [locksmith][], [vulcand][], [Doorman][], and many others. Reliability is further ensured by rigorous [**robustness testing**](https://github.com/etcd-io/etcd/tree/main/tests/robustness).
See [etcdctl][etcdctl] for a simple command line client.

View File

@ -124,9 +124,9 @@ function e2e_pass {
run_for_module "tests" go_test "./common/..." "keep_going" : --tags=e2e -timeout="${TIMEOUT:-30m}" "${RUN_ARG[@]}" "$@"
}
function linearizability_pass {
function robustness_pass {
# e2e tests are running pre-build binary. Settings like --race,-cover,-cpu does not have any impact.
run_for_module "tests" go_test "./linearizability/..." "keep_going" : -timeout="${TIMEOUT:-30m}" "${RUN_ARG[@]}" "$@"
run_for_module "tests" go_test "./robustness/..." "keep_going" : -timeout="${TIMEOUT:-30m}" "${RUN_ARG[@]}" "$@"
}
function integration_e2e_pass {

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
package linearizability
package robustness
import (
"context"
@ -22,8 +22,8 @@ import (
"go.etcd.io/etcd/api/v3/mvccpb"
clientv3 "go.etcd.io/etcd/client/v3"
"go.etcd.io/etcd/tests/v3/linearizability/identity"
"go.etcd.io/etcd/tests/v3/linearizability/model"
"go.etcd.io/etcd/tests/v3/robustness/identity"
"go.etcd.io/etcd/tests/v3/robustness/model"
)
type recordingClient struct {

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
package linearizability
package robustness
import (
"context"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
package linearizability
package robustness
import (
"context"
@ -25,7 +25,7 @@ import (
"golang.org/x/sync/errgroup"
"go.etcd.io/etcd/tests/v3/framework/e2e"
"go.etcd.io/etcd/tests/v3/linearizability/model"
"go.etcd.io/etcd/tests/v3/robustness/model"
)
const (
@ -76,7 +76,7 @@ var (
}
)
func TestLinearizability(t *testing.T) {
func TestRobustness(t *testing.T) {
testRunner.BeforeTest(t)
type scenario struct {
name string
@ -157,7 +157,7 @@ func TestLinearizability(t *testing.T) {
lg := zaptest.NewLogger(t)
scenario.config.Logger = lg
ctx := context.Background()
testLinearizability(ctx, t, lg, scenario.config, scenario.traffic, FailpointConfig{
testRobustness(ctx, t, lg, scenario.config, scenario.traffic, FailpointConfig{
failpoint: scenario.failpoint,
count: 1,
retries: 3,
@ -167,7 +167,7 @@ func TestLinearizability(t *testing.T) {
}
}
func testLinearizability(ctx context.Context, t *testing.T, lg *zap.Logger, config e2e.EtcdProcessClusterConfig, traffic *trafficConfig, failpoint FailpointConfig) {
func testRobustness(ctx context.Context, t *testing.T, lg *zap.Logger, config e2e.EtcdProcessClusterConfig, traffic *trafficConfig, failpoint FailpointConfig) {
r := report{lg: lg}
var err error
r.clus, err = e2e.NewEtcdProcessCluster(ctx, t, e2e.WithConfig(&config))

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
package linearizability
package robustness
import (
"testing"

View File

@ -24,7 +24,7 @@ import (
"go.etcd.io/etcd/api/v3/etcdserverpb"
clientv3 "go.etcd.io/etcd/client/v3"
"go.etcd.io/etcd/tests/v3/linearizability/identity"
"go.etcd.io/etcd/tests/v3/robustness/identity"
)
// ValidateOperationHistoryAndReturnVisualize return visualize as porcupine.linearizationInfo used to generate visualization is private.

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
package linearizability
package robustness
import (
"encoding/json"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
package linearizability
package robustness
import (
"context"
@ -30,8 +30,8 @@ import (
"go.etcd.io/etcd/api/v3/mvccpb"
clientv3 "go.etcd.io/etcd/client/v3"
"go.etcd.io/etcd/tests/v3/framework/e2e"
"go.etcd.io/etcd/tests/v3/linearizability/identity"
"go.etcd.io/etcd/tests/v3/linearizability/model"
"go.etcd.io/etcd/tests/v3/robustness/identity"
"go.etcd.io/etcd/tests/v3/robustness/model"
)
var (

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
package linearizability
package robustness
import (
"context"
@ -28,7 +28,7 @@ import (
"go.etcd.io/etcd/api/v3/mvccpb"
clientv3 "go.etcd.io/etcd/client/v3"
"go.etcd.io/etcd/tests/v3/framework/e2e"
"go.etcd.io/etcd/tests/v3/linearizability/model"
"go.etcd.io/etcd/tests/v3/robustness/model"
)
func collectClusterWatchEvents(ctx context.Context, t *testing.T, lg *zap.Logger, clus *e2e.EtcdProcessCluster) [][]watchResponse {