X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=cmd%2Fsafcm%2Fconfig%2Ffiles_test.go;h=6543bd80a3eb8f12c60c8dbd1feee2fad320934c;hb=d109a6151f48fc9e322bacbd3cc5e4f00eade713;hp=46da59055ee602646257b77ebea609ab84e07081;hpb=583a2695a3ddc9c98e0a03d9f1bad8df30afe887;p=safcm%2Fsafcm.git diff --git a/cmd/safcm/config/files_test.go b/cmd/safcm/config/files_test.go index 46da590..6543bd8 100644 --- a/cmd/safcm/config/files_test.go +++ b/cmd/safcm/config/files_test.go @@ -1,4 +1,4 @@ -// Copyright (C) 2021 Simon Ruderich +// Copyright (C) 2021-2023 Simon Ruderich // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -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) } @@ -39,7 +39,7 @@ func TestLoadFiles(t *testing.T) { if err != nil { t.Fatal(err) } - defer os.Chdir(cwd) + defer os.Chdir(cwd) //nolint:errcheck err = os.Chdir("../testdata/project") if err != nil { @@ -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 = `