github.com/rawahars/moby@v24.0.4+incompatible/pkg/meminfo/meminfo_unix_test.go (about)

     1  //go:build linux || freebsd
     2  // +build linux freebsd
     3  
     4  package meminfo
     5  
     6  import (
     7  	"strings"
     8  	"testing"
     9  )
    10  
    11  // TestMemInfo tests parseMemInfo with a static meminfo string
    12  func TestMemInfo(t *testing.T) {
    13  	const input = `
    14  	MemTotal:      1 kB
    15  	MemFree:       2 kB
    16  	MemAvailable:  3 kB
    17  	SwapTotal:     4 kB
    18  	SwapFree:      5 kB
    19  	Malformed1:
    20  	Malformed2:    1
    21  	Malformed3:    2 MB
    22  	Malformed4:    X kB
    23  	`
    24  
    25  	const KiB = 1024
    26  
    27  	meminfo, err := parseMemInfo(strings.NewReader(input))
    28  	if err != nil {
    29  		t.Fatal(err)
    30  	}
    31  	if meminfo.MemTotal != 1*KiB {
    32  		t.Fatalf("Unexpected MemTotal: %d", meminfo.MemTotal)
    33  	}
    34  	if meminfo.MemFree != 3*KiB {
    35  		t.Fatalf("Unexpected MemFree: %d", meminfo.MemFree)
    36  	}
    37  	if meminfo.SwapTotal != 4*KiB {
    38  		t.Fatalf("Unexpected SwapTotal: %d", meminfo.SwapTotal)
    39  	}
    40  	if meminfo.SwapFree != 5*KiB {
    41  		t.Fatalf("Unexpected SwapFree: %d", meminfo.SwapFree)
    42  	}
    43  }