github.com/kaisenlinux/docker.io@v0.0.0-20230510090727-ea55db55fac7/engine/pkg/system/meminfo_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 "strings" 8 "testing" 9 10 units "github.com/docker/go-units" 11 ) 12 13 // TestMemInfo tests parseMemInfo with a static meminfo string 14 func TestMemInfo(t *testing.T) { 15 const input = ` 16 MemTotal: 1 kB 17 MemFree: 2 kB 18 MemAvailable: 3 kB 19 SwapTotal: 4 kB 20 SwapFree: 5 kB 21 Malformed1: 22 Malformed2: 1 23 Malformed3: 2 MB 24 Malformed4: X kB 25 ` 26 meminfo, err := parseMemInfo(strings.NewReader(input)) 27 if err != nil { 28 t.Fatal(err) 29 } 30 if meminfo.MemTotal != 1*units.KiB { 31 t.Fatalf("Unexpected MemTotal: %d", meminfo.MemTotal) 32 } 33 if meminfo.MemFree != 3*units.KiB { 34 t.Fatalf("Unexpected MemFree: %d", meminfo.MemFree) 35 } 36 if meminfo.SwapTotal != 4*units.KiB { 37 t.Fatalf("Unexpected SwapTotal: %d", meminfo.SwapTotal) 38 } 39 if meminfo.SwapFree != 5*units.KiB { 40 t.Fatalf("Unexpected SwapFree: %d", meminfo.SwapFree) 41 } 42 }