summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMatthew Heon <matthew.heon@gmail.com>2018-08-24 17:39:37 -0400
committerAtomic Bot <atomic-devel@projectatomic.io>2018-08-27 14:47:41 +0000
commit2bc6427302eb6bcbd613d7ee767080d278968490 (patch)
treef2cac916ff7557bc604d4ad7874a0933e042b56c /test
parent663ee91eec01706008046c1df2c307716f9288db (diff)
downloadpodman-2bc6427302eb6bcbd613d7ee767080d278968490.tar.gz
podman-2bc6427302eb6bcbd613d7ee767080d278968490.tar.bz2
podman-2bc6427302eb6bcbd613d7ee767080d278968490.zip
Fix handling of multiple filters in podman ps
Docker expects multiple filters to be passed with multiple uses of the --filter flag (e.g. --filter=label=a=b --filter=label=c=d) and not a single comma-separated list of filters as we expected. Convert to the Docker format, and make some small cleanups to our handling of filters along the way. Signed-off-by: Matthew Heon <matthew.heon@gmail.com> Closes: #1345 Approved by: umohnani8
Diffstat (limited to 'test')
-rw-r--r--test/e2e/ps_test.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/e2e/ps_test.go b/test/e2e/ps_test.go
index f5d79193b..a873b57bb 100644
--- a/test/e2e/ps_test.go
+++ b/test/e2e/ps_test.go
@@ -181,6 +181,25 @@ var _ = Describe("Podman ps", func() {
Expect(result.OutputToStringArray()[0]).To(Equal(fullCid))
})
+ It("podman ps multiple filters", func() {
+ session := podmanTest.Podman([]string{"run", "-d", "--name", "test1", "--label", "key1=value1", ALPINE, "top"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+ fullCid := session.OutputToString()
+
+ session2 := podmanTest.Podman([]string{"run", "-d", "--name", "test2", "--label", "key1=value1", ALPINE, "top"})
+ session2.WaitWithDefaultTimeout()
+ Expect(session2.ExitCode()).To(Equal(0))
+
+ result := podmanTest.Podman([]string{"ps", "-aq", "--no-trunc", "--filter", "name=test1", "--filter", "label=key1=value1"})
+ result.WaitWithDefaultTimeout()
+ Expect(result.ExitCode()).To(Equal(0))
+
+ output := result.OutputToStringArray()
+ Expect(len(output)).To(Equal(1))
+ Expect(output[0]).To(Equal(fullCid))
+ })
+
It("podman ps mutually exclusive flags", func() {
session := podmanTest.Podman([]string{"ps", "-aqs"})
session.WaitWithDefaultTimeout()