1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05: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)
This commit is contained in:
Jessica Frazelle 2015-02-16 11:08:32 -08:00
parent 5dfef4fe08
commit ba99a73c2f
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")
}