diff --git a/cli/command/container/list.go b/cli/command/container/list.go index 3571954b5..471e4e1c4 100644 --- a/cli/command/container/list.go +++ b/cli/command/container/list.go @@ -120,6 +120,8 @@ func runPs(dockerCli command.Cli, options *psOptions) error { if len(options.format) == 0 { // load custom psFormat from CLI config (if any) options.format = dockerCli.ConfigFile().PsFormat + } else if options.quiet { + _, _ = dockerCli.Err().Write([]byte("WARNING: Ignoring custom format, because both --format and --quiet are set.\n")) } listOptions, err := buildContainerListOptions(options) diff --git a/cli/command/container/list_test.go b/cli/command/container/list_test.go index f88aeeb56..a00783775 100644 --- a/cli/command/container/list_test.go +++ b/cli/command/container/list_test.go @@ -309,8 +309,22 @@ func TestContainerListWithFormat(t *testing.T) { }, nil }, }) - cmd := newListCommand(cli) - cmd.Flags().Set("format", "{{ .Names }} {{ .Image }} {{ .Labels }}") - assert.NilError(t, cmd.Execute()) - golden.Assert(t, cli.OutBuffer().String(), "container-list-with-format.golden") + + t.Run("with format", func(t *testing.T) { + cli.OutBuffer().Reset() + cmd := newListCommand(cli) + assert.Check(t, cmd.Flags().Set("format", "{{ .Names }} {{ .Image }} {{ .Labels }}")) + assert.NilError(t, cmd.Execute()) + golden.Assert(t, cli.OutBuffer().String(), "container-list-with-format.golden") + }) + + t.Run("with format and quiet", func(t *testing.T) { + cli.OutBuffer().Reset() + cmd := newListCommand(cli) + assert.Check(t, cmd.Flags().Set("format", "{{ .Names }} {{ .Image }} {{ .Labels }}")) + assert.Check(t, cmd.Flags().Set("quiet", "true")) + assert.NilError(t, cmd.Execute()) + assert.Equal(t, cli.ErrBuffer().String(), "WARNING: Ignoring custom format, because both --format and --quiet are set.\n") + golden.Assert(t, cli.OutBuffer().String(), "container-list-quiet.golden") + }) } diff --git a/cli/command/container/testdata/container-list-quiet.golden b/cli/command/container/testdata/container-list-quiet.golden new file mode 100644 index 000000000..54e8203d2 --- /dev/null +++ b/cli/command/container/testdata/container-list-quiet.golden @@ -0,0 +1,2 @@ +container_id +container_id diff --git a/cli/command/formatter/container.go b/cli/command/formatter/container.go index f3306617f..60ad2fa40 100644 --- a/cli/command/formatter/container.go +++ b/cli/command/formatter/container.go @@ -55,6 +55,9 @@ ports: {{- pad .Ports 1 0}} } return Format(format) default: // custom format + if quiet { + return DefaultQuietFormat + } return Format(source) } } diff --git a/cli/command/formatter/container_test.go b/cli/command/formatter/container_test.go index c076d3e4b..1c09a5779 100644 --- a/cli/command/formatter/container_test.go +++ b/cli/command/formatter/container_test.go @@ -163,7 +163,7 @@ containerID2 ubuntu "" 24 hours ago foobar_bar }, { Context{Format: NewContainerFormat("table {{.Image}}", true, false)}, - "IMAGE\nubuntu\nubuntu\n", + "containerID1\ncontainerID2\n", }, { Context{Format: NewContainerFormat("table", true, false)},