1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- #!/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
|