Skip to content

Commit 99db19a

Browse files
authored
Merge pull request #349 from ndeloof/healthCheckMerge
closes docker/compose#10188
2 parents 02f24e9 + 3678527 commit 99db19a

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

loader/merge.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ func _merge(baseService *types.ServiceConfig, overrideService *types.ServiceConf
130130
if overrideService.Command != nil {
131131
baseService.Command = overrideService.Command
132132
}
133-
if overrideService.HealthCheck != nil {
133+
if overrideService.HealthCheck != nil && overrideService.HealthCheck.Test != nil {
134134
baseService.HealthCheck.Test = overrideService.HealthCheck.Test
135135
}
136136
if overrideService.Entrypoint != nil {

loader/merge_test.go

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1287,11 +1287,23 @@ func TestMergeHealthCheck(t *testing.T) {
12871287
},
12881288
},
12891289
}},
1290+
{Filename: "override.yml", Config: map[string]interface{}{
1291+
"services": map[string]interface{}{
1292+
"foo": map[string]interface{}{
1293+
"image": "alpine",
1294+
"healthcheck": map[string]interface{}{
1295+
"timeout": "30s",
1296+
},
1297+
},
1298+
},
1299+
}},
12901300
},
12911301
}
12921302
merged, err := loadTestProject(configDetails)
12931303
assert.NilError(t, err)
1294-
assert.DeepEqual(t, merged.Services[0].HealthCheck.Test, types.HealthCheckTest{"CMD", "override"})
1304+
check := merged.Services[0].HealthCheck
1305+
assert.DeepEqual(t, check.Test, types.HealthCheckTest{"CMD", "override"})
1306+
assert.Equal(t, check.Timeout.String(), "30s")
12951307
}
12961308

12971309
func TestMergeEnvironments(t *testing.T) {

0 commit comments

Comments
 (0)