mirror of https://github.com/containers/podman.git
				
				
				
			
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
| # -*- bash -*-
 | |
| #
 | |
| # BATS helpers for sig-proxy functionality
 | |
| #
 | |
| 
 | |
| # Command to run in each of the tests.
 | |
| SLEEPLOOP='trap "echo BYE;exit 0" INT;echo READY;while :;do sleep 0.1;done'
 | |
| 
 | |
| # Main test code: wait for container to exist and be ready, send it a
 | |
| # signal, wait for container to acknowledge and exit.
 | |
| function _test_sigproxy() {
 | |
|     local cname=$1
 | |
|     local kidpid=$2
 | |
| 
 | |
|     # Wait for container to appear
 | |
|     local timeout=10
 | |
|     while :;do
 | |
|           sleep 0.5
 | |
|           run_podman '?' container exists $cname
 | |
|           if [[ $status -eq 0 ]]; then
 | |
|               break
 | |
|           fi
 | |
|           timeout=$((timeout - 1))
 | |
|           if [[ $timeout -eq 0 ]]; then
 | |
|               run_podman ps -a
 | |
|               die "Timed out waiting for container $cname to start"
 | |
|           fi
 | |
|     done
 | |
| 
 | |
|     # Now that container exists, wait for it to declare itself READY
 | |
|     wait_for_ready $cname
 | |
| 
 | |
|     # Signal, and wait for container to exit
 | |
|     kill -INT $kidpid
 | |
|     timeout=20
 | |
|     while :;do
 | |
|           sleep 0.5
 | |
|           run_podman logs $cname
 | |
|           if [[ "$output" =~ BYE ]]; then
 | |
|               break
 | |
|           fi
 | |
|           timeout=$((timeout - 1))
 | |
|           if [[ $timeout -eq 0 ]]; then
 | |
|               run_podman ps -a
 | |
|               die "Timed out waiting for BYE from container"
 | |
|           fi
 | |
|     done
 | |
| 
 | |
|     run_podman rm -f -t0 $cname
 | |
| }
 |