telegraf/plugins/inputs/procstat/procstat_test.go

34 lines
779 B
Go
Raw Normal View History

2015-10-04 05:09:18 +00:00
package procstat
import (
"io/ioutil"
"os"
"strconv"
"testing"
"github.com/shirou/gopsutil/process"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
2016-01-20 18:57:35 +00:00
"github.com/influxdata/telegraf/testutil"
2015-10-04 05:09:18 +00:00
)
func TestGather(t *testing.T) {
var acc testutil.Accumulator
pid := os.Getpid()
file, err := ioutil.TempFile(os.TempDir(), "telegraf")
require.NoError(t, err)
file.Write([]byte(strconv.Itoa(pid)))
file.Close()
defer os.Remove(file.Name())
p := Procstat{
PidFile: file.Name(),
Prefix: "foo",
pidmap: make(map[int32]*process.Process),
tagmap: make(map[int32]map[string]string),
2015-10-04 05:09:18 +00:00
}
p.Gather(&acc)
assert.True(t, acc.HasFloatField("procstat", "foo_cpu_time_user"))
assert.True(t, acc.HasUIntField("procstat", "foo_memory_vms"))
2015-10-04 05:09:18 +00:00
}