Przeglądaj źródła

fix naming, add a test for port range on docker ps

Docker-DCO-1.1-Signed-off-by: Jessie Frazelle <jess@docker.com> (github: jfrazelle)
Jessica Frazelle 10 lat temu
rodzic
commit
ba99a73c2f
2 zmienionych plików z 32 dodań i 10 usunięć
  1. 10 10
      api/common.go
  2. 22 0
      integration-cli/docker_cli_ps_test.go

+ 10 - 10
api/common.go

@@ -34,10 +34,10 @@ func DisplayablePorts(ports *engine.Table) string {
 	var (
 		result          = []string{}
 		hostMappings    = []string{}
-		startOfGroupMap map[string]int
+		firstInGroupMap map[string]int
 		lastInGroupMap  map[string]int
 	)
-	startOfGroupMap = make(map[string]int)
+	firstInGroupMap = make(map[string]int)
 	lastInGroupMap = make(map[string]int)
 	ports.SetKey("PrivatePort")
 	ports.Sort()
@@ -45,7 +45,7 @@ func DisplayablePorts(ports *engine.Table) string {
 		var (
 			current      = port.GetInt("PrivatePort")
 			portKey      = port.Get("Type")
-			startOfGroup int
+			firstInGroup int
 			lastInGroup  int
 		)
 		if port.Get("IP") != "" {
@@ -55,11 +55,11 @@ func DisplayablePorts(ports *engine.Table) string {
 			}
 			portKey = fmt.Sprintf("%s/%s", port.Get("IP"), port.Get("Type"))
 		}
-		startOfGroup = startOfGroupMap[portKey]
+		firstInGroup = firstInGroupMap[portKey]
 		lastInGroup = lastInGroupMap[portKey]
 
-		if startOfGroup == 0 {
-			startOfGroupMap[portKey] = current
+		if firstInGroup == 0 {
+			firstInGroupMap[portKey] = current
 			lastInGroupMap[portKey] = current
 			continue
 		}
@@ -68,12 +68,12 @@ func DisplayablePorts(ports *engine.Table) string {
 			lastInGroupMap[portKey] = current
 			continue
 		}
-		result = append(result, FormGroup(portKey, startOfGroup, lastInGroup))
-		startOfGroupMap[portKey] = current
+		result = append(result, FormGroup(portKey, firstInGroup, lastInGroup))
+		firstInGroupMap[portKey] = current
 		lastInGroupMap[portKey] = current
 	}
-	for portKey, startOfGroup := range startOfGroupMap {
-		result = append(result, FormGroup(portKey, startOfGroup, lastInGroupMap[portKey]))
+	for portKey, firstInGroup := range firstInGroupMap {
+		result = append(result, FormGroup(portKey, firstInGroup, lastInGroupMap[portKey]))
 	}
 	result = append(result, hostMappings...)
 	return strings.Join(result, ", ")

+ 22 - 0
integration-cli/docker_cli_ps_test.go

@@ -566,3 +566,25 @@ func TestPsLinkedWithNoTrunc(t *testing.T) {
 		t.Fatalf("Expected array: %v, got: %v", expected, names)
 	}
 }
+
+func TestPsGroupPortRange(t *testing.T) {
+	defer deleteAllContainers()
+
+	portRange := "3300-3900"
+	out, _, err := runCommandWithOutput(exec.Command(dockerBinary, "run", "-d", "--name", "porttest", "-p", portRange+":"+portRange, "busybox", "top"))
+	if err != nil {
+		t.Fatal(out, err)
+	}
+
+	out, _, err = runCommandWithOutput(exec.Command(dockerBinary, "ps"))
+	if err != nil {
+		t.Fatal(out, err)
+	}
+
+	// check that the port range is in the output
+	if !strings.Contains(string(out), portRange) {
+		t.Fatalf("docker ps output should have had the port range %q: %s", portRange, string(out))
+	}
+
+	logDone("ps - port range")
+}