-
Notifications
You must be signed in to change notification settings - Fork 42
Open
Labels
Description
Whenever I create a symlink to a directory, I cannot create/open files using this symlink. It works perfectly, if I use "osfs".
Here is a test for this bug:
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"gopkg.in/src-d/go-billy.v4/memfs"
"gopkg.in/src-d/go-billy.v4/util"
)
func TestSymlink_Mkdir(t *testing.T) {
fs := memfs.New()
//fs := osfs.New("/tmp")
require.NoError(t, fs.MkdirAll("dir", 0755))
require.NoError(t, util.WriteFile(fs, "dir/file.txt", nil, 0644))
require.NoError(t, fs.Symlink("dir", "link"))
_, err := fs.Stat("dir/file.txt")
assert.NoError(t, err, "reading directly /dir/file.txt")
_, err = fs.Stat("link/file.txt")
assert.NoError(t, err, "reading /dir/file.txt through /link")
fd, err := fs.Create("link/file2.txt")
assert.NoError(t, err)
assert.NoError(t, fd.Close())
_, err = fs.Stat("dir/file2.txt")
assert.NoError(t, err, "reading file2.txt created into the /link")
}
Let me know if I have made a mistake.