github.com/castai/kvisor@v1.7.1-0.20240516114728-b3572a2607b5/pkg/cgroup/cgroup_cpu_test.go (about)

     1  package cgroup
     2  
     3  import (
     4  	"path"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  	"github.com/stretchr/testify/require"
     9  )
    10  
    11  func init() {
    12  	baseCgroupPath = "fixtures/cgroup"
    13  }
    14  
    15  func TestCgroup_CpuStat(t *testing.T) {
    16  	t.Skip() // TODO: Fix tests after NewFromProcessCgroupFile is used.
    17  
    18  	cg, err := NewFromProcessCgroupFile(path.Join("fixtures/proc/100/cgroup"))
    19  	require.NoError(t, err)
    20  	s, err := cg.CpuStat()
    21  	assert.Nil(t, err)
    22  	assert.Equal(t, 0., s.LimitCores)
    23  	assert.Equal(t, 26778.913419246, s.UsageSeconds)
    24  
    25  	cg, _ = NewFromProcessCgroupFile(path.Join("fixtures/proc/200/cgroup"))
    26  	s, err = cg.CpuStat()
    27  	assert.Nil(t, err)
    28  	assert.Equal(t, 1.5, s.LimitCores)
    29  	assert.Equal(t, 254005.032764376, s.ThrottledTimeSeconds)
    30  
    31  	cg, _ = NewFromProcessCgroupFile(path.Join("fixtures/proc/400/cgroup"))
    32  	s, err = cg.CpuStat()
    33  	assert.Nil(t, err)
    34  	assert.Equal(t, 0.1, s.LimitCores)
    35  	assert.Equal(t, 0.363166, s.ThrottledTimeSeconds)
    36  	assert.Equal(t, 3795.681254, s.UsageSeconds)
    37  
    38  	cg, _ = NewFromProcessCgroupFile(path.Join("fixtures/proc/500/cgroup"))
    39  	s, err = cg.CpuStat()
    40  	assert.Nil(t, err)
    41  	assert.Equal(t, 0., s.LimitCores)
    42  	assert.Equal(t, 0., s.ThrottledTimeSeconds)
    43  	assert.Equal(t, 5531.521992, s.UsageSeconds)
    44  }