github.com/kaisenlinux/docker.io@v0.0.0-20230510090727-ea55db55fac7/engine/daemon/config/config_common_unix_test.go (about) 1 //go:build !windows 2 // +build !windows 3 4 package config // import "github.com/docker/docker/daemon/config" 5 6 import ( 7 "testing" 8 9 "github.com/docker/docker/api/types" 10 ) 11 12 func TestCommonUnixValidateConfigurationErrors(t *testing.T) { 13 testCases := []struct { 14 config *Config 15 }{ 16 // Can't override the stock runtime 17 { 18 config: &Config{ 19 CommonUnixConfig: CommonUnixConfig{ 20 Runtimes: map[string]types.Runtime{ 21 StockRuntimeName: {}, 22 }, 23 }, 24 }, 25 }, 26 // Default runtime should be present in runtimes 27 { 28 config: &Config{ 29 CommonUnixConfig: CommonUnixConfig{ 30 Runtimes: map[string]types.Runtime{ 31 "foo": {}, 32 }, 33 DefaultRuntime: "bar", 34 }, 35 }, 36 }, 37 } 38 for _, tc := range testCases { 39 err := Validate(tc.config) 40 if err == nil { 41 t.Fatalf("expected error, got nil for config %v", tc.config) 42 } 43 } 44 } 45 46 func TestCommonUnixGetInitPath(t *testing.T) { 47 testCases := []struct { 48 config *Config 49 expectedInitPath string 50 }{ 51 { 52 config: &Config{ 53 InitPath: "some-init-path", 54 }, 55 expectedInitPath: "some-init-path", 56 }, 57 { 58 config: &Config{ 59 CommonUnixConfig: CommonUnixConfig{ 60 DefaultInitBinary: "foo-init-bin", 61 }, 62 }, 63 expectedInitPath: "foo-init-bin", 64 }, 65 { 66 config: &Config{ 67 InitPath: "init-path-A", 68 CommonUnixConfig: CommonUnixConfig{ 69 DefaultInitBinary: "init-path-B", 70 }, 71 }, 72 expectedInitPath: "init-path-A", 73 }, 74 { 75 config: &Config{}, 76 expectedInitPath: "docker-init", 77 }, 78 } 79 for _, tc := range testCases { 80 initPath := tc.config.GetInitPath() 81 if initPath != tc.expectedInitPath { 82 t.Fatalf("expected initPath to be %v, got %v", tc.expectedInitPath, initPath) 83 } 84 } 85 }