From: Olivier Mengué Date: Sun, 8 Oct 2023 15:51:00 +0000 (+0200) Subject: testing/fstest: MapFS: set perm 0555 on synthetized dirs X-Git-Tag: go1.22rc1~626 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=09aada24aa156e0f754688487088badd969caad8;p=gostls13.git testing/fstest: MapFS: set perm 0555 on synthetized dirs As MapFS ignores filemodes and always grant read and traverse access on directories, let's make synthetized directory entries to expose filemode 0555 instead of 0000. Fixes #63468. Change-Id: I5d64a6bf2f2ac6082ca5dde55b3062669fb50b8d Reviewed-on: https://go-review.googlesource.com/c/go/+/534075 Reviewed-by: Ian Lance Taylor Auto-Submit: Ian Lance Taylor Reviewed-by: Dmitri Shuralyov LUCI-TryBot-Result: Go LUCI --- diff --git a/src/testing/fstest/mapfs.go b/src/testing/fstest/mapfs.go index a0b1f65668..b3fc0c8ad7 100644 --- a/src/testing/fstest/mapfs.go +++ b/src/testing/fstest/mapfs.go @@ -98,14 +98,14 @@ func (fsys MapFS) Open(name string) (fs.File, error) { delete(need, fi.name) } for name := range need { - list = append(list, mapFileInfo{name, &MapFile{Mode: fs.ModeDir}}) + list = append(list, mapFileInfo{name, &MapFile{Mode: fs.ModeDir | 0555}}) } sort.Slice(list, func(i, j int) bool { return list[i].name < list[j].name }) if file == nil { - file = &MapFile{Mode: fs.ModeDir} + file = &MapFile{Mode: fs.ModeDir | 0555} } return &mapDir{name, mapFileInfo{elem, file}, list, 0}, nil } diff --git a/src/testing/fstest/mapfs_test.go b/src/testing/fstest/mapfs_test.go index c8d29283b2..c64dc8db5a 100644 --- a/src/testing/fstest/mapfs_test.go +++ b/src/testing/fstest/mapfs_test.go @@ -16,7 +16,7 @@ func TestMapFS(t *testing.T) { "hello": {Data: []byte("hello, world\n")}, "fortune/k/ken.txt": {Data: []byte("If a program is too slow, it must have a loop.\n")}, } - if err := TestFS(m, "hello", "fortune/k/ken.txt"); err != nil { + if err := TestFS(m, "hello", "fortune", "fortune/k", "fortune/k/ken.txt"); err != nil { t.Fatal(err) } } @@ -37,7 +37,7 @@ func TestMapFSChmodDot(t *testing.T) { }) want := ` .: drwxrwxrwx -a: d--------- +a: dr-xr-xr-x a/b.txt: -rw-rw-rw- `[1:] got := buf.String()