MCPcopy Create free account
hub / github.com/containerd/cgroups / TestGetUsage

Function TestGetUsage

cgroup1/cpuacct_test.go:30–70  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

28`
29
30func TestGetUsage(t *testing.T) {
31 mock, err := newMock(t)
32 if err != nil {
33 t.Fatal(err)
34 }
35 defer func() {
36 if err := mock.delete(); err != nil {
37 t.Errorf("failed delete: %v", err)
38 }
39 }()
40 cpuacct := NewCpuacct(mock.root)
41 if cpuacct == nil {
42 t.Fatal("cpuacct is nil")
43 }
44 err = os.Mkdir(filepath.Join(mock.root, string(Cpuacct), "test"), defaultDirPerm)
45 if err != nil {
46 t.Fatal(err)
47 }
48 current := filepath.Join(mock.root, string(Cpuacct), "test", "cpuacct.stat")
49 if err = os.WriteFile(
50 current,
51 []byte(cpuacctStatData),
52 defaultFilePerm,
53 ); err != nil {
54 t.Fatal(err)
55 }
56 user, kernel, err := cpuacct.getUsage("test")
57 if err != nil {
58 t.Fatalf("can't get usage: %v", err)
59 }
60 index := []uint64{
61 user,
62 kernel,
63 }
64 for i, v := range index {
65 expected := ((uint64(i) + 1) * nanosecondsInSecond) / clockTicks
66 if v != expected {
67 t.Errorf("expected value at index %d to be %d but received %d", i, expected, v)
68 }
69 }
70}

Callers

nothing calls this directly

Calls 4

newMockFunction · 0.85
NewCpuacctFunction · 0.85
deleteMethod · 0.80
getUsageMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…