github.com/kaisenlinux/docker.io@v0.0.0-20230510090727-ea55db55fac7/engine/pkg/system/stat_unix_test.go (about) 1 //go:build linux || freebsd 2 // +build linux freebsd 3 4 package system // import "github.com/docker/docker/pkg/system" 5 6 import ( 7 "os" 8 "syscall" 9 "testing" 10 11 "gotest.tools/v3/assert" 12 ) 13 14 // TestFromStatT tests fromStatT for a tempfile 15 func TestFromStatT(t *testing.T) { 16 file, _, _, dir := prepareFiles(t) 17 defer os.RemoveAll(dir) 18 19 stat := &syscall.Stat_t{} 20 err := syscall.Lstat(file, stat) 21 assert.NilError(t, err) 22 23 s, err := fromStatT(stat) 24 assert.NilError(t, err) 25 26 if stat.Mode != s.Mode() { 27 t.Fatal("got invalid mode") 28 } 29 if stat.Uid != s.UID() { 30 t.Fatal("got invalid uid") 31 } 32 if stat.Gid != s.GID() { 33 t.Fatal("got invalid gid") 34 } 35 //nolint:unconvert // conversion needed to fix mismatch types on mips64el 36 if uint64(stat.Rdev) != s.Rdev() { 37 t.Fatal("got invalid rdev") 38 } 39 if stat.Mtim != s.Mtim() { 40 t.Fatal("got invalid mtim") 41 } 42 }