gopkg.in/docker/docker.v20@v20.10.27/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  }