meminfo_unix_test.go 916 B

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