summaryrefslogtreecommitdiff
path: root/test/system
diff options
context:
space:
mode:
authorBoaz Shuster <boaz.shuster.github@gmail.com>2021-01-21 18:02:20 +0200
committerBoaz Shuster <boaz.shuster.github@gmail.com>2021-05-03 22:17:06 +0300
commita726a3d79c5bdda13fee2285222360a45e996272 (patch)
treeb2cb61ae2b7b29f429d4dcbaaa42efdba03a5a8f /test/system
parent697ec8f6f0ac8f251fd7f3f3bb5e21313ca62207 (diff)
downloadpodman-a726a3d79c5bdda13fee2285222360a45e996272.tar.gz
podman-a726a3d79c5bdda13fee2285222360a45e996272.tar.bz2
podman-a726a3d79c5bdda13fee2285222360a45e996272.zip
Add --all to podman start
Signed-off-by: Boaz Shuster <boaz.shuster.github@gmail.com> Co-authored-by: Ed Santiago <santiago@redhat.com>
Diffstat (limited to 'test/system')
-rw-r--r--test/system/045-start.bats43
1 files changed, 43 insertions, 0 deletions
diff --git a/test/system/045-start.bats b/test/system/045-start.bats
new file mode 100644
index 000000000..ff818e51d
--- /dev/null
+++ b/test/system/045-start.bats
@@ -0,0 +1,43 @@
+#!/usr/bin/env bats -*- bats -*-
+
+load helpers
+
+@test "podman start --all - start all containers" {
+ # Run a bunch of short-lived containers, with different --restart settings
+ run_podman run -d $IMAGE /bin/true
+ cid_none_implicit="$output"
+ run_podman run -d --restart=no $IMAGE /bin/false
+ cid_none_explicit="$output"
+ run_podman run -d --restart=on-failure $IMAGE /bin/true
+ cid_on_failure="$output"
+
+ # Run one longer-lived one.
+ run_podman run -d --restart=always $IMAGE sleep 20
+ cid_always="$output"
+
+ run_podman wait $cid_none_implicit $cid_none_explicit $cid_on_failure
+
+ run_podman start --all
+ is "$output" ".*$cid_none_implicit" "started: container with no --restart"
+ is "$output" ".*$cid_none_explicit" "started: container with --restart=no"
+ is "$output" ".*$cid_on_failure" "started: container with --restart=on-failure"
+ if [[ $output =~ $cid_always ]]; then
+ die "podman start --all restarted a running container"
+ fi
+
+ run_podman rm $cid_none_implicit $cid_none_explicit $cid_on_failure
+ run_podman stop -t 1 $cid_always
+ run_podman rm $cid_always
+}
+
+@test "podman start --all with incompatible options" {
+ expected="Error: either start all containers or the container(s) provided in the arguments"
+ run_podman 125 start --all 12333
+ is "$output" "$expected" "start --all, with args, throws error"
+ if ! is_remote; then
+ run_podman 125 start --all --latest
+ is "$output" "$expected" "podman start --all --latest"
+ fi
+}
+
+# vim: filetype=sh