aboutsummaryrefslogtreecommitdiff
path: root/test/system
diff options
context:
space:
mode:
authorDaniel J Walsh <dwalsh@redhat.com>2021-04-22 15:38:36 -0400
committerDaniel J Walsh <dwalsh@redhat.com>2021-04-23 11:18:05 -0400
commit3538815c5b2b4c97304e3ea940cee414b0004d2f (patch)
treea307b133a805e47633882d2f42e65105d903b247 /test/system
parentba60821f0aadef99f200fa708b26fb9921ed7b70 (diff)
downloadpodman-3538815c5b2b4c97304e3ea940cee414b0004d2f.tar.gz
podman-3538815c5b2b4c97304e3ea940cee414b0004d2f.tar.bz2
podman-3538815c5b2b4c97304e3ea940cee414b0004d2f.zip
Add podman run --timeout option
This option allows users to specify the maximum amount of time to run before conmon sends the kill signal to the container. Fixes: https://github.com/containers/podman/issues/6412 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Diffstat (limited to 'test/system')
-rw-r--r--test/system/030-run.bats23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/system/030-run.bats b/test/system/030-run.bats
index b2999a9e7..c007a1557 100644
--- a/test/system/030-run.bats
+++ b/test/system/030-run.bats
@@ -668,4 +668,27 @@ json-file | f
is "$output" ".*HOME=/.*"
}
+@test "podman run --timeout - basic test" {
+ cid=timeouttest
+ t0=$SECONDS
+ run_podman 255 run --name $cid --timeout 10 $IMAGE sleep 60
+ t1=$SECONDS
+ # Confirm that container is stopped. Podman-remote unfortunately
+ # cannot tell the difference between "stopped" and "exited", and
+ # spits them out interchangeably, so we need to recognize either.
+ run_podman inspect --format '{{.State.Status}} {{.State.ExitCode}}' $cid
+ is "$output" "\\(stopped\|exited\\) \-1" \
+ "Status and exit code of stopped container"
+
+ # This operation should take
+ # exactly 10 seconds. Give it some leeway.
+ delta_t=$(( $t1 - $t0 ))
+ [ $delta_t -gt 8 ] ||\
+ die "podman stop: ran too quickly! ($delta_t seconds; expected >= 10)"
+ [ $delta_t -le 14 ] ||\
+ die "podman stop: took too long ($delta_t seconds; expected ~10)"
+
+ run_podman rm $cid
+}
+
# vim: filetype=sh