浏览代码

Merge pull request #11163 from duglin/RmiTest

Better error message for `docker rmi ''`
Phil Estes 10 年之前
父节点
当前提交
214eae6f53
共有 2 个文件被更改,包括 18 次插入0 次删除
  1. 4 0
      daemon/image_delete.go
  2. 14 0
      integration-cli/docker_cli_rmi_test.go

+ 4 - 0
daemon/image_delete.go

@@ -41,6 +41,10 @@ func (daemon *Daemon) DeleteImage(eng *engine.Engine, name string, imgs *engine.
 		tag = graph.DEFAULTTAG
 	}
 
+	if name == "" {
+		return fmt.Errorf("Image name can not be blank")
+	}
+
 	img, err := daemon.Repositories().LookupImage(name)
 	if err != nil {
 		if r, _ := daemon.Repositories().Get(repoName); r != nil {

+ 14 - 0
integration-cli/docker_cli_rmi_test.go

@@ -155,5 +155,19 @@ func TestRmiWithMultipleRepositories(t *testing.T) {
 	}
 
 	logDone("rmi - delete a image which its dependency tagged to multiple repositories success")
+}
+
+func TestRmiBlank(t *testing.T) {
+	// try to delete a blank image name
+	runCmd := exec.Command(dockerBinary, "rmi", "")
+	out, _, err := runCommandWithOutput(runCmd)
 
+	if err == nil {
+		t.Fatal("Should have failed to delete '' image")
+	}
+
+	if strings.Contains(out, "No such image") {
+		t.Fatalf("Wrong error message generated: %s", out)
+	}
+	logDone("rmi- blank image name")
 }