mirror of
				https://github.com/datarhei/core.git
				synced 2025-10-31 11:26:52 +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)
 | |
| }
 | 
