diff --git a/internal/vfs/local/root_test.go b/internal/vfs/local/root_test.go index a4711169a44bddbb3d1e87b0cf010ebeafacdff5..c8ee6616ebf9e1a3bda57464080aa80e0ed6761d 100644 --- a/internal/vfs/local/root_test.go +++ b/internal/vfs/local/root_test.go @@ -120,12 +120,11 @@ func TestReadlinkAbsolutePath(t *testing.T) { // create structure as: // /tmp/dir: directory // /tmp/dir/symlink: points to `/tmp/file` - tmpDir, err := ioutil.TempDir("", "vfs") - require.NoError(t, err) - defer os.RemoveAll(tmpDir) + tmpDir, cleanup := tmpDir(t) + defer cleanup() dirPath := filepath.Join(tmpDir, "dir") - err = os.Mkdir(dirPath, 0755) + err := os.Mkdir(dirPath, 0755) require.NoError(t, err) symlinkPath := filepath.Join(dirPath, "symlink") diff --git a/internal/vfs/local/vfs_test.go b/internal/vfs/local/vfs_test.go index 6ceb08a5ecda390e6094ee39132a02048449c064..ec67d59595f0157e5af8eaf67025fc1667b3b1d6 100644 --- a/internal/vfs/local/vfs_test.go +++ b/internal/vfs/local/vfs_test.go @@ -13,6 +13,19 @@ import ( var localVFS = &VFS{} +func tmpDir(t *testing.T) (string, func()) { + tmpDir, err := ioutil.TempDir("", "vfs") + require.NoError(t, err) + + // On some systems `/tmp` can be a symlink + tmpDir, err = filepath.EvalSymlinks(tmpDir) + require.NoError(t, err) + + return tmpDir, func() { + os.RemoveAll(tmpDir) + } +} + func TestVFSRoot(t *testing.T) { // create structure as: // /tmp/dir: directory @@ -21,12 +34,11 @@ func TestVFSRoot(t *testing.T) { // /tmp/file: file // /tmp/file_link: symlink to `file` // /tmp/file_absolute_link: symlink to `/tmp/file` - tmpDir, err := ioutil.TempDir("", "vfs") - require.NoError(t, err) - defer os.RemoveAll(tmpDir) + tmpDir, cleanup := tmpDir(t) + defer cleanup() dirPath := filepath.Join(tmpDir, "dir") - err = os.Mkdir(dirPath, 0755) + err := os.Mkdir(dirPath, 0755) require.NoError(t, err) filePath := filepath.Join(tmpDir, "file")