Replace godep with dep
This commit is contained in:
parent
1e7489927c
commit
bf5616c65b
14883 changed files with 3937406 additions and 361781 deletions
120
vendor/github.com/ncabatoff/process-exporter/proc/read_test.go
generated
vendored
Normal file
120
vendor/github.com/ncabatoff/process-exporter/proc/read_test.go
generated
vendored
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
package proc
|
||||
|
||||
import (
|
||||
. "gopkg.in/check.v1"
|
||||
"os"
|
||||
"os/exec"
|
||||
)
|
||||
|
||||
var fs *FS
|
||||
|
||||
func init() {
|
||||
fs, _ = NewFS("/proc")
|
||||
}
|
||||
|
||||
// Basic test of proc reading: does AllProcs return at least two procs, one of which is us.
|
||||
func (s MySuite) TestAllProcs(c *C) {
|
||||
procs := fs.AllProcs()
|
||||
count := 0
|
||||
for procs.Next() {
|
||||
count++
|
||||
if procs.GetPid() != os.Getpid() {
|
||||
continue
|
||||
}
|
||||
procid, err := procs.GetProcId()
|
||||
c.Assert(err, IsNil)
|
||||
c.Check(procid.Pid, Equals, os.Getpid())
|
||||
static, err := procs.GetStatic()
|
||||
c.Assert(err, IsNil)
|
||||
c.Check(static.ParentPid, Equals, os.Getppid())
|
||||
}
|
||||
err := procs.Close()
|
||||
c.Assert(err, IsNil)
|
||||
c.Check(count, Not(Equals), 0)
|
||||
}
|
||||
|
||||
// Test that we can observe the absence of a child process before it spawns and after it exits,
|
||||
// and its presence during its lifetime.
|
||||
func (s MySuite) TestAllProcsSpawn(c *C) {
|
||||
childprocs := func() ([]ProcIdStatic, error) {
|
||||
found := []ProcIdStatic{}
|
||||
procs := fs.AllProcs()
|
||||
mypid := os.Getpid()
|
||||
for procs.Next() {
|
||||
procid, err := procs.GetProcId()
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
static, err := procs.GetStatic()
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
if static.ParentPid == mypid {
|
||||
found = append(found, ProcIdStatic{procid, static})
|
||||
}
|
||||
}
|
||||
err := procs.Close()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return found, nil
|
||||
}
|
||||
|
||||
children1, err := childprocs()
|
||||
c.Assert(err, IsNil)
|
||||
|
||||
cmd := exec.Command("/bin/cat")
|
||||
wc, err := cmd.StdinPipe()
|
||||
c.Assert(err, IsNil)
|
||||
err = cmd.Start()
|
||||
c.Assert(err, IsNil)
|
||||
|
||||
children2, err := childprocs()
|
||||
c.Assert(err, IsNil)
|
||||
|
||||
err = wc.Close()
|
||||
c.Assert(err, IsNil)
|
||||
err = cmd.Wait()
|
||||
c.Assert(err, IsNil)
|
||||
|
||||
children3, err := childprocs()
|
||||
c.Assert(err, IsNil)
|
||||
|
||||
foundcat := func(procs []ProcIdStatic) bool {
|
||||
for _, proc := range procs {
|
||||
if proc.Name == "cat" {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
c.Check(foundcat(children1), Equals, false)
|
||||
c.Check(foundcat(children2), Equals, true)
|
||||
c.Check(foundcat(children3), Equals, false)
|
||||
}
|
||||
|
||||
func (s MySuite) TestIterator(c *C) {
|
||||
// create a new proc with zero metrics, cmdline, starttime, ppid
|
||||
newProc := func(pid int, name string) ProcIdInfo {
|
||||
pis := newProcIdStatic(pid, 0, 0, name, nil)
|
||||
return ProcIdInfo{
|
||||
ProcId: pis.ProcId,
|
||||
ProcStatic: pis.ProcStatic,
|
||||
ProcMetrics: ProcMetrics{},
|
||||
}
|
||||
}
|
||||
p1 := newProc(1, "p1")
|
||||
want1 := []ProcIdInfo{p1}
|
||||
pi1 := procInfoIter(want1...)
|
||||
got, err := consumeIter(pi1)
|
||||
c.Assert(err, IsNil)
|
||||
c.Check(got, DeepEquals, want1)
|
||||
|
||||
p2 := newProc(2, "p2")
|
||||
want2 := []ProcIdInfo{p1, p2}
|
||||
pi2 := procInfoIter(want2...)
|
||||
got2, err := consumeIter(pi2)
|
||||
c.Assert(err, IsNil)
|
||||
c.Check(got2, DeepEquals, want2)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue