Add parsing /proc/net/snmp6 file for netstat-linux (#615)

* Add parsing /proc/net/snmp6 file

* add /proc/net/snmp6 fixture

* fix e2e test

* gofmt

* remove unuser variable

* safe checks

* add tests

* change help format
This commit is contained in:
Aleksey Zhukov 2017-07-08 21:16:35 +03:00 committed by Ben Kochie
commit 7a914e58f2
5 changed files with 581 additions and 175 deletions

View file

@ -18,9 +18,12 @@ import (
"testing"
)
var fileName = "fixtures/proc/net/netstat"
func TestNetStats(t *testing.T) {
testNetStats(t, "fixtures/proc/net/netstat")
testSNMP6Stats(t, "fixtures/proc/net/snmp6")
}
func testNetStats(t *testing.T, fileName string) {
file, err := os.Open(fileName)
if err != nil {
t.Fatal(err)
@ -40,3 +43,24 @@ func TestNetStats(t *testing.T) {
t.Errorf("want netstat IP OutOctets %s, got %s", want, got)
}
}
func testSNMP6Stats(t *testing.T, fileName string) {
file, err := os.Open(fileName)
if err != nil {
t.Fatal(err)
}
defer file.Close()
snmp6Stats, err := parseSNMP6Stats(file)
if err != nil {
t.Fatal(err)
}
if want, got := "460", snmp6Stats["Ip6"]["InOctets"]; want != got {
t.Errorf("want netstat IPv6 InOctets %s, got %s", want, got)
}
if want, got := "8", snmp6Stats["Icmp6"]["OutMsgs"]; want != got {
t.Errorf("want netstat ICPM6 OutMsgs %s, got %s", want, got)
}
}