From d2ddda7114bd4e3ff26ddb9c52fa2c778b806514 Mon Sep 17 00:00:00 2001 From: chaitalisg Date: Tue, 20 Jun 2023 09:33:55 -0700 Subject: [PATCH] test(general): Handle no space left errors in robustness tests (#3043) * Handle no space left errors in robustness tests * fix lint error --- tests/robustness/engine/action.go | 6 ++++-- tests/robustness/robustness_test/robustness_test.go | 4 ++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/robustness/engine/action.go b/tests/robustness/engine/action.go index 384b2894c..850925f99 100644 --- a/tests/robustness/engine/action.go +++ b/tests/robustness/engine/action.go @@ -78,12 +78,14 @@ func (e *Engine) RandomAction(ctx context.Context, actionOpts ActionOpts) error } _, err := e.ExecAction(ctx, actionName, actionOpts[actionName]) - err = e.checkErrRecovery(ctx, err, actionOpts) + err = e.CheckErrRecovery(ctx, err, actionOpts) return err } -func (e *Engine) checkErrRecovery(ctx context.Context, incomingErr error, actionOpts ActionOpts) (outgoingErr error) { +// CheckErrRecovery tries to recover from no space left error +// by deleting data directories. +func (e *Engine) CheckErrRecovery(ctx context.Context, incomingErr error, actionOpts ActionOpts) (outgoingErr error) { outgoingErr = incomingErr if incomingErr == nil { diff --git a/tests/robustness/robustness_test/robustness_test.go b/tests/robustness/robustness_test/robustness_test.go index 0c183bf84..635220e73 100644 --- a/tests/robustness/robustness_test/robustness_test.go +++ b/tests/robustness/robustness_test/robustness_test.go @@ -35,12 +35,14 @@ func TestManySmallFiles(t *testing.T) { ctx := testlogging.ContextWithLevel(t, testlogging.LevelInfo) _, err := eng.ExecAction(ctx, engine.WriteRandomFilesActionKey, fileWriteOpts) + err = eng.CheckErrRecovery(ctx, err, engine.ActionOpts{}) require.NoError(t, err) snapOut, err := eng.ExecAction(ctx, engine.SnapshotDirActionKey, nil) require.NoError(t, err) _, err = eng.ExecAction(ctx, engine.RestoreSnapshotActionKey, snapOut) + err = eng.CheckErrRecovery(ctx, err, engine.ActionOpts{}) require.NoError(t, err) } @@ -91,12 +93,14 @@ func TestManySmallFilesAcrossDirecoryTree(t *testing.T) { ctx := testlogging.ContextWithLevel(t, testlogging.LevelInfo) _, err := eng.ExecAction(ctx, engine.WriteRandomFilesActionKey, fileWriteOpts) + err = eng.CheckErrRecovery(ctx, err, engine.ActionOpts{}) require.NoError(t, err) snapOut, err := eng.ExecAction(ctx, engine.SnapshotDirActionKey, nil) require.NoError(t, err) _, err = eng.ExecAction(ctx, engine.RestoreSnapshotActionKey, snapOut) + err = eng.CheckErrRecovery(ctx, err, engine.ActionOpts{}) require.NoError(t, err) }