summaryrefslogtreecommitdiff
path: root/test/system
diff options
context:
space:
mode:
Diffstat (limited to 'test/system')
-rw-r--r--test/system/010-images.bats10
-rw-r--r--test/system/030-run.bats22
-rw-r--r--test/system/130-kill.bats23
3 files changed, 46 insertions, 9 deletions
diff --git a/test/system/010-images.bats b/test/system/010-images.bats
index 3224c9b42..6957d4830 100644
--- a/test/system/010-images.bats
+++ b/test/system/010-images.bats
@@ -27,11 +27,11 @@ load helpers
@test "podman images - json" {
# 'created': podman includes fractional seconds, podman-remote does not
tests="
-names[0] | $PODMAN_TEST_IMAGE_FQN
-id | [0-9a-f]\\\{64\\\}
-digest | sha256:[0-9a-f]\\\{64\\\}
-created | [0-9-]\\\+T[0-9:.]\\\+Z
-size | [0-9]\\\+
+Names[0] | $PODMAN_TEST_IMAGE_FQN
+ID | [0-9a-f]\\\{64\\\}
+Digest | sha256:[0-9a-f]\\\{64\\\}
+CreatedAt | [0-9-]\\\+T[0-9:.]\\\+Z
+Size | [0-9]\\\+
"
run_podman images -a --format json
diff --git a/test/system/030-run.bats b/test/system/030-run.bats
index f1e9776c1..98c65f788 100644
--- a/test/system/030-run.bats
+++ b/test/system/030-run.bats
@@ -136,4 +136,26 @@ echo $rand | 0 | $rand
run_podman rmi busybox
}
+# 'run --rmi' deletes the image in the end unless it's used by another container
+@test "podman run --rmi" {
+ skip_if_remote
+
+ # Name of a nonlocal image. It should be pulled in by the first 'run'
+ NONLOCAL_IMAGE=busybox
+ run_podman 1 image exists $NONLOCAL_IMAGE
+
+ # Run a container, without --rm; this should block subsequent --rmi
+ run_podman run --name keepme $NONLOCAL_IMAGE /bin/true
+ run_podman image exists $NONLOCAL_IMAGE
+
+ # Now try running with --rmi : it should succeed, but not remove the image
+ run_podman run --rmi --rm $NONLOCAL_IMAGE /bin/true
+ run_podman image exists $NONLOCAL_IMAGE
+
+ # Remove the stray container, and run one more time with --rmi.
+ run_podman rm keepme
+ run_podman run --rmi --rm $NONLOCAL_IMAGE /bin/true
+ run_podman 1 image exists $NONLOCAL_IMAGE
+}
+
# vim: filetype=sh
diff --git a/test/system/130-kill.bats b/test/system/130-kill.bats
index 8085b171e..7c2b9bed8 100644
--- a/test/system/130-kill.bats
+++ b/test/system/130-kill.bats
@@ -6,12 +6,23 @@
load helpers
@test "podman kill - test signal handling in containers" {
+ # podman-remote and crun interact poorly in f31: crun seems to gobble up
+ # some signals.
+ # Workaround: run 'env --default-signal sh' instead of just 'sh' in
+ # the container. Since env on our regular alpine image doesn't support
+ # that flag, we need to pull fedora-minimal. See:
+ # https://github.com/containers/libpod/issues/5004
+ # FIXME: remove this kludge once we get rid of podman-remote
+ local _image=$IMAGE
+ local _sh_cmd="sh"
+ if is_remote; then
+ _image=quay.io/libpod/fedora-minimal:latest
+ _sh_cmd="env --default-signal sh"
+ fi
+
# Start a container that will handle all signals by emitting 'got: N'
local -a signals=(1 2 3 4 5 6 8 10 12 13 14 15 16 20 21 22 23 24 25 26 64)
- # The --default-signal option not available in busybox implementation of 'env' in $IMAGE
- # needed here to ensure handling of SIGINT inside container uses the default handler
- _IMAGE=quay.io/libpod/fedora-minimal:latest
- run_podman run -d $_IMAGE env --default-signal sh -c \
+ run_podman run -d $_image $_sh_cmd -c \
"for i in ${signals[*]}; do trap \"echo got: \$i\" \$i; done;
echo READY;
while ! test -e /stop; do sleep 0.05; done;
@@ -70,6 +81,10 @@ load helpers
run_podman wait $cid
run_podman rm $cid
wait $podman_log_pid
+
+ if [[ $_image != $IMAGE ]]; then
+ run_podman rmi $_image
+ fi
}
@test "podman kill - rejects invalid args" {