mirror of
https://github.com/clearlinux/docker.git
synced 2026-09-06 13:41:36 +00:00
Make utils_daemon and volumes cross-platform compileable.
Signed-off-by: Rik Nijessen <riknijessen@gmail.com>
This commit is contained in:
@@ -3,14 +3,14 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"github.com/docker/docker/pkg/system"
|
||||
"os"
|
||||
"syscall"
|
||||
)
|
||||
|
||||
// IsFileOwner checks whether the current user is the owner of the given file.
|
||||
func IsFileOwner(f string) bool {
|
||||
if fileInfo, err := os.Stat(f); err == nil && fileInfo != nil {
|
||||
if stat, ok := fileInfo.Sys().(*syscall.Stat_t); ok && int(stat.Uid) == os.Getuid() {
|
||||
if fileInfo, err := system.Stat(f); err == nil && fileInfo != nil {
|
||||
if int(fileInfo.Uid()) == os.Getuid() {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestIsFileOwner(t *testing.T) {
|
||||
var err error
|
||||
var file *os.File
|
||||
|
||||
if file, err = os.Create(path.Join(os.TempDir(), "testIsFileOwner")); err != nil {
|
||||
t.Fatalf("failed to create file: %s", err)
|
||||
}
|
||||
file.Close()
|
||||
|
||||
if ok := IsFileOwner(path.Join(os.TempDir(), "testIsFileOwner")); !ok {
|
||||
t.Fatalf("User should be owner of file")
|
||||
}
|
||||
|
||||
if err = os.Remove(path.Join(os.TempDir(), "testIsFileOwner")); err != nil {
|
||||
t.Fatalf("failed to remove file: %s", err)
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user