]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blob - tools/testing/selftests/ftrace/test.d/instances/instance.tc
Merge tag 'omap-for-v4.6/dt-ti81xx-signed' of git://git.kernel.org/pub/scm/linux...
[mirror_ubuntu-focal-kernel.git] / tools / testing / selftests / ftrace / test.d / instances / instance.tc
1 #!/bin/sh
2 # description: Test creation and deletion of trace instances
3
4 if [ ! -d instances ] ; then
5 echo "no instance directory with this kernel"
6 exit_unsupported;
7 fi
8
9 fail() { # mesg
10 rmdir x y z 2>/dev/null
11 echo $1
12 set -e
13 exit $FAIL
14 }
15
16 cd instances
17
18 # we don't want to fail on error
19 set +e
20
21 mkdir x
22 rmdir x
23 result=$?
24
25 if [ $result -ne 0 ]; then
26 echo "instance rmdir not supported"
27 exit_unsupported
28 fi
29
30 instance_slam() {
31 while :; do
32 mkdir x
33 mkdir y
34 mkdir z
35 rmdir x
36 rmdir y
37 rmdir z
38 done 2>/dev/null
39 }
40
41 instance_slam &
42 p1=$!
43 echo $p1
44
45 instance_slam &
46 p2=$!
47 echo $p2
48
49 instance_slam &
50 p3=$!
51 echo $p3
52
53 instance_slam &
54 p4=$!
55 echo $p4
56
57 instance_slam &
58 p5=$!
59 echo $p5
60
61 ls -lR >/dev/null
62 sleep 1
63
64 kill -1 $p1
65 kill -1 $p2
66 kill -1 $p3
67 kill -1 $p4
68 kill -1 $p5
69
70 echo "Wait for processes to finish"
71 wait $p1 $p2 $p3 $p4 $p5
72 echo "all processes finished, wait for cleanup"
73
74 mkdir x y z
75 ls x y z
76 rmdir x y z
77 for d in x y z; do
78 if [ -d $d ]; then
79 fail "instance $d still exists"
80 fi
81 done
82
83 set -e
84
85 exit 0