diff --git a/libpod/runtime_test.go b/libpod/runtime_test.go index f1f486ced4..9e720289a4 100644 --- a/libpod/runtime_test.go +++ b/libpod/runtime_test.go @@ -3,17 +3,13 @@ package libpod import ( - "os" "testing" "github.com/stretchr/testify/assert" ) func Test_generateName(t *testing.T) { - state, path, _, err := getEmptySqliteState() - assert.NoError(t, err) - defer os.RemoveAll(path) - defer state.Close() + state, _ := getEmptySqliteState(t) r := &Runtime{ state: state, diff --git a/libpod/state_test.go b/libpod/state_test.go index 85f48de7d6..d2c268abf2 100644 --- a/libpod/state_test.go +++ b/libpod/state_test.go @@ -3,7 +3,6 @@ package libpod import ( - "os" "strings" "testing" "time" @@ -16,35 +15,17 @@ import ( "go.podman.io/storage" ) -// Returns state, tmp directory containing all state files, lock manager, and -// error. -// Closing the state and removing the given tmp directory should be sufficient -// to clean up. -type emptyStateFunc func() (State, string, lock.Manager, error) - -const ( - tmpDirPrefix = "libpod_state_test_" -) +type emptyStateFunc func(t *testing.T) (State, lock.Manager) var testedStates = map[string]emptyStateFunc{ "sqlite": getEmptySqliteState, } -func getEmptySqliteState() (_ State, _ string, _ lock.Manager, retErr error) { - tmpDir, err := os.MkdirTemp("", tmpDirPrefix) - if err != nil { - return nil, "", nil, err - } - defer func() { - if retErr != nil { - os.RemoveAll(tmpDir) - } - }() - +func getEmptySqliteState(t *testing.T) (State, lock.Manager) { + t.Helper() + tmpDir := t.TempDir() lockManager, err := lock.NewInMemoryManager(16) - if err != nil { - return nil, "", nil, err - } + require.NoError(t, err) runtime := new(Runtime) runtime.config = new(config.Config) @@ -56,28 +37,20 @@ func getEmptySqliteState() (_ State, _ string, _ lock.Manager, retErr error) { runtime.storageSet.StaticDirSet = true state, err := NewSqliteState(runtime) - if err != nil { - return nil, "", nil, err - } + require.NoError(t, err) + t.Cleanup(func() { + state.Close() + }) - return state, tmpDir, lockManager, nil + return state, lockManager } func runForAllStates(t *testing.T, testFunc func(*testing.T, State, lock.Manager)) { for stateName, stateFunc := range testedStates { - state, path, manager, err := stateFunc() - if err != nil { - t.Fatalf("Error initializing state %s: %v", stateName, err) - } - defer os.RemoveAll(path) - defer state.Close() - - success := t.Run(stateName, func(t *testing.T) { + t.Run(stateName, func(t *testing.T) { + state, manager := stateFunc(t) testFunc(t, state, manager) }) - if !success { - t.Fail() - } } }