2019-03-05 16:58:30 +00:00
|
|
|
#!/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"
|
|
|
|
|
2019-03-07 22:15:50 +00:00
|
|
|
run_podman logs $cid
|
|
|
|
is "$output" "$rand_string" "output from podman-logs after container is run"
|
|
|
|
|
2019-03-05 16:58:30 +00:00
|
|
|
run_podman rm $cid
|
|
|
|
}
|
|
|
|
|
2019-03-07 22:15:50 +00:00
|
|
|
@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"
|
|
|
|
}
|
|
|
|
|
2019-03-05 16:58:30 +00:00
|
|
|
# vim: filetype=sh
|