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 }