mirror of
https://github.com/containers/buildah.git
synced 2025-04-19 18:02:18 +03:00
Add `t.Parallel()` to unit tests whereever its possible without race. Signed-off-by: flouthoc <flouthoc.git@gmail.com>
59 lines
1.5 KiB
Go
59 lines
1.5 KiB
Go
package tmpdir
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
|
|
"github.com/containers/common/pkg/config"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestGetTempDir(t *testing.T) {
|
|
t.Parallel()
|
|
// test default
|
|
err := os.Unsetenv("TMPDIR")
|
|
require.NoError(t, err)
|
|
err = os.Setenv("CONTAINERS_CONF", "/dev/null")
|
|
require.NoError(t, err)
|
|
tmpdir := GetTempDir()
|
|
assert.Equal(t, "/var/tmp", tmpdir)
|
|
|
|
// test TMPDIR Environment
|
|
err = os.Setenv("TMPDIR", "/tmp/bogus")
|
|
require.NoError(t, err)
|
|
tmpdir = GetTempDir()
|
|
assert.Equal(t, tmpdir, "/tmp/bogus")
|
|
err = os.Unsetenv("TMPDIR")
|
|
require.NoError(t, err)
|
|
|
|
// relative TMPDIR should be automatically converted to absolute
|
|
err = os.Setenv("TMPDIR", ".")
|
|
require.NoError(t, err)
|
|
tmpdir = GetTempDir()
|
|
assert.True(t, filepath.IsAbs(tmpdir), "path from GetTempDir should always be absolute")
|
|
err = os.Unsetenv("TMPDIR")
|
|
require.NoError(t, err)
|
|
|
|
f, err := os.CreateTemp("", "containers.conf-")
|
|
require.NoError(t, err)
|
|
// close and remove the temporary file at the end of the program
|
|
defer f.Close()
|
|
defer os.Remove(f.Name())
|
|
data := []byte("[engine]\nimage_copy_tmp_dir=\"/mnt\"\n")
|
|
_, err = f.Write(data)
|
|
require.NoError(t, err)
|
|
|
|
err = os.Setenv("CONTAINERS_CONF", f.Name())
|
|
require.NoError(t, err)
|
|
// force config reset of default containers.conf
|
|
options := config.Options{
|
|
SetDefault: true,
|
|
}
|
|
_, err = config.New(&options)
|
|
require.NoError(t, err)
|
|
tmpdir = GetTempDir()
|
|
assert.Equal(t, "/mnt", tmpdir)
|
|
}
|