mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
add regression test
This commit is contained in:
parent
e608296bc6
commit
e592f1b298
2 changed files with 87 additions and 1 deletions
|
@ -995,7 +995,7 @@ func (srv *Server) deleteImage(img *Image, repoName, tag string) ([]APIRmi, erro
|
||||||
parsedRepo := strings.Split(repoAndTag, ":")[0]
|
parsedRepo := strings.Split(repoAndTag, ":")[0]
|
||||||
if strings.Contains(img.ID, repoName) {
|
if strings.Contains(img.ID, repoName) {
|
||||||
repoName = parsedRepo
|
repoName = parsedRepo
|
||||||
if len(strings.Split(repoAndTag, ":")) > 1 {
|
if len(srv.runtime.repositories.ByID()[img.ID]) == 1 && len(strings.Split(repoAndTag, ":")) > 1 {
|
||||||
tag = strings.Split(repoAndTag, ":")[1]
|
tag = strings.Split(repoAndTag, ":")[1]
|
||||||
}
|
}
|
||||||
} else if repoName != parsedRepo {
|
} else if repoName != parsedRepo {
|
||||||
|
|
|
@ -2,6 +2,7 @@ package docker
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/dotcloud/docker/utils"
|
"github.com/dotcloud/docker/utils"
|
||||||
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
@ -203,3 +204,88 @@ func TestLogEvent(t *testing.T) {
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestRmi(t *testing.T) {
|
||||||
|
runtime := mkRuntime(t)
|
||||||
|
defer nuke(runtime)
|
||||||
|
srv := &Server{runtime: runtime}
|
||||||
|
|
||||||
|
initialImages, err := srv.Images(false, "")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
config, hostConfig, _, err := ParseRun([]string{GetTestImage(runtime).ID, "echo test"}, nil)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
containerID, err := srv.ContainerCreate(config)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
//To remove
|
||||||
|
err = srv.ContainerStart(containerID, hostConfig)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
imageID, err := srv.ContainerCommit(containerID, "test", "", "", "", nil)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = srv.ContainerTag(imageID, "test", "0.1", false)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
containerID, err = srv.ContainerCreate(config)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
//To remove
|
||||||
|
err = srv.ContainerStart(containerID, hostConfig)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = srv.ContainerCommit(containerID, "test", "", "", "", nil)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
images, err := srv.Images(false, "")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(images)-len(initialImages) != 2 {
|
||||||
|
t.Fatalf("Expected 2 new images, found %d.", len(images)-len(initialImages))
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = srv.ImageDelete(imageID, true)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
images, err = srv.Images(false, "")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(images)-len(initialImages) != 1 {
|
||||||
|
t.Fatalf("Expected 1 new image, found %d.", len(images)-len(initialImages))
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, image := range images {
|
||||||
|
if strings.Contains(unitTestImageID, image.ID) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if image.Repository == "" {
|
||||||
|
t.Fatalf("Expected tagged image, got untagged one.")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue