Skip to content

Commit

Permalink
Merge pull request #23855 from edsantiago/safename-130
Browse files Browse the repository at this point in the history
CI: make 130-kill parallel-safe
  • Loading branch information
openshift-merge-bot[bot] authored Sep 4, 2024
2 parents 74c01a0 + e562451 commit 4296c42
Showing 1 changed file with 22 additions and 17 deletions.
39 changes: 22 additions & 17 deletions test/system/130-kill.bats
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@

load helpers

# bats test_tags=distro-integration
# bats test_tags=distro-integration, ci:parallel
@test "podman kill - test signal handling in containers" {
local cname=c-$(random_string 10)
local cname=c-$(safename)
local fifo=${PODMAN_TMPDIR}/podman-kill-fifo.$(random_string 10)
mkfifo $fifo

Expand Down Expand Up @@ -66,6 +66,7 @@ load helpers
wait $podman_run_pid || die "wait for podman run failed"
}

# bats test_tags=ci:parallel
@test "podman kill - rejects invalid args" {
# These errors are thrown by the imported docker/signal.ParseSignal()
local -a bad_signal_names=(0 SIGBADSIG SIG BADSIG %% ! "''" '""' " ")
Expand Down Expand Up @@ -100,6 +101,7 @@ load helpers
is "$output" "Error: valid signals are 1 through 64" "podman create"
}

# CANNOT BE PARALLELIZED: kill -a
@test "podman kill - print IDs or raw input" {
# kill -a must print the IDs
run_podman run --rm -d $IMAGE top
Expand All @@ -108,38 +110,41 @@ load helpers
is "$output" "$ctrID"

# kill $input must print $input
cname=$(random_string)
cname=c-$(safename)
run_podman run --rm -d --name $cname $IMAGE top
run_podman kill $cname
is "$output" $cname
}

# bats test_tags=ci:parallel
@test "podman kill - concurrent stop" {
# 14761 - concurrent kill/stop must record the exit code
random_name=$(random_string 10)
run_podman run -d --replace --name=$random_name $IMAGE sh -c "trap 'echo Received SIGTERM, ignoring' SIGTERM; echo READY; while :; do sleep 0.2; done"
$PODMAN stop -t 1 $random_name &
run_podman kill $random_name
run_podman wait $random_name
run_podman rm -f $random_name
cname=c-$(safename)
run_podman run -d --replace --name=$cname $IMAGE sh -c "trap 'echo Received SIGTERM, ignoring' SIGTERM; echo READY; while :; do sleep 0.2; done"
$PODMAN stop -t 1 $cname &
run_podman kill $cname
run_podman wait $cname
run_podman rm -f $cname
}

# bats test_tags=ci:parallel
@test "podman wait - exit codes" {
random_name=$(random_string 10)
run_podman create --name=$random_name $IMAGE /no/such/command
run_podman container inspect --format "{{.State.StoppedByUser}}" $random_name
cname=c-$(safename)
run_podman create --name=$cname $IMAGE /no/such/command
run_podman container inspect --format "{{.State.StoppedByUser}}" $cname
is "$output" "false" "container not marked to be stopped by a user"
# Container never ran -> exit code == 0
run_podman wait $random_name
run_podman wait $cname
# Container did not start successfully -> exit code != 0
run_podman 125 start $random_name
run_podman 125 start $cname
# FIXME(#14873): while older Podmans return 0 on wait, Docker does not.
run_podman wait $random_name
run_podman rm $random_name
run_podman wait $cname
run_podman rm $cname
}

# bats test_tags=ci:parallel
@test "podman kill - no restart" {
ctr=$(random_string 10)
ctr=c-$(safename)
run_podman run -d --restart=always --name=$ctr $IMAGE \
sh -c "trap 'exit 42' SIGTERM; echo READY; while :; do sleep 0.2; done"
run_podman container inspect --format "{{.State.Status}}" $ctr
Expand Down

1 comment on commit 4296c42

@packit-as-a-service
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

podman-next COPR build failed. @containers/packit-build please check.

Please sign in to comment.