Merge pull request #5075 from mheon/filter_forces_all

Force --all when --filter is passed to podman ps
This commit is contained in:
OpenShift Merge Robot 2020-02-04 13:22:57 -08:00 committed by GitHub
commit 348e58b59a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 0 deletions

View File

@ -205,6 +205,10 @@ func checkFlagsPassed(c *cliconfig.PsValues) error {
if c.Last >= 0 && c.Latest { if c.Last >= 0 && c.Latest {
return errors.Errorf("last and latest are mutually exclusive") return errors.Errorf("last and latest are mutually exclusive")
} }
// Filter forces all
if len(c.Filter) > 0 {
c.All = true
}
// Quiet conflicts with size and namespace and is overridden by a Go // Quiet conflicts with size and namespace and is overridden by a Go
// template. // template.
if c.Quiet { if c.Quiet {

View File

@ -96,6 +96,7 @@ Display namespace information
Filter what containers are shown in the output. Filter what containers are shown in the output.
Multiple filters can be given with multiple uses of the --filter flag. Multiple filters can be given with multiple uses of the --filter flag.
If multiple filters are given, only containers which match all of the given filters will be shown. If multiple filters are given, only containers which match all of the given filters will be shown.
Results will be drawn from all containers, regardless of whether --all was given.
Valid filters are listed below: Valid filters are listed below:

View File

@ -227,6 +227,22 @@ var _ = Describe("Podman ps", func() {
Expect(output[0]).To(Equal(fullCid)) Expect(output[0]).To(Equal(fullCid))
}) })
It("podman ps filter by exited does not need all", func() {
ctr := podmanTest.Podman([]string{"run", "-t", "-i", ALPINE, "ls", "/"})
ctr.WaitWithDefaultTimeout()
Expect(ctr.ExitCode()).To(Equal(0))
psAll := podmanTest.Podman([]string{"ps", "-aq", "--no-trunc"})
psAll.WaitWithDefaultTimeout()
Expect(psAll.ExitCode()).To(Equal(0))
psFilter := podmanTest.Podman([]string{"ps", "--no-trunc", "--quiet", "--filter", "status=exited"})
psFilter.WaitWithDefaultTimeout()
Expect(psFilter.ExitCode()).To(Equal(0))
Expect(psAll.OutputToString()).To(Equal(psFilter.OutputToString()))
})
It("podman ps mutually exclusive flags", func() { It("podman ps mutually exclusive flags", func() {
session := podmanTest.Podman([]string{"ps", "-aqs"}) session := podmanTest.Podman([]string{"ps", "-aqs"})
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()