diff options
author | Ian Lance Taylor <iant@golang.org> | 2020-07-10 10:51:40 -0700 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2020-07-10 11:30:23 -0700 |
commit | 2b6d99468d4d988fd5f5ea3e9be41a3dc95a1291 (patch) | |
tree | cb989c3bca6130c4649a3cd44041adc4f4b1c2c2 /libgo/go/os | |
parent | 510125d2272175f47b26227fbe9b8c8c5abfd988 (diff) | |
download | gcc-2b6d99468d4d988fd5f5ea3e9be41a3dc95a1291.zip gcc-2b6d99468d4d988fd5f5ea3e9be41a3dc95a1291.tar.gz gcc-2b6d99468d4d988fd5f5ea3e9be41a3dc95a1291.tar.bz2 |
libgo: update to Go 1.14.4 release
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/241999
Diffstat (limited to 'libgo/go/os')
-rw-r--r-- | libgo/go/os/os_test.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/libgo/go/os/os_test.go b/libgo/go/os/os_test.go index a19b46d..8ec6de7 100644 --- a/libgo/go/os/os_test.go +++ b/libgo/go/os/os_test.go @@ -2450,3 +2450,38 @@ func TestDirSeek(t *testing.T) { } } } + +// Test that opening a file does not change its permissions. Issue 38225. +func TestOpenFileKeepsPermissions(t *testing.T) { + t.Parallel() + dir, err := ioutil.TempDir("", "TestOpenFileKeepsPermissions") + if err != nil { + t.Fatal(err) + } + defer RemoveAll(dir) + name := filepath.Join(dir, "x") + f, err := Create(name) + if err != nil { + t.Fatal(err) + } + if err := f.Close(); err != nil { + t.Error(err) + } + f, err = OpenFile(name, O_WRONLY|O_CREATE|O_TRUNC, 0) + if err != nil { + t.Fatal(err) + } + if fi, err := f.Stat(); err != nil { + t.Error(err) + } else if fi.Mode()&0222 == 0 { + t.Errorf("f.Stat.Mode after OpenFile is %v, should be writable", fi.Mode()) + } + if err := f.Close(); err != nil { + t.Error(err) + } + if fi, err := Stat(name); err != nil { + t.Error(err) + } else if fi.Mode()&0222 == 0 { + t.Errorf("Stat after OpenFile is %v, should be writable", fi.Mode()) + } +} |