29 lines
698 B
Go
29 lines
698 B
Go
|
package procstat
|
||
|
|
||
|
import (
|
||
|
"github.com/influxdb/telegraf/testutil"
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
"github.com/stretchr/testify/require"
|
||
|
"io/ioutil"
|
||
|
"os"
|
||
|
"strconv"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
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())
|
||
|
specifications := []*Specification{&Specification{PidFile: file.Name(), Prefix: "foo"}}
|
||
|
p := Procstat{
|
||
|
Specifications: specifications,
|
||
|
}
|
||
|
p.Gather(&acc)
|
||
|
assert.True(t, acc.HasFloatValue("foo_cpu_user"))
|
||
|
assert.True(t, acc.HasUIntValue("foo_memory_vms"))
|
||
|
}
|