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

Function TestPids

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

Source from the content-addressed store, hash-verified

28)
29
30func TestPids(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 pids := NewPids(mock.root)
41 if pids == nil {
42 t.Fatal("pids is nil")
43 }
44 resources := specs.LinuxResources{}
45 resources.Pids = &specs.LinuxPids{}
46 pidsLimit := int64(10)
47 resources.Pids.Limit = &pidsLimit
48 err = pids.Create("test", &resources)
49 if err != nil {
50 t.Fatal(err)
51 }
52 current := filepath.Join(mock.root, "pids", "test", "pids.current")
53 if err = os.WriteFile(
54 current,
55 []byte(strconv.Itoa(5)),
56 defaultFilePerm,
57 ); err != nil {
58 t.Fatal(err)
59 }
60 metrics := v1.Metrics{}
61 err = pids.Stat("test", &metrics)
62 if err != nil {
63 t.Fatal(err)
64 }
65 if metrics.Pids.Limit != uint64(10) {
66 t.Fatalf("expected pids limit %q but received %q",
67 uint64(10), metrics.Pids.Limit)
68 }
69 if metrics.Pids.Current != uint64(5) {
70 t.Fatalf("expected pids limit %q but received %q",
71 uint64(5), metrics.Pids.Current)
72 }
73 pidsLimit = 15
74 err = pids.Update("test", &resources)
75 if err != nil {
76 t.Fatal(err)
77 }
78 err = pids.Stat("test", &metrics)
79 if err != nil {
80 t.Fatal(err)
81 }
82 if metrics.Pids.Limit != uint64(15) {
83 t.Fatalf("expected pids limit %q but received %q",
84 uint64(15), metrics.Pids.Limit)
85 }
86 if metrics.Pids.Current != uint64(5) {
87 t.Fatalf("expected pids limit %q but received %q",

Callers

nothing calls this directly

Calls 6

newMockFunction · 0.85
NewPidsFunction · 0.85
deleteMethod · 0.80
CreateMethod · 0.65
StatMethod · 0.65
UpdateMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…