17
17
package container
18
18
19
19
import (
20
+ "encoding/json"
20
21
"fmt"
21
22
"strings"
22
23
"testing"
@@ -251,7 +252,6 @@ func TestContainerInspectHostConfig(t *testing.T) {
251
252
"--read-only" ,
252
253
"--shm-size" , "256m" ,
253
254
"--uts" , "host" ,
254
- "--device" , "/dev/null:/dev/null" ,
255
255
"--sysctl" , "net.core.somaxconn=1024" ,
256
256
"--runtime" , "io.containerd.runc.v2" ,
257
257
testutil .AlpineImage , "sleep" , "infinity" ).AssertOK ()
@@ -277,11 +277,6 @@ func TestContainerInspectHostConfig(t *testing.T) {
277
277
assert .Equal (t , true , inspect .HostConfig .ReadonlyRootfs )
278
278
assert .Equal (t , "host" , inspect .HostConfig .UTSMode )
279
279
assert .Equal (t , int64 (268435456 ), inspect .HostConfig .ShmSize )
280
- // assert.Equal(t, "io.containerd.runtime.v1.linux", inspect.HostConfig.Runtime)
281
- // expectedSysctls := map[string]string{
282
- // "net.core.somaxconn": "1024",
283
- // }
284
- // assert.Equal(t, bool(true), inspect.HostConfig.OomKillDisable)
285
280
}
286
281
287
282
func TestContainerInspectHostConfigDefaults (t * testing.T ) {
@@ -305,19 +300,14 @@ func TestContainerInspectHostConfigDefaults(t *testing.T) {
305
300
assert .Equal (t , "private" , inspect .HostConfig .IpcMode )
306
301
assert .Equal (t , "" , inspect .HostConfig .LogConfig .Driver )
307
302
assert .Equal (t , int64 (0 ), inspect .HostConfig .Memory )
308
- t .Logf ("inspect.HostConfig.Memory in TestContainerInspectHostConfigDefaults: %+v" , inspect .HostConfig .Memory )
309
303
assert .Equal (t , int64 (0 ), inspect .HostConfig .MemorySwap )
310
- t .Logf ("inspect.HostConfig.MemorySwap in TestContainerInspectHostConfigDefaults: %+v" , inspect .HostConfig .MemorySwap )
311
304
assert .Equal (t , bool (false ), inspect .HostConfig .OomKillDisable )
312
- t .Logf ("inspect.HostConfig.OomKillDisable in TestContainerInspectHostConfigDefaults: %+v" , inspect .HostConfig .OomKillDisable )
313
305
assert .Equal (t , bool (false ), inspect .HostConfig .ReadonlyRootfs )
314
306
assert .Equal (t , "" , inspect .HostConfig .UTSMode )
315
307
assert .Equal (t , int64 (67108864 ), inspect .HostConfig .ShmSize )
316
308
assert .Equal (t , "runc" , inspect .HostConfig .Runtime )
317
309
assert .Equal (t , 0 , len (inspect .HostConfig .Sysctls ))
318
310
assert .Equal (t , 0 , len (inspect .HostConfig .Devices ))
319
- // t.Logf("len(inspect.HostConfig.Sysctls) in TestContainerInspectHostConfigDefaults: %+v", len(inspect.HostConfig.Sysctls))
320
- // t.Logf("len(inspect.HostConfig.Devices) in TestContainerInspectHostConfigDefaults: %+v", len(inspect.HostConfig.Devices))
321
311
}
322
312
323
313
func TestContainerInspectHostConfigDNS (t * testing.T ) {
@@ -406,62 +396,34 @@ func TestContainerInspectHostConfigPIDDefaults(t *testing.T) {
406
396
assert .Equal (t , "" , inspect .HostConfig .PidMode )
407
397
}
408
398
409
- // assert.Equal(t, true, inspect.HostConfig.ReadonlyRootfs)
410
- // assert.Equal(t, "host", inspect.HostConfig.UTSMode)
411
- // assert.Equal(t, int64(268435456), inspect.HostConfig.ShmSize)
412
- // assert.Equal(t, "io.containerd.runtime.v1.linux", inspect.HostConfig.Runtime)
413
- // expectedSysctls := map[string]string{
414
- // "net.core.somaxconn": "1024",
415
- // }
416
- // assert.DeepEqual(t, expectedSysctls, inspect.HostConfig.Sysctls)
417
- // expectedDevices := []string{"/dev/null:/dev/null"}
418
- // assert.DeepEqual(t, expectedDevices, inspect.HostConfig.Devices)
419
-
420
- // func TestContainerInspectHostConfigAdvanced(t *testing.T) {
421
- // testContainer := testutil.Identifier(t)
422
-
423
- // base := testutil.NewBase(t)
424
- // defer base.Cmd("rm", "-f", testContainer).Run()
425
-
426
- // // Run a container with various advanced HostConfig options
427
- // base.Cmd("run", "-d", "--name", testContainer,
428
- // "--read-only",
429
- // "--uts", "host",
430
- // "--shm-size", "256m",
431
- // "--runtime", "io.containerd.runtime.v1.linux",
432
- // "--sysctl", "net.core.somaxconn=1024",
433
- // "--device", "/dev/null:/dev/null",
434
- // testutil.AlpineImage, "sleep", "infinity").AssertOK()
435
-
436
- // inspect := base.InspectContainer(testContainer)
437
-
438
- // // Check ReadonlyRootfs
439
- // assert.Equal(t, true, inspect.HostConfig.ReadonlyRootfs)
440
-
441
- // // Check UTSMode
442
- // assert.Equal(t, "host", inspect.HostConfig.UTSMode)
443
-
444
- // // Check ShmSize
445
- // assert.Equal(t, int64(268435456), inspect.HostConfig.ShmSize)
446
-
447
- // // Check Runtime
448
- // assert.Equal(t, "io.containerd.runtime.v1.linux", inspect.HostConfig.Runtime)
449
-
450
- // // Check Sysctls
451
- // expectedSysctls := map[string]string{
452
- // "net.core.somaxconn": "1024",
453
- // }
454
- // assert.DeepEqual(t, expectedSysctls, inspect.HostConfig.Sysctls)
455
-
456
- // // Check Devices
457
- // expectedDevices := []string{"/dev/null:/dev/null"}
458
- // assert.DeepEqual(t, expectedDevices, inspect.HostConfig.Devices)
459
-
460
- // // Log the entire HostConfig for debugging
461
- // hostConfigJSON, err := json.MarshalIndent(inspect.HostConfig, "", " ")
462
- // if err != nil {
463
- // t.Errorf("Failed to marshal HostConfig: %v", err)
464
- // } else {
465
- // t.Logf("HostConfig in TestContainerInspectHostConfigAdvanced:\n%s", string(hostConfigJSON))
466
- // }
467
- // }
399
+ func TestContainerInspectDevices (t * testing.T ) {
400
+ testContainer := testutil .Identifier (t )
401
+
402
+ base := testutil .NewBase (t )
403
+ defer base .Cmd ("rm" , "-f" , testContainer ).Run ()
404
+
405
+ // Run a container with various advanced HostConfig options
406
+ base .Cmd ("run" , "-d" , "--name" , testContainer ,
407
+ "--device" , "/dev/null:/dev/null" ,
408
+ testutil .AlpineImage , "sleep" , "infinity" ).AssertOK ()
409
+
410
+ inspect := base .InspectContainer (testContainer )
411
+
412
+ // Check Devices
413
+ expectedDevices := []dockercompat.DeviceMapping {
414
+ {
415
+ PathOnHost : "/dev/null" ,
416
+ PathInContainer : "/dev/null" ,
417
+ CgroupPermissions : "rwm" ,
418
+ },
419
+ }
420
+ assert .DeepEqual (t , expectedDevices , inspect .HostConfig .Devices )
421
+
422
+ // Log the entire HostConfig for debugging
423
+ hostConfigJSON , err := json .MarshalIndent (inspect .HostConfig , "" , " " )
424
+ if err != nil {
425
+ t .Errorf ("Failed to marshal HostConfig: %v" , err )
426
+ } else {
427
+ t .Logf ("HostConfig in TestContainerInspectDevices:\n %s" , string (hostConfigJSON ))
428
+ }
429
+ }
0 commit comments