From a726a3d79c5bdda13fee2285222360a45e996272 Mon Sep 17 00:00:00 2001
From: Boaz Shuster <boaz.shuster.github@gmail.com>
Date: Thu, 21 Jan 2021 18:02:20 +0200
Subject: Add --all to podman start

Signed-off-by: Boaz Shuster <boaz.shuster.github@gmail.com>
Co-authored-by: Ed Santiago <santiago@redhat.com>
---
 test/system/045-start.bats | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)
 create mode 100644 test/system/045-start.bats

(limited to 'test')

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
-- 
cgit v1.2.3-54-g00ecf