@@ -6,12 +6,7 @@ import (
6
6
7
7
func TestFailExtractBasicDockerId (t * testing.T ) {
8
8
read :=
9
- `5:cpu,cpuacct:/system.slice/d39fa516d8377ecddf9bf8ef33f81cbf58b4d604d85293ced7cdb0c7fc52442.scope
10
- 4:cpu,cpuacct:/system.slice/d39fa516d8377ecddf9bf8ef33f81cbf58b4d604d85293ced7cdb0c7fc52442
11
- 3:zpu,cpuacct:/system.slice/d39fa516d8377ecddf9bf8ef33f81cbf58b4d604d85293ced7cdb0c7fc52442b
12
- 2:cpu,cpuacct:system.slice:d39fa516d8377ecddf9bf8ef33f81cbf58b4d604d85293ced7cdb0c7fc52442b
13
- 1:cpu,cpuacct:/system.slice/d39fa516d8377ecddf9bf8ef33f81cbf5 8b4d604d85293ced7cdb0c7fc52442b.scope
14
- `
9
+ `1:cpu:/not_an_id`
15
10
16
11
utils := dockerUtils {}
17
12
@@ -179,3 +174,34 @@ func TestExtractECSDockerId(t *testing.T) {
179
174
t .Fatalf ("id mismatch: actual %v, expected %v" , actual , expected )
180
175
}
181
176
}
177
+
178
+ func TestExtractRootlessDockerId (t * testing.T ) {
179
+ read :=
180
+ `11:rdma:/
181
+ 10:freezer:/
182
+ 9:cpuset:/
183
+ 8:net_cls,net_prio:/
184
+ 7:cpu,cpuacct:/
185
+ 6:devices:/user.slice
186
+ 5:memory:/user.slice/user-1000.slice/[email protected]
187
+ 4:perf_event:/
188
+ 3:pids:/user.slice/user-1000.slice/[email protected]
189
+ 2:blkio:/
190
+ 1:name=systemd:/user.slice/user-1000.slice/[email protected] /docker.service/f7df0c0b3a8d4350647486b24a5bd5785d494c1a0910cfaee66d3db0db784093
191
+ 0::/user.slice/user-1000.slice/[email protected] /docker.service
192
+ `
193
+
194
+ expected := "f7df0c0b3a8d4350647486b24a5bd5785d494c1a0910cfaee66d3db0db784093"
195
+
196
+ utils := dockerUtils {}
197
+
198
+ actual , err := utils .ExtractContainerID (read )
199
+
200
+ if err != nil {
201
+ t .Fatalf ("Could not extract container id : %v" , err )
202
+ }
203
+
204
+ if actual != expected {
205
+ t .Fatalf ("id mismatch: actual %v, expected %v" , actual , expected )
206
+ }
207
+ }
0 commit comments