Skip to content

Commit fe6241a

Browse files
authored
Merge pull request #6066 from thaJeztah/bump_engine
vendor: github.com/docker/docker fd1a78e0a388 (master, v28.x dev)
2 parents 678f718 + 218c7ad commit fe6241a

17 files changed

Lines changed: 90 additions & 43 deletions

File tree

cli/command/completion/functions_test.go

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,9 @@ func TestCompleteContainerNames(t *testing.T) {
8282
doc: "all containers",
8383
showAll: true,
8484
containers: []container.Summary{
85-
{ID: "id-c", State: "running", Names: []string{"/container-c", "/container-c/link-b"}},
86-
{ID: "id-b", State: "created", Names: []string{"/container-b"}},
87-
{ID: "id-a", State: "exited", Names: []string{"/container-a"}},
85+
{ID: "id-c", State: container.StateRunning, Names: []string{"/container-c", "/container-c/link-b"}},
86+
{ID: "id-b", State: container.StateCreated, Names: []string{"/container-b"}},
87+
{ID: "id-a", State: container.StateExited, Names: []string{"/container-a"}},
8888
},
8989
expOut: []string{"container-c", "container-c/link-b", "container-b", "container-a"},
9090
expOpts: container.ListOptions{All: true},
@@ -95,9 +95,9 @@ func TestCompleteContainerNames(t *testing.T) {
9595
showAll: true,
9696
showIDs: true,
9797
containers: []container.Summary{
98-
{ID: "id-c", State: "running", Names: []string{"/container-c", "/container-c/link-b"}},
99-
{ID: "id-b", State: "created", Names: []string{"/container-b"}},
100-
{ID: "id-a", State: "exited", Names: []string{"/container-a"}},
98+
{ID: "id-c", State: container.StateRunning, Names: []string{"/container-c", "/container-c/link-b"}},
99+
{ID: "id-b", State: container.StateCreated, Names: []string{"/container-b"}},
100+
{ID: "id-a", State: container.StateExited, Names: []string{"/container-a"}},
101101
},
102102
expOut: []string{"id-c", "container-c", "container-c/link-b", "id-b", "container-b", "id-a", "container-a"},
103103
expOpts: container.ListOptions{All: true},
@@ -107,7 +107,7 @@ func TestCompleteContainerNames(t *testing.T) {
107107
doc: "only running containers",
108108
showAll: false,
109109
containers: []container.Summary{
110-
{ID: "id-c", State: "running", Names: []string{"/container-c", "/container-c/link-b"}},
110+
{ID: "id-c", State: container.StateRunning, Names: []string{"/container-c", "/container-c/link-b"}},
111111
},
112112
expOut: []string{"container-c", "container-c/link-b"},
113113
expDirective: cobra.ShellCompDirectiveNoFileComp,
@@ -116,12 +116,12 @@ func TestCompleteContainerNames(t *testing.T) {
116116
doc: "with filter",
117117
showAll: true,
118118
filters: []func(container.Summary) bool{
119-
func(container container.Summary) bool { return container.State == "created" },
119+
func(ctr container.Summary) bool { return ctr.State == container.StateCreated },
120120
},
121121
containers: []container.Summary{
122-
{ID: "id-c", State: "running", Names: []string{"/container-c", "/container-c/link-b"}},
123-
{ID: "id-b", State: "created", Names: []string{"/container-b"}},
124-
{ID: "id-a", State: "exited", Names: []string{"/container-a"}},
122+
{ID: "id-c", State: container.StateRunning, Names: []string{"/container-c", "/container-c/link-b"}},
123+
{ID: "id-b", State: container.StateCreated, Names: []string{"/container-b"}},
124+
{ID: "id-a", State: container.StateExited, Names: []string{"/container-a"}},
125125
},
126126
expOut: []string{"container-b"},
127127
expOpts: container.ListOptions{All: true},
@@ -131,13 +131,13 @@ func TestCompleteContainerNames(t *testing.T) {
131131
doc: "multiple filters",
132132
showAll: true,
133133
filters: []func(container.Summary) bool{
134-
func(container container.Summary) bool { return container.ID == "id-a" },
135-
func(container container.Summary) bool { return container.State == "created" },
134+
func(ctr container.Summary) bool { return ctr.ID == "id-a" },
135+
func(ctr container.Summary) bool { return ctr.State == container.StateCreated },
136136
},
137137
containers: []container.Summary{
138-
{ID: "id-c", State: "running", Names: []string{"/container-c", "/container-c/link-b"}},
139-
{ID: "id-b", State: "created", Names: []string{"/container-b"}},
140-
{ID: "id-a", State: "created", Names: []string{"/container-a"}},
138+
{ID: "id-c", State: container.StateRunning, Names: []string{"/container-c", "/container-c/link-b"}},
139+
{ID: "id-b", State: container.StateCreated, Names: []string{"/container-b"}},
140+
{ID: "id-a", State: container.StateCreated, Names: []string{"/container-a"}},
141141
},
142142
expOut: []string{"container-a"},
143143
expOpts: container.ListOptions{All: true},

cli/command/container/attach.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ func NewAttachCommand(dockerCLI command.Cli) *cobra.Command {
5656
"aliases": "docker container attach, docker attach",
5757
},
5858
ValidArgsFunction: completion.ContainerNames(dockerCLI, false, func(ctr container.Summary) bool {
59-
return ctr.State != "paused"
59+
return ctr.State != container.StatePaused
6060
}),
6161
}
6262

cli/command/container/exec.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ func NewExecCommand(dockerCli command.Cli) *cobra.Command {
5353
return RunExec(cmd.Context(), dockerCli, containerIDorName, options)
5454
},
5555
ValidArgsFunction: completion.ContainerNames(dockerCli, false, func(ctr container.Summary) bool {
56-
return ctr.State != "paused"
56+
return ctr.State != container.StatePaused
5757
}),
5858
Annotations: map[string]string{
5959
"category-top": "2",

cli/command/container/pause.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func NewPauseCommand(dockerCli command.Cli) *cobra.Command {
3232
"aliases": "docker container pause, docker pause",
3333
},
3434
ValidArgsFunction: completion.ContainerNames(dockerCli, false, func(ctr container.Summary) bool {
35-
return ctr.State != "paused"
35+
return ctr.State != container.StatePaused
3636
}),
3737
}
3838
}

cli/command/container/rm.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func NewRmCommand(dockerCli command.Cli) *cobra.Command {
3939
"aliases": "docker container rm, docker container remove, docker rm",
4040
},
4141
ValidArgsFunction: completion.ContainerNames(dockerCli, true, func(ctr container.Summary) bool {
42-
return opts.force || ctr.State == "exited" || ctr.State == "created"
42+
return opts.force || ctr.State == container.StateExited || ctr.State == container.StateCreated
4343
}),
4444
}
4545

cli/command/container/start.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ func NewStartCommand(dockerCli command.Cli) *cobra.Command {
4343
"aliases": "docker container start, docker start",
4444
},
4545
ValidArgsFunction: completion.ContainerNames(dockerCli, true, func(ctr container.Summary) bool {
46-
return ctr.State == "exited" || ctr.State == "created"
46+
return ctr.State == container.StateExited || ctr.State == container.StateCreated
4747
}),
4848
}
4949

cli/command/container/unpause.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func NewUnpauseCommand(dockerCli command.Cli) *cobra.Command {
3232
"aliases": "docker container unpause, docker unpause",
3333
},
3434
ValidArgsFunction: completion.ContainerNames(dockerCli, false, func(ctr container.Summary) bool {
35-
return ctr.State == "paused"
35+
return ctr.State == container.StatePaused
3636
}),
3737
}
3838
return cmd

