mirror of
https://github.com/datarhei/core.git
synced 2025-09-27 04:16:25 +08:00
95 lines
1.9 KiB
Go
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)
|
|
}
|