summaryrefslogtreecommitdiff
path: root/test/system/035-logs.bats
diff options
context:
space:
mode:
Diffstat (limited to 'test/system/035-logs.bats')
-rw-r--r--test/system/035-logs.bats51
1 files changed, 51 insertions, 0 deletions
diff --git a/test/system/035-logs.bats b/test/system/035-logs.bats
new file mode 100644
index 000000000..055865c8d
--- /dev/null
+++ b/test/system/035-logs.bats
@@ -0,0 +1,51 @@
+#!/usr/bin/env bats -*- bats -*-
+#
+# Basic tests for podman logs
+#
+
+load helpers
+
+@test "podman logs - basic test" {
+ rand_string=$(random_string 40)
+
+ run_podman create $IMAGE echo $rand_string
+ cid="$output"
+
+ run_podman logs $cid
+ is "$output" "" "logs on created container: empty"
+
+ run_podman start --attach --interactive $cid
+ is "$output" "$rand_string" "output from podman-start on created ctr"
+ is "$output" "$rand_string" "logs of started container"
+
+ run_podman logs $cid
+ is "$output" "$rand_string" "output from podman-logs after container is run"
+
+ run_podman rm $cid
+}
+
+@test "podman logs - multi" {
+ # Simple helper to make the container starts, below, easier to read
+ local -a cid
+ doit() {
+ run_podman run --rm -d --name "$1" $IMAGE sh -c "$2";
+ cid+=($(echo "${output:0:12}"))
+ }
+
+ # Not really a guarantee that we'll get a-b-c-d in order, but it's
+ # the best we can do. The trailing 'sleep' in each container
+ # minimizes the chance of a race condition in which the container
+ # is removed before 'podman logs' has a chance to wake up and read
+ # the final output.
+ doit c1 "echo a;sleep 10;echo d;sleep 3"
+ doit c2 "sleep 1;echo b;sleep 2;echo c;sleep 3"
+
+ run_podman logs -f c1 c2
+ is "$output" \
+ "${cid[0]} a
+${cid[1]} b
+${cid[1]} c
+${cid[0]} d" "Sequential output from logs"
+}
+
+# vim: filetype=sh