Skip to content

Commit

Permalink
Fix robustness test logs by identifing failpoint availability on temp…
Browse files Browse the repository at this point in the history
…orary cluster before creating subtest

Signed-off-by: Marek Siarkowicz <[email protected]>
  • Loading branch information
serathius committed Oct 5, 2024
1 parent 7b429f9 commit fee12d0
Showing 1 changed file with 22 additions and 9 deletions.
31 changes: 22 additions & 9 deletions tests/robustness/main_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,26 +44,39 @@ func TestMain(m *testing.M) {
func TestRobustnessExploratory(t *testing.T) {
testRunner.BeforeTest(t)
for _, s := range exploratoryScenarios(t) {
t.Run(s.name, func(t *testing.T) {
ctx := context.Background()
s.failpoint = randomFailpointForConfig(ctx, t, s.profile, s.cluster)
t.Run(s.name+"/"+s.failpoint.Name(), func(t *testing.T) {
lg := zaptest.NewLogger(t)
s.cluster.Logger = lg
ctx := context.Background()
c, err := e2e.NewEtcdProcessCluster(ctx, t, e2e.WithConfig(&s.cluster))
if err != nil {
t.Fatal(err)
}
defer forcestopCluster(c)
s.failpoint, err = failpoint.PickRandom(c, s.profile)
if err != nil {
t.Fatal(err)
}
t.Run(s.failpoint.Name(), func(t *testing.T) {
testRobustness(ctx, t, lg, s, c)
})
testRobustness(ctx, t, lg, s, c)
})
}
}

// TODO: Implement lightweight a way to generate list of failpoints without needing to start a cluster
func randomFailpointForConfig(ctx context.Context, t *testing.T, profile traffic.Profile, config e2e.EtcdProcessClusterConfig) failpoint.Failpoint {
config.Logger = zap.NewNop()
c, err := e2e.NewEtcdProcessCluster(ctx, t, e2e.WithConfig(&config))
if err != nil {
t.Fatal(err)
}
f, err := failpoint.PickRandom(c, profile)
if err != nil {
t.Fatal(err)
}
err = forcestopCluster(c)
if err != nil {
t.Fatal(err)
}
return f
}

func TestRobustnessRegression(t *testing.T) {
testRunner.BeforeTest(t)
for _, s := range regressionScenarios(t) {
Expand Down

0 comments on commit fee12d0

Please sign in to comment.