podman
1# -*- bash -*-
2#
3# BATS helpers for sig-proxy functionality
4#
5
6# Command to run in each of the tests.
7SLEEPLOOP='trap "echo BYE;exit 0" INT;echo READY;while :;do sleep 0.1;done'8
9# Main test code: wait for container to exist and be ready, send it a
10# signal, wait for container to acknowledge and exit.
11function _test_sigproxy() {12local cname=$113local kidpid=$214
15# Wait for container to appear16local timeout=1017while :;do18sleep 0.519run_podman '?' container exists $cname20if [[ $status -eq 0 ]]; then21break22fi23timeout=$((timeout - 1))24if [[ $timeout -eq 0 ]]; then25run_podman ps -a26die "Timed out waiting for container $cname to start"27fi28done29
30# Now that container exists, wait for it to declare itself READY31wait_for_ready $cname32
33# Signal, and wait for container to exit34kill -INT $kidpid35timeout=2036while :;do37sleep 0.538run_podman logs $cname39if [[ "$output" =~ BYE ]]; then40break41fi42timeout=$((timeout - 1))43if [[ $timeout -eq 0 ]]; then44run_podman ps -a45die "Timed out waiting for BYE from container"46fi47done48
49run_podman rm -f -t0 $cname50}
51