dotcloud/docker

View on GitHub
testutil/temp_files.go

Summary

Maintainability
A
0 mins
Test Coverage
package testutil // import "github.com/docker/docker/testutil"

import (
    "os"
    "path/filepath"
    "testing"
)

// TempDir returns a temporary directory for use in tests.
// t.TempDir() can't be used as the temporary directory returned by
// that function cannot be accessed by the fake-root user for rootless
// Docker. It creates a nested hierarchy of directories where the
// outermost has permission 0700.
func TempDir(t *testing.T) string {
    t.Helper()
    dir := t.TempDir()

    parent := filepath.Dir(dir)
    if parent != "" {
        if err := os.Chmod(parent, 0o777); err != nil {
            t.Fatalf("Failed to chmod parent of temp directory %q: %v", parent, err)
        }
    }

    return dir
}