1
0
mirror of https://github.com/docker/cli.git synced 2026-01-13 18:22:35 +03:00

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)
Upstream-commit: ba99a73c2fc3050475bd6c066c32dcb557cf6f25
Component: engine
This commit is contained in:
Jessica Frazelle
2015-02-16 11:08:32 -08:00
parent 0e5cf57545
commit a1047d5010
2 changed files with 32 additions and 10 deletions

View File

@@ -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, ", ")

View File

@@ -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")
}