cli/command/formatter/container.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,8 @@ func (c *ContainerContext) Ports() string {
218218
return DisplayablePorts(c.c.Ports)
219219
}
220220

221-
// State returns the container's current state (e.g. "running" or "paused")
221+
// State returns the container's current state (e.g. "running" or "paused").
222+
// Refer to [container.ContainerState] for possible states.
222223
func (c *ContainerContext) State() string {
223224
return c.c.State
224225
}

cli/command/formatter/container_test.go

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -106,11 +106,17 @@ func TestContainerPsContext(t *testing.T) {
106106
call: ctx.Ports,
107107
},
108108
{
109-
container: container.Summary{Status: "RUNNING"},
109+
container: container.Summary{Status: "Up 123 seconds"},
110110
trunc: true,
111-
expValue: "RUNNING",
111+
expValue: "Up 123 seconds",
112112
call: ctx.Status,
113113
},
114+
{
115+
container: container.Summary{State: container.StateRunning},
116+
trunc: true,
117+
expValue: container.StateRunning,
118+
call: ctx.State,
119+
},
114120
{
115121
container: container.Summary{SizeRw: 10},
116122
trunc: true,
@@ -346,8 +352,8 @@ size: 0B
346352
}
347353

348354
containers := []container.Summary{
349-
{ID: "containerID1", Names: []string{"/foobar_baz"}, Image: "ubuntu", Created: unixTime, State: "running"},
350-
{ID: "containerID2", Names: []string{"/foobar_bar"}, Image: "ubuntu", Created: unixTime, State: "running"},
355+
{ID: "containerID1", Names: []string{"/foobar_baz"}, Image: "ubuntu", Created: unixTime, State: container.StateRunning},
356+
{ID: "containerID2", Names: []string{"/foobar_bar"}, Image: "ubuntu", Created: unixTime, State: container.StateRunning},
351357
}
352358

