Files
core/psutil/psutil_test.go
Jan Stabenow 9c0b535199 Add v16.7.2
2022-05-13 19:26:45 +02:00

95 lines
1.9 KiB
Go

package psutil
import (
"math"
"testing"
"github.com/stretchr/testify/assert"
)
func getUtil(path string) *util {
u, _ := New(path)
return u.(*util)
}
func TestCgroup2Limited(t *testing.T) {
u := getUtil("./fixtures/cgroup2-limited")
assert.Equal(t, true, u.hasCgroup)
assert.Equal(t, 2, u.cgroupType)
assert.Equal(t, uint64(1000000000), u.cpuLimit)
stat, err := u.cgroupCPUTimes(2)
assert.Nil(t, err)
assert.Equal(t, float64(111275261000), stat.system)
mem, err := u.cgroupVirtualMemory(2)
assert.Nil(t, err)
assert.Equal(t, uint64(524288000), mem.Total)
assert.Equal(t, uint64(43745280), mem.Used)
}
func TestCgroup2(t *testing.T) {
u := getUtil("./fixtures/cgroup2")
assert.Equal(t, true, u.hasCgroup)
assert.Equal(t, 2, u.cgroupType)
assert.Equal(t, uint64(0), u.cpuLimit)
stat, err := u.cgroupCPUTimes(2)
assert.Nil(t, err)
assert.Equal(t, float64(97868879000), stat.system)
mem, err := u.cgroupVirtualMemory(2)
assert.Nil(t, err)
assert.Equal(t, uint64(math.MaxUint64), mem.Total)
assert.Equal(t, uint64(41603072), mem.Used)
}
func TestCgroupLimited(t *testing.T) {
u := getUtil("./fixtures/cgroup-limited")
assert.Equal(t, true, u.hasCgroup)
assert.Equal(t, 1, u.cgroupType)
assert.Equal(t, uint64(300000000), u.cpuLimit)
stat, err := u.cgroupCPUTimes(1)
assert.Nil(t, err)
assert.Equal(t, float64(5487224113), stat.system)
mem, err := u.cgroupVirtualMemory(1)
assert.Nil(t, err)
assert.Equal(t, uint64(536870912), mem.Total)
assert.Equal(t, uint64(34197504), mem.Used)
}
func TestCgroup(t *testing.T) {
u := getUtil("./fixtures/cgroup")
assert.Equal(t, true, u.hasCgroup)
assert.Equal(t, 1, u.cgroupType)
assert.Equal(t, uint64(0), u.cpuLimit)
stat, err := u.cgroupCPUTimes(1)
assert.Nil(t, err)
assert.Equal(t, float64(809843976), stat.system)
mem, err := u.cgroupVirtualMemory(1)
assert.Nil(t, err)
assert.Equal(t, uint64(9223372036854771712), mem.Total)
assert.Equal(t, uint64(34070528), mem.Used)
}