github.com/docker/docker@v299999999.0.0-20200612211812-aaf470eca7b5+incompatible/pkg/system/stat_unix_test.go (about)

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