Added sockstat test file

initial work on sockstat work

Fixed package name

Finished implementation of the sockstat plugin

missed a return value

Added sockstat to default plugins to start

Fixed scanner read on sockstat

fixed sockstat linux test for TCP alloc

update sockstat test case

Updated sockstat to return TCP and UDP memory in bytes instead of page count
This commit is contained in:
Ken Herner 2015-09-04 15:34:10 -04:00 committed by Ken Herner
commit 356e1bb866
4 changed files with 162 additions and 1 deletions

View file

@ -0,0 +1,41 @@
package collector
import (
"os"
"strconv"
"testing"
)
func TestSockStats(t *testing.T) {
file, err := os.Open("fixtures/sockstat")
if err != nil {
t.Fatal(err)
}
defer file.Close()
sockStats, err := parseSockStats(file, fileName)
if err != nil {
t.Fatal(err)
}
if want, got := "229", sockStats["sockets"]["used"]; want != got {
t.Errorf("want sockstat sockets used %s, got %s", want, got)
}
if want, got := "4", sockStats["TCP"]["tw"]; want != got {
t.Errorf("want sockstat sockets used %s, got %s", want, got)
}
if want, got := "17", sockStats["TCP"]["alloc"]; want != got {
t.Errorf("want sockstat sockets used %s, got %s", want, got)
}
// The test file has 1 for TCP mem, which is one page. So we should get the
// page size in bytes back from sockstat_linux. We get the page size from
// os here because this value can change from system to system. The value is
// 4096 by default from linux 2.4 onward.
if want, got := strconv.Itoa(os.Getpagesize()), sockStats["TCP"]["mem"]; want != got {
t.Errorf("want sockstat sockets used %s, got %s", want, got)
}
}