summaryrefslogtreecommitdiff
path: root/test/system/040-ps.bats
diff options
context:
space:
mode:
authorEd Santiago <santiago@redhat.com>2019-02-20 13:19:20 -0700
committerEd Santiago <santiago@redhat.com>2019-03-07 13:09:54 -0700
commit681eae9bcc856f8dad107765a97c29d0fe093d4a (patch)
treea8224181c5b01ebfece7e309117b9bc1d4e5a9a0 /test/system/040-ps.bats
parent1b253cf73a360557196213684cec63b37407ed7c (diff)
downloadpodman-681eae9bcc856f8dad107765a97c29d0fe093d4a.tar.gz
podman-681eae9bcc856f8dad107765a97c29d0fe093d4a.tar.bz2
podman-681eae9bcc856f8dad107765a97c29d0fe093d4a.zip
new system tests under BATS
Initial attempt at writing a framework for podman system tests. The idea is to define a useful set of primitives that will make it easy to write actual tests and to interpret results of failing ones. This is a proof-of-concept right now; only a small number of tests, by no means comprehensive. I am requesting review in order to find showstopper problems: reasons why this approach cannot work. Should there be none, we can work toward running these as gating tests for Fedora and RHEL8. Signed-off-by: Ed Santiago <santiago@redhat.com>
Diffstat (limited to 'test/system/040-ps.bats')
-rw-r--r--test/system/040-ps.bats36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/system/040-ps.bats b/test/system/040-ps.bats
new file mode 100644
index 000000000..775df4af6
--- /dev/null
+++ b/test/system/040-ps.bats
@@ -0,0 +1,36 @@
+#!/usr/bin/env bats
+
+load helpers
+
+@test "podman ps - basic tests" {
+ rand_name=$(random_string 30)
+
+ run_podman run -d --name $rand_name $PODMAN_TEST_IMAGE_FQN sleep 5
+ cid=$output
+ is "$cid" "[0-9a-f]\{64\}$"
+
+ # Special case: formatted ps
+ run_podman ps --no-trunc \
+ --format '{{.ID}} {{.Image}} {{.Command}} {{.Names}}'
+ is "$output" "$cid $PODMAN_TEST_IMAGE_FQN sleep 5 $rand_name" "podman ps"
+
+
+ # Plain old regular ps
+ run_podman ps
+ is "${lines[1]}" \
+ "${cid:0:12} \+$PODMAN_TEST_IMAGE_FQN \+sleep [0-9]\+ .*second.* $cname"\
+ "output from podman ps"
+
+ # OK. Wait for sleep to finish...
+ run_podman wait $cid
+
+ # ...then make sure container shows up as stopped
+ run_podman ps -a
+ is "${lines[1]}" \
+ "${cid:0:12} \+$PODMAN_TEST_IMAGE_FQN *sleep .* Exited .* $rand_name" \
+ "podman ps -a"
+
+
+
+ run_podman rm $cid
+}