"io/fs"
"os"
"runtime"
- "syscall"
"testing"
"ruderich.org/simon/safcm"
+ ft "ruderich.org/simon/safcm/cmd/safcm-remote/sync/filetest"
"ruderich.org/simon/safcm/testutil"
)
-func chmod(name string, perm int) {
- err := os.Chmod(name, FullPermToFileMode(perm))
+func chmod(name string, mode fs.FileMode) {
+ err := os.Chmod(name, mode)
if err != nil {
panic(err)
}
}
// Regular users cannot create sticky files
- skipInvalidSticky := runtime.GOOS == "freebsd"
+ skipInvalidSticky := os.Getuid() != 0 &&
+ (runtime.GOOS == "freebsd" || runtime.GOOS == "openbsd")
chmod("files-invalid-perm-dir/files", 0500)
defer chmod("files-invalid-perm-dir/files", 0700)
chmod("files-invalid-perm-dir/files/etc/", 0755)
chmod("files-invalid-perm-dir/files/etc/resolv.conf", 0644)
chmod("files-invalid-perm-dir-setgid/files", 0755)
- chmod("files-invalid-perm-dir-setgid/files/etc/", 02755)
+ chmod("files-invalid-perm-dir-setgid/files/etc/", 0755|fs.ModeSetgid)
chmod("files-invalid-perm-dir-setgid/files/etc/resolv.conf", 0644)
chmod("files-invalid-perm-file/files", 0755)
chmod("files-invalid-perm-file/files/etc/", 0755)
if !skipInvalidSticky {
chmod("files-invalid-perm-file-sticky/files", 0755)
chmod("files-invalid-perm-file-sticky/files/etc", 0755)
- chmod("files-invalid-perm-file-sticky/files/etc/resolv.conf", 01644)
+ chmod("files-invalid-perm-file-sticky/files/etc/resolv.conf",
+ 0644|fs.ModeSticky)
}
- err = syscall.Mkfifo("files-invalid-type/files/invalid", 0644)
- if err != nil {
- t.Fatal(err)
- }
+ ft.CreateFifo("files-invalid-type/files/invalid", 0644)
defer os.Remove("files-invalid-type/files/invalid")
const errMsg = `