]> ruderich.org/simon Gitweb - safcm/safcm.git/blobdiff - cmd/safcm/config/files_test.go
Move implementation of cmd/safcm-remote/ to remote/
[safcm/safcm.git] / cmd / safcm / config / files_test.go
index 46da59055ee602646257b77ebea609ab84e07081..110c012a18125c3a50360586c631353547be1859 100644 (file)
@@ -20,15 +20,15 @@ import (
        "io/fs"
        "os"
        "runtime"
-       "syscall"
        "testing"
 
        "ruderich.org/simon/safcm"
+       ft "ruderich.org/simon/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)
        }
@@ -47,14 +47,15 @@ func TestLoadFiles(t *testing.T) {
        }
 
        // 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)
@@ -65,13 +66,11 @@ func TestLoadFiles(t *testing.T) {
        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 = `