meminfo_unix_test.go 875 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. //go:build linux || freebsd
  2. // +build linux freebsd
  3. package sysinfo
  4. import (
  5. "strings"
  6. "testing"
  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. MemAvailable: 3 kB
  14. SwapTotal: 4 kB
  15. SwapFree: 5 kB
  16. Malformed1:
  17. Malformed2: 1
  18. Malformed3: 2 MB
  19. Malformed4: X kB
  20. `
  21. const KiB = 1024
  22. meminfo, err := parseMemInfo(strings.NewReader(input))
  23. if err != nil {
  24. t.Fatal(err)
  25. }
  26. if meminfo.MemTotal != 1*KiB {
  27. t.Fatalf("Unexpected MemTotal: %d", meminfo.MemTotal)
  28. }
  29. if meminfo.MemFree != 3*KiB {
  30. t.Fatalf("Unexpected MemFree: %d", meminfo.MemFree)
  31. }
  32. if meminfo.SwapTotal != 4*KiB {
  33. t.Fatalf("Unexpected SwapTotal: %d", meminfo.SwapTotal)
  34. }
  35. if meminfo.SwapFree != 5*KiB {
  36. t.Fatalf("Unexpected SwapFree: %d", meminfo.SwapFree)
  37. }
  38. }