summaryrefslogtreecommitdiff
path: root/test/system/030-run.bats
diff options
context:
space:
mode:
Diffstat (limited to 'test/system/030-run.bats')
-rw-r--r--test/system/030-run.bats36
1 files changed, 25 insertions, 11 deletions
diff --git a/test/system/030-run.bats b/test/system/030-run.bats
index d5d5121f8..ae2e39d6b 100644
--- a/test/system/030-run.bats
+++ b/test/system/030-run.bats
@@ -161,17 +161,31 @@ echo $rand | 0 | $rand
# 'run --conmon-pidfile --cid-file' makes sure we don't regress on these flags.
# Both are critical for systemd units.
@test "podman run --conmon-pidfile --cidfile" {
- pid=$(mktemp)
- cid=$(mktemp)
-
- # CID file exists -> expected to fail.
- run_podman 125 run --rm --conmon-pidfile=$pid --cidfile=$cid $IMAGE ls
-
- rm $pid $cid
- run_podman run --name keepme --conmon-pidfile=$pid --cidfile=$cid --detach $IMAGE sleep infinity
- stat $pid $cid
- run_podman rm -f keepme
- rm $pid $cid
+ pidfile=${PODMAN_TMPDIR}/pidfile
+ cidfile=${PODMAN_TMPDIR}/cidfile
+
+ cname=$(random_string)
+ run_podman run --name $cname \
+ --conmon-pidfile=$pidfile \
+ --cidfile=$cidfile \
+ --detach \
+ $IMAGE sleep infinity
+ cid="$output"
+
+ is "$(< $cidfile)" "$cid" "contents of cidfile == container ID"
+
+ conmon_pid=$(< $pidfile)
+ is "$(readlink /proc/$conmon_pid/exe)" ".*/conmon" \
+ "conmon pidfile (= PID $conmon_pid) points to conmon process"
+
+ # All OK. Kill container.
+ run_podman rm -f $cid
+
+ # Podman must not overwrite existing cid file.
+ # (overwriting conmon-pidfile is OK, so don't test that)
+ run_podman 125 run --cidfile=$cidfile $IMAGE true
+ is "$output" "Error: container id file exists. .* delete $cidfile" \
+ "podman will not overwrite existing cidfile"
}
# vim: filetype=sh