usage_test.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package stat
  2. import (
  3. "bytes"
  4. "strings"
  5. "testing"
  6. "github.com/stretchr/testify/assert"
  7. "github.com/zeromicro/go-zero/core/logx"
  8. )
  9. func TestBToMb(t *testing.T) {
  10. tests := []struct {
  11. name string
  12. bytes uint64
  13. expected float32
  14. }{
  15. {
  16. name: "Test 1: Convert 0 bytes to MB",
  17. bytes: 0,
  18. expected: 0,
  19. },
  20. {
  21. name: "Test 2: Convert 1048576 bytes to MB",
  22. bytes: 1048576,
  23. expected: 1,
  24. },
  25. {
  26. name: "Test 3: Convert 2097152 bytes to MB",
  27. bytes: 2097152,
  28. expected: 2,
  29. },
  30. }
  31. for _, test := range tests {
  32. t.Run(test.name, func(t *testing.T) {
  33. result := bToMb(test.bytes)
  34. assert.Equal(t, test.expected, result)
  35. })
  36. }
  37. }
  38. func TestPrintUsage(t *testing.T) {
  39. var buf bytes.Buffer
  40. writer := logx.NewWriter(&buf)
  41. old := logx.Reset()
  42. logx.SetWriter(writer)
  43. defer logx.SetWriter(old)
  44. printUsage()
  45. output := buf.String()
  46. assert.Contains(t, output, "CPU:")
  47. assert.Contains(t, output, "MEMORY:")
  48. assert.Contains(t, output, "Alloc=")
  49. assert.Contains(t, output, "TotalAlloc=")
  50. assert.Contains(t, output, "Sys=")
  51. assert.Contains(t, output, "NumGC=")
  52. lines := strings.Split(output, "\n")
  53. assert.Len(t, lines, 2)
  54. fields := strings.Split(lines[0], ", ")
  55. assert.Len(t, fields, 5)
  56. }