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

Function TestAddFilteredSubsystems

cgroup1/cgroup_test.go:115–174  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

113}
114
115func TestAddFilteredSubsystems(t *testing.T) {
116 mock, err := newMock(t)
117 if err != nil {
118 t.Fatal(err)
119 }
120 defer func() {
121 if err := mock.delete(); err != nil {
122 t.Errorf("failed delete: %v", err)
123 }
124 }()
125 control, err := New(StaticPath("test"), &specs.LinuxResources{}, WithHierarchy(mock.hierarchy))
126 if err != nil {
127 t.Error(err)
128 return
129 }
130
131 filteredSubsystems := []Name{"memory", "cpu"}
132 if err := control.Add(Process{Pid: 1234}, filteredSubsystems...); err != nil {
133 t.Error(err)
134 return
135 }
136
137 for _, s := range filteredSubsystems {
138 if err := checkPid(mock, filepath.Join(string(s), "test"), 1234); err != nil {
139 t.Error(err)
140 return
141 }
142 }
143
144 if err := checkPid(mock, filepath.Join("devices", "test"), 1234); err == nil {
145 t.Error("Pid should not be added to the devices subsystem")
146 return
147 }
148
149 bogusSubsystems := append(filteredSubsystems, "bogus")
150 if err := control.Add(Process{Pid: 5678}, bogusSubsystems...); err != nil {
151 t.Error(err)
152 return
153 }
154
155 for _, s := range filteredSubsystems {
156 if err := checkPid(mock, filepath.Join(string(s), "test"), 5678); err != nil {
157 t.Error(err)
158 return
159 }
160 }
161
162 nilSubsystems := []Name{}
163 if err := control.Add(Process{Pid: 9012}, nilSubsystems...); err != nil {
164 t.Error(err)
165 return
166 }
167
168 for _, s := range Subsystems() {
169 if err := checkPid(mock, filepath.Join(string(s), "test"), 9012); err != nil {
170 t.Error(err)
171 return
172 }

Callers

nothing calls this directly

Calls 8

newMockFunction · 0.85
NewFunction · 0.85
StaticPathFunction · 0.85
WithHierarchyFunction · 0.85
checkPidFunction · 0.85
SubsystemsFunction · 0.85
deleteMethod · 0.80
AddMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…