mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
add Volumes and VolumesFrom to CompareConfig
This commit is contained in:
parent
2db99441c8
commit
7c00201222
2 changed files with 51 additions and 11 deletions
11
utils.go
11
utils.go
|
@ -18,14 +18,16 @@ func CompareConfig(a, b *Config) bool {
|
||||||
a.MemorySwap != b.MemorySwap ||
|
a.MemorySwap != b.MemorySwap ||
|
||||||
a.CpuShares != b.CpuShares ||
|
a.CpuShares != b.CpuShares ||
|
||||||
a.OpenStdin != b.OpenStdin ||
|
a.OpenStdin != b.OpenStdin ||
|
||||||
a.Tty != b.Tty {
|
a.Tty != b.Tty ||
|
||||||
|
a.VolumesFrom != b.VolumesFrom {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if len(a.Cmd) != len(b.Cmd) ||
|
if len(a.Cmd) != len(b.Cmd) ||
|
||||||
len(a.Dns) != len(b.Dns) ||
|
len(a.Dns) != len(b.Dns) ||
|
||||||
len(a.Env) != len(b.Env) ||
|
len(a.Env) != len(b.Env) ||
|
||||||
len(a.PortSpecs) != len(b.PortSpecs) ||
|
len(a.PortSpecs) != len(b.PortSpecs) ||
|
||||||
len(a.Entrypoint) != len(b.Entrypoint) {
|
len(a.Entrypoint) != len(b.Entrypoint) ||
|
||||||
|
len(a.Volumes) != len(b.Volumes) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,6 +56,11 @@ func CompareConfig(a, b *Config) bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for key := range a.Volumes {
|
||||||
|
if _, exists := b.Volumes[key]; !exists {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -130,20 +130,44 @@ func runContainer(r *Runtime, args []string, t *testing.T) (output string, err e
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestCompareConfig(t *testing.T) {
|
func TestCompareConfig(t *testing.T) {
|
||||||
|
volumes1 := make(map[string]struct{})
|
||||||
|
volumes1["/test1"] = struct{}{}
|
||||||
config1 := Config{
|
config1 := Config{
|
||||||
Dns: []string{"1.1.1.1", "2.2.2.2"},
|
Dns: []string{"1.1.1.1", "2.2.2.2"},
|
||||||
PortSpecs: []string{"1111:1111", "2222:2222"},
|
PortSpecs: []string{"1111:1111", "2222:2222"},
|
||||||
Env: []string{"VAR1=1", "VAR2=2"},
|
Env: []string{"VAR1=1", "VAR2=2"},
|
||||||
|
VolumesFrom: "11111111",
|
||||||
|
Volumes: volumes1,
|
||||||
}
|
}
|
||||||
config2 := Config{
|
config2 := Config{
|
||||||
Dns: []string{"0.0.0.0", "2.2.2.2"},
|
Dns: []string{"0.0.0.0", "2.2.2.2"},
|
||||||
PortSpecs: []string{"1111:1111", "2222:2222"},
|
PortSpecs: []string{"1111:1111", "2222:2222"},
|
||||||
Env: []string{"VAR1=1", "VAR2=2"},
|
Env: []string{"VAR1=1", "VAR2=2"},
|
||||||
|
VolumesFrom: "11111111",
|
||||||
|
Volumes: volumes1,
|
||||||
}
|
}
|
||||||
config3 := Config{
|
config3 := Config{
|
||||||
Dns: []string{"1.1.1.1", "2.2.2.2"},
|
Dns: []string{"1.1.1.1", "2.2.2.2"},
|
||||||
PortSpecs: []string{"0000:0000", "2222:2222"},
|
PortSpecs: []string{"0000:0000", "2222:2222"},
|
||||||
Env: []string{"VAR1=1", "VAR2=2"},
|
Env: []string{"VAR1=1", "VAR2=2"},
|
||||||
|
VolumesFrom: "11111111",
|
||||||
|
Volumes: volumes1,
|
||||||
|
}
|
||||||
|
config4 := Config{
|
||||||
|
Dns: []string{"1.1.1.1", "2.2.2.2"},
|
||||||
|
PortSpecs: []string{"0000:0000", "2222:2222"},
|
||||||
|
Env: []string{"VAR1=1", "VAR2=2"},
|
||||||
|
VolumesFrom: "22222222",
|
||||||
|
Volumes: volumes1,
|
||||||
|
}
|
||||||
|
volumes2 := make(map[string]struct{})
|
||||||
|
volumes2["/test2"] = struct{}{}
|
||||||
|
config5 := Config{
|
||||||
|
Dns: []string{"1.1.1.1", "2.2.2.2"},
|
||||||
|
PortSpecs: []string{"0000:0000", "2222:2222"},
|
||||||
|
Env: []string{"VAR1=1", "VAR2=2"},
|
||||||
|
VolumesFrom: "11111111",
|
||||||
|
Volumes: volumes2,
|
||||||
}
|
}
|
||||||
if CompareConfig(&config1, &config2) {
|
if CompareConfig(&config1, &config2) {
|
||||||
t.Fatalf("CompareConfig should return false, Dns are different")
|
t.Fatalf("CompareConfig should return false, Dns are different")
|
||||||
|
@ -151,6 +175,15 @@ func TestCompareConfig(t *testing.T) {
|
||||||
if CompareConfig(&config1, &config3) {
|
if CompareConfig(&config1, &config3) {
|
||||||
t.Fatalf("CompareConfig should return false, PortSpecs are different")
|
t.Fatalf("CompareConfig should return false, PortSpecs are different")
|
||||||
}
|
}
|
||||||
|
if CompareConfig(&config1, &config4) {
|
||||||
|
t.Fatalf("CompareConfig should return false, VolumesFrom are different")
|
||||||
|
}
|
||||||
|
if CompareConfig(&config1, &config5) {
|
||||||
|
t.Fatalf("CompareConfig should return false, Volumes are different")
|
||||||
|
}
|
||||||
|
if !CompareConfig(&config1, &config1) {
|
||||||
|
t.Fatalf("CompareConfig should return true")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMergeConfig(t *testing.T) {
|
func TestMergeConfig(t *testing.T) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue