package testutil import ( "os" "runtime" "strings" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) // TempDirUnixSocket returns a temporary directory that can safely hold unix // sockets (probably). // // During tests on darwin we hit the max path length limit for unix sockets // pretty easily in the default location, so this function uses /tmp instead to // get shorter paths. func TempDirUnixSocket(t *testing.T) string { t.Helper() if runtime.GOOS == "darwin" { testName := strings.ReplaceAll(t.Name(), "/", "_") dir, err := os.MkdirTemp("/tmp", testName) require.NoError(t, err, "create temp dir for gpg test") t.Cleanup(func() { err := os.RemoveAll(dir) assert.NoError(t, err, "remove temp dir", dir) }) return dir } return t.TempDir() }