Added a test to ensure that the docker driver is removing containers after container exits successfully
This commit is contained in:
parent
02f16e0ea5
commit
e599ab795c
|
@ -757,3 +757,47 @@ func TestDockerUser(t *testing.T) {
|
|||
t.Fatalf("Expecting '%v' in '%v'", msg, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDockerDriver_CleanupContainer(t *testing.T) {
|
||||
t.Parallel()
|
||||
task := &structs.Task{
|
||||
Name: "redis-demo",
|
||||
Config: map[string]interface{}{
|
||||
"image": "busybox",
|
||||
"command": "/bin/echo",
|
||||
"args": []string{"hello"},
|
||||
},
|
||||
Resources: &structs.Resources{
|
||||
MemoryMB: 256,
|
||||
CPU: 512,
|
||||
},
|
||||
LogConfig: &structs.LogConfig{
|
||||
MaxFiles: 10,
|
||||
MaxFileSizeMB: 10,
|
||||
},
|
||||
}
|
||||
|
||||
_, handle, cleanup := dockerSetup(t, task)
|
||||
defer cleanup()
|
||||
|
||||
// Update should be a no-op
|
||||
err := handle.Update(task)
|
||||
if err != nil {
|
||||
t.Fatalf("err: %v", err)
|
||||
}
|
||||
|
||||
select {
|
||||
case res := <-handle.WaitCh():
|
||||
if !res.Successful() {
|
||||
t.Fatalf("err: %v", res)
|
||||
}
|
||||
case <-time.After(time.Duration(tu.TestMultiplier()*5) * time.Second):
|
||||
t.Fatalf("timeout")
|
||||
}
|
||||
|
||||
// Ensure that the container isn't present
|
||||
if _, err := client.InspectContainer(handle.(*DockerHandle).containerID); err == nil {
|
||||
t.Fatalf("expected to not get container")
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue