mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Fix ignore -q
flag in docker ps
when there is a default format.
Docker ps default format should not take precedence over cli flags. This happens effectively for other flags except `-q`. We need to let the cli to set the format as table to print the expected output with `-q`. Signed-off-by: David Calavera <david.calavera@gmail.com>
This commit is contained in:
parent
2e7b088164
commit
df46bfdd4d
2 changed files with 24 additions and 1 deletions
|
@ -95,7 +95,7 @@ func (cli *DockerCli) CmdPs(args ...string) error {
|
|||
|
||||
f := *format
|
||||
if len(f) == 0 {
|
||||
if len(cli.PsFormat()) > 0 {
|
||||
if len(cli.PsFormat()) > 0 && !*quiet {
|
||||
f = cli.PsFormat()
|
||||
} else {
|
||||
f = "table"
|
||||
|
|
|
@ -2,7 +2,10 @@ package main
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
"reflect"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
@ -554,3 +557,23 @@ func (s *DockerSuite) TestPsFormatHeaders(c *check.C) {
|
|||
c.Fatalf(`Expected 'NAMES\ntest\n', got %v`, out)
|
||||
}
|
||||
}
|
||||
|
||||
func (s *DockerSuite) TestPsDefaultFormatAndQuiet(c *check.C) {
|
||||
config := `{
|
||||
"psFormat": "{{ .ID }} default"
|
||||
}`
|
||||
d, err := ioutil.TempDir("", "integration-cli-")
|
||||
c.Assert(err, check.IsNil)
|
||||
defer os.RemoveAll(d)
|
||||
|
||||
err = ioutil.WriteFile(filepath.Join(d, "config.json"), []byte(config), 0644)
|
||||
c.Assert(err, check.IsNil)
|
||||
|
||||
out, _ := dockerCmd(c, "run", "--name=test", "-d", "busybox", "top")
|
||||
id := strings.TrimSpace(out)
|
||||
|
||||
out, _ = dockerCmd(c, "--config", d, "ps", "-q")
|
||||
if !strings.HasPrefix(id, strings.TrimSpace(out)) {
|
||||
c.Fatalf("Expected to print only the container id, got %v\n", out)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue