OXIESEC PANEL
- Current Dir:
/
/
opt
/
golang
/
1.22.0
/
src
/
cmd
/
gofmt
Server IP: 191.96.63.230
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/02/2024 06:09:55 PM
rwxr-xr-x
📄
doc.go
3.17 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
gofmt.go
15.03 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
gofmt_test.go
4.32 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
gofmt_unix_test.go
1.38 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
internal.go
5.04 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
long_test.go
3.77 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
rewrite.go
8.12 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
simplify.go
4.76 KB
02/02/2024 06:09:55 PM
rw-r--r--
📁
testdata
-
02/02/2024 06:09:55 PM
rwxr-xr-x
Editing: gofmt_unix_test.go
Close
// Copyright 2023 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. //go:build unix package main import ( "os" "path/filepath" "strings" "testing" "time" ) func TestPermissions(t *testing.T) { if os.Getuid() == 0 { t.Skip("skipping permission test when running as root") } dir := t.TempDir() fn := filepath.Join(dir, "perm.go") // Create a file that needs formatting without write permission. if err := os.WriteFile(filepath.Join(fn), []byte(" package main"), 0o400); err != nil { t.Fatal(err) } // Set mtime of the file in the past. past := time.Now().Add(-time.Hour) if err := os.Chtimes(fn, past, past); err != nil { t.Fatal(err) } info, err := os.Stat(fn) if err != nil { t.Fatal(err) } defer func() { *write = false }() *write = true initParserMode() initRewrite() const maxWeight = 2 << 20 var buf, errBuf strings.Builder s := newSequencer(maxWeight, &buf, &errBuf) s.Add(fileWeight(fn, info), func(r *reporter) error { return processFile(fn, info, nil, r) }) if s.GetExitCode() == 0 { t.Fatal("rewrite of read-only file succeeded unexpectedly") } if errBuf.Len() > 0 { t.Log(errBuf) } info, err = os.Stat(fn) if err != nil { t.Fatal(err) } if !info.ModTime().Equal(past) { t.Errorf("after rewrite mod time is %v, want %v", info.ModTime(), past) } }