proc_test.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package proc
  2. import (
  3. "github.com/stretchr/testify/assert"
  4. "github.com/stretchr/testify/require"
  5. "inet.af/netaddr"
  6. "testing"
  7. )
  8. func init() {
  9. root = "fixtures"
  10. }
  11. func TestListPids(t *testing.T) {
  12. res, err := ListPids()
  13. require.NoError(t, err)
  14. assert.Equal(t, []uint32{123}, res)
  15. }
  16. func TestGetMountInfo(t *testing.T) {
  17. res := GetMountInfo(123)
  18. assert.Equal(t, map[string]MountInfo{
  19. "3125": {MajorMinor: "259:2", MountPoint: "/dev/termination-log"},
  20. "3126": {MajorMinor: "259:2", MountPoint: "/bitnami/kafka"},
  21. "3127": {MajorMinor: "259:2", MountPoint: "/scripts/setup.sh"},
  22. "3128": {MajorMinor: "259:2", MountPoint: "/etc/resolv.conf"},
  23. "3129": {MajorMinor: "259:2", MountPoint: "/etc/hostname"},
  24. "3130": {MajorMinor: "259:2", MountPoint: "/etc/hosts"},
  25. }, res)
  26. }
  27. func TestReadFds(t *testing.T) {
  28. fds, err := ReadFds(123)
  29. require.NoError(t, err)
  30. assert.Equal(t, []Fd{
  31. {Fd: 4, Dest: "/var/lib/postgresql/data/pg_wal/000000010000000000000001"},
  32. {Fd: 5, Dest: "socket:[321]", SocketInode: "321"},
  33. }, fds)
  34. }
  35. func TestGetFdInfo(t *testing.T) {
  36. res := GetFdInfo(123, 4)
  37. assert.Equal(t, FdInfo{
  38. MntId: "1965",
  39. Flags: int(0100002),
  40. Dest: "/var/lib/postgresql/data/pg_wal/000000010000000000000001",
  41. }, *res)
  42. }
  43. func TestGetSockets(t *testing.T) {
  44. res, err := GetSockets(123)
  45. require.NoError(t, err)
  46. ipp := func(s string) netaddr.IPPort {
  47. res, err := netaddr.ParseIPPort(s)
  48. require.NoError(t, err)
  49. return res
  50. }
  51. assert.Equal(t, []Sock{
  52. {Inode: "8039432", SAddr: ipp("0.0.0.0:5432"), DAddr: ipp("0.0.0.0:0"), Listen: true},
  53. {Inode: "8134154", SAddr: ipp("172.17.0.3:5432"), DAddr: ipp("172.17.0.4:36332"), Listen: false},
  54. {Inode: "8039433", SAddr: ipp("[::]:5432"), DAddr: ipp("[::]:0"), Listen: true},
  55. {Inode: "11139979", SAddr: ipp("[fe80::48cb:8b57:3c30:e6ac]:8080"), DAddr: ipp("[::]:0"), Listen: true},
  56. {Inode: "11154515", SAddr: ipp("127.0.0.1:8081"), DAddr: ipp("[::]:0"), Listen: true},
  57. }, res)
  58. }