From 09aada24aa156e0f754688487088badd969caad8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Olivier=20Mengu=C3=A9?= Date: Sun, 8 Oct 2023 17:51:00 +0200 Subject: [PATCH] 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 --- src/testing/fstest/mapfs.go | 4 ++-- src/testing/fstest/mapfs_test.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) 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() -- 2.48.1