meminfo_unix_test.go 851 B

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