meminfo_unix_test.go 860 B

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