87 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/sh
 | |
| # SPDX-License-Identifier: GPL-2.0
 | |
| # description: Test creation and deletion of trace instances
 | |
| 
 | |
| if [ ! -d instances ] ; then
 | |
|     echo "no instance directory with this kernel"
 | |
|     exit_unsupported;
 | |
| fi
 | |
| 
 | |
| fail() { # mesg
 | |
|     rmdir x y z 2>/dev/null
 | |
|     echo $1
 | |
|     set -e
 | |
|     exit_fail
 | |
| }
 | |
| 
 | |
| cd instances
 | |
| 
 | |
| # we don't want to fail on error
 | |
| set +e
 | |
| 
 | |
| mkdir x
 | |
| rmdir x
 | |
| result=$?
 | |
| 
 | |
| if [ $result -ne 0 ]; then
 | |
|     echo "instance rmdir not supported"
 | |
|     exit_unsupported
 | |
| fi
 | |
| 
 | |
| instance_slam() {
 | |
|     while :; do
 | |
| 	mkdir x
 | |
| 	mkdir y
 | |
| 	mkdir z
 | |
| 	rmdir x
 | |
| 	rmdir y
 | |
| 	rmdir z
 | |
|     done 2>/dev/null
 | |
| }
 | |
| 
 | |
| instance_slam &
 | |
| p1=$!
 | |
| echo $p1
 | |
| 
 | |
| instance_slam &
 | |
| p2=$!
 | |
| echo $p2
 | |
| 
 | |
| instance_slam &
 | |
| p3=$!
 | |
| echo $p3
 | |
| 
 | |
| instance_slam &
 | |
| p4=$!
 | |
| echo $p4
 | |
| 
 | |
| instance_slam &
 | |
| p5=$!
 | |
| echo $p5
 | |
| 
 | |
| ls -lR >/dev/null
 | |
| sleep 1
 | |
| 
 | |
| kill -1 $p1
 | |
| kill -1 $p2
 | |
| kill -1 $p3
 | |
| kill -1 $p4
 | |
| kill -1 $p5
 | |
| 
 | |
| echo "Wait for processes to finish"
 | |
| wait $p1 $p2 $p3 $p4 $p5
 | |
| echo "all processes finished, wait for cleanup"
 | |
| 
 | |
| mkdir x y z
 | |
| ls x y z
 | |
| rmdir x y z
 | |
| for d in x y z; do
 | |
|         if [ -d $d ]; then
 | |
|                 fail "instance $d still exists"
 | |
|         fi
 | |
| done
 | |
| 
 | |
| set -e
 | |
| 
 | |
| exit 0
 | 
