diff options
author | Valentin Rothberg <rothberg@redhat.com> | 2020-05-28 14:24:01 +0200 |
---|---|---|
committer | Valentin Rothberg <rothberg@redhat.com> | 2020-05-28 14:24:01 +0200 |
commit | d6469c9c9b88cf206b24a99a764ebfbc82d217b7 (patch) | |
tree | f4ad211e8eb9e5aa0d80e38f04b9064b93f58502 | |
parent | adca437d03bc74edcf3ef9b60ea55360157f893c (diff) | |
download | podman-d6469c9c9b88cf206b24a99a764ebfbc82d217b7.tar.gz podman-d6469c9c9b88cf206b24a99a764ebfbc82d217b7.tar.bz2 podman-d6469c9c9b88cf206b24a99a764ebfbc82d217b7.zip |
fix `ps --last=N`
Fix `ps --last=N` to also include non-running containers. Also add an
e2e test to prevent us from regressing in the future.
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
-rw-r--r-- | pkg/ps/ps.go | 2 | ||||
-rw-r--r-- | test/e2e/ps_test.go | 25 |
2 files changed, 24 insertions, 3 deletions
diff --git a/pkg/ps/ps.go b/pkg/ps/ps.go index 907063df9..ec96367cb 100644 --- a/pkg/ps/ps.go +++ b/pkg/ps/ps.go @@ -23,7 +23,7 @@ func GetContainerLists(runtime *libpod.Runtime, options entities.ContainerListOp filterFuncs []libpod.ContainerFilter pss []entities.ListContainer ) - all := options.All + all := options.All || options.Last > 0 if len(options.Filters) > 0 { for k, v := range options.Filters { for _, val := range v { diff --git a/test/e2e/ps_test.go b/test/e2e/ps_test.go index 8965ce297..12ce4661f 100644 --- a/test/e2e/ps_test.go +++ b/test/e2e/ps_test.go @@ -114,6 +114,17 @@ var _ = Describe("Podman ps", func() { It("podman ps last flag", func() { Skip("--last flag nonfunctional and disabled") + // Make sure that non-running containers are being counted as + // well. + session := podmanTest.Podman([]string{"create", "alpine", "top"}) + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Equal(0)) + + result := podmanTest.Podman([]string{"ps", "--last", "2"}) + result.WaitWithDefaultTimeout() + Expect(result.ExitCode()).To(Equal(0)) + Expect(len(result.OutputToStringArray())).Should(Equal(2)) // 1 container + _, ec, _ := podmanTest.RunLsContainer("test1") Expect(ec).To(Equal(0)) @@ -123,10 +134,20 @@ var _ = Describe("Podman ps", func() { _, ec, _ = podmanTest.RunLsContainer("test3") Expect(ec).To(Equal(0)) - result := podmanTest.Podman([]string{"ps", "--last", "2"}) + result = podmanTest.Podman([]string{"ps", "--last", "2"}) + result.WaitWithDefaultTimeout() + Expect(result.ExitCode()).To(Equal(0)) + Expect(len(result.OutputToStringArray())).Should(Equal(3)) // 2 containers + + result = podmanTest.Podman([]string{"ps", "--last", "3"}) + result.WaitWithDefaultTimeout() + Expect(result.ExitCode()).To(Equal(0)) + Expect(len(result.OutputToStringArray())).Should(Equal(4)) // 3 containers + + result = podmanTest.Podman([]string{"ps", "--last", "100"}) result.WaitWithDefaultTimeout() Expect(result.ExitCode()).To(Equal(0)) - Expect(len(result.OutputToStringArray())).Should(Equal(3)) + Expect(len(result.OutputToStringArray())).Should(Equal(5)) // 4 containers (3 running + 1 created) }) It("podman ps no-trunc", func() { |