github.com/keysonzzz/kmg@v0.0.0-20151121023212-05317bfd7d39/kmgSys/systemUsage_linux_test.go (about)

     1  package kmgSys
     2  
     3  import (
     4  	"github.com/bronze1man/kmg/kmgTest"
     5  	"testing"
     6  )
     7  
     8  func TestMemory(t *testing.T) {
     9  	out := `
    10  Mem:    2099130368 1629151232  469979136   59084800   41701376  557920256
    11  -/+ buffers/cache: 1029529600 1069600768
    12  Swap:            0          0          0
    13  	`
    14  	used, total := memory(out)
    15  	kmgTest.Equal(total, 2099130368)
    16  	kmgTest.Equal(used, 0.49046)
    17  
    18  	out = `
    19  Mem:    33727324160 32708145152 1019179008          0  466333696 29958025216
    20  -/+ buffers/cache: 2283786240 31443537920
    21  Swap:   34347151360   47198208 34299953152
    22  	`
    23  	used, total = memory(out)
    24  	kmgTest.Equal(total, 2283786240+31443537920)
    25  	kmgTest.Equal(used, 0.067713)
    26  }
    27  
    28  func TestCpu(t *testing.T) {
    29  	out := `Linux 3.13.0-55-generic (DEV-BCE) 	07/15/2015 	_x86_64_	(2 CPU)
    30  
    31  09:16:45 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
    32  09:16:45 AM  all    0.45    0.01    0.17    0.27    0.00    0.00    0.00    0.00    0.00   99.10
    33  `
    34  	used, count := cpu(out)
    35  	kmgTest.Equal(used, 0.009)
    36  	kmgTest.Equal(count, 2)
    37  }
    38  
    39  func TestDisk(t *testing.T) {
    40  	out := `Filesystem     1K-blocks     Used Available Use% Mounted on
    41  /dev/vda1       20510264  6824604  12778152  35% /
    42  none                   4        0         4   0% /sys/fs/cgroup
    43  udev             1014108       12   1014096   1% /dev
    44  tmpfs             204996      436    204560   1% /run
    45  none                5120        0      5120   0% /run/lock
    46  none             1024964        0   1024964   0% /run/shm
    47  none              102400        0    102400   0% /run/user
    48  /dev/vdb1      103080224 11160216  86660796  12% /mnt
    49  	`
    50  	used, total := disk(out)
    51  	kmgTest.Equal(total, 20510264)
    52  	kmgTest.Equal(used, 0.35)
    53  }
    54  
    55  func TestNetwork(t *testing.T) {
    56  	out := `eth0      Link encap:Ethernet  HWaddr 10:bf:48:4f:08:20
    57  	  inet addr:222.197.183.79  Bcast:222.197.183.95  Mask:255.255.255.224
    58  	  inet6 addr: fe80::12bf:48ff:fe4f:820/64 Scope:Link
    59  	  UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
    60  	  RX packets:77719724 errors:0 dropped:0 overruns:0 frame:0
    61  	  TX packets:84835236 errors:0 dropped:0 overruns:0 carrier:0
    62  	  collisions:0 txqueuelen:1000
    63  	  RX bytes:28383392489 (28.3 GB)  TX bytes:38417002289 (38.4 GB)
    64  	  Interrupt:22 Memory:fba00000-fba20000
    65  `
    66  	rx, tx := networkRXTX(out)
    67  	kmgTest.Equal(rx, 28383392489)
    68  	kmgTest.Equal(tx, 38417002289)
    69  }
    70  
    71  func TestNetwork1(t *testing.T) {
    72  	out := `eth0      Link encap:Ethernet  HWaddr fa:16:3e:e5:c7:08
    73            inet addr:192.168.0.7  Bcast:192.168.255.255  Mask:255.255.0.0
    74            inet6 addr: fe80::f816:3eff:fee5:c708/64 Scope:Link
    75            UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
    76            RX packets:1380063 errors:0 dropped:0 overruns:0 frame:0
    77            TX packets:1188991 errors:0 dropped:0 overruns:0 carrier:0
    78            collisions:0 txqueuelen:1000
    79            RX bytes:412780439 (412.7 MB)  TX bytes:1187905033 (1.1 GB)
    80  `
    81  	rx, tx := networkRXTX(out)
    82  	kmgTest.Equal(rx, 412780439)
    83  	kmgTest.Equal(tx, 1187905033)
    84  }
    85  
    86  func TestNetwork2(t *testing.T) {
    87  	out := `eth0      Link encap:Ethernet  HWaddr bc:76:4e:1c:24:bc
    88            inet addr:119.9.108.209  Bcast:119.9.108.255  Mask:255.255.255.0
    89            inet6 addr: 2401:1800:7800:104:be76:4eff:fe1c:24bc/64 Scope:Global
    90            inet6 addr: fe80::be76:4eff:fe1c:24bc/64 Scope:Link
    91            UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
    92            RX packets:2926371 errors:0 dropped:0 overruns:0 frame:0
    93            TX packets:3082883 errors:0 dropped:0 overruns:0 carrier:0
    94            collisions:0 txqueuelen:1000
    95            RX bytes:2223211283 (2.2 GB)  TX bytes:2315810417 (2.3 GB)
    96  	`
    97  	rx, tx := networkRXTX(out)
    98  	kmgTest.Equal(rx, 2223211283)
    99  	kmgTest.Equal(tx, 2315810417)
   100  }
   101  
   102  func TestNetworkConnection(t *testing.T) {
   103  	count := networkConnection(`
   104  	39`)
   105  	kmgTest.Equal(count, 39)
   106  }
   107  
   108  func TestIKEUserCount(t *testing.T) {
   109  	c := ikeUserCount(`uptime: 45 minutes, since Jul 17 16:03:02 2015
   110  worker threads: 32 total, 27 idle, working: 4/0/1/0
   111  job queues: 0/0/0/0
   112  jobs scheduled: 471
   113  IKE_SAs: 79 total, 0 half-open
   114  mallinfo: sbrk 7364608, mmap 0, used 2095152, free 5269456`)
   115  	kmgTest.Equal(c, 79)
   116  }