353359
for _, tc := range cases {
@@ -428,8 +434,8 @@ func TestContainerContextWriteWithNoContainers(t *testing.T) {
428434
func TestContainerContextWriteJSON(t *testing.T) {
429435
unix := time.Now().Add(-65 * time.Second).Unix()
430436
containers := []container.Summary{
431-
{ID: "containerID1", Names: []string{"/foobar_baz"}, Image: "ubuntu", Created: unix, State: "running"},
432-
{ID: "containerID2", Names: []string{"/foobar_bar"}, Image: "ubuntu", Created: unix, State: "running"},
437+
{ID: "containerID1", Names: []string{"/foobar_baz"}, Image: "ubuntu", Created: unix, State: container.StateRunning},
438+
{ID: "containerID2", Names: []string{"/foobar_bar"}, Image: "ubuntu", Created: unix, State: container.StateRunning},
433439
}
434440
expectedCreated := time.Unix(unix, 0).String()
435441
expectedJSONs := []map[string]any{

cli/command/formatter/disk_usage.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import (
44
"bytes"
55
"fmt"
66
"strconv"
7-
"strings"
87
"text/template"
98

109
"github.com/distribution/reference"
@@ -330,9 +329,15 @@ func (c *diskUsageContainersContext) TotalCount() string {
330329
}
331330

332331
func (*diskUsageContainersContext) isActive(ctr container.Summary) bool {
333-
return strings.Contains(ctr.State, "running") ||
334-
strings.Contains(ctr.State, "paused") ||
335-
strings.Contains(ctr.State, "restarting")
332+
switch ctr.State {
333+
case container.StateRunning, container.StatePaused, container.StateRestarting:
334+
return true
335+
case container.StateCreated, container.StateRemoving, container.StateExited, container.StateDead:
336+
return false
337+
default:
338+
// Unknown state (should never happen).
339+
return false
340+
}
336341
}
337342

338343
func (c *diskUsageContainersContext) Active() string {

0 commit comments

Comments
 (0)