mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-06 16:49:22 +00:00
ftracetest: Add instance create and delete test
Create a test to test instance creation and deletion. Several tasks are created that create 3 directories and delete them. The tasks all create the same directories. This places a stress on the code that creates and deletes instances. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
parent
bd1b7cd360
commit
3cbd6a43be
1 changed files with 90 additions and 0 deletions
90
tools/testing/selftests/ftrace/test.d/instances/instance.tc
Normal file
90
tools/testing/selftests/ftrace/test.d/instances/instance.tc
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# 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 &
|
||||||
|
x=`jobs -l`
|
||||||
|
p1=`echo $x | cut -d' ' -f2`
|
||||||
|
echo $p1
|
||||||
|
|
||||||
|
instance_slam &
|
||||||
|
x=`jobs -l | tail -1`
|
||||||
|
p2=`echo $x | cut -d' ' -f2`
|
||||||
|
echo $p2
|
||||||
|
|
||||||
|
instance_slam &
|
||||||
|
x=`jobs -l | tail -1`
|
||||||
|
p3=`echo $x | cut -d' ' -f2`
|
||||||
|
echo $p3
|
||||||
|
|
||||||
|
instance_slam &
|
||||||
|
x=`jobs -l | tail -1`
|
||||||
|
p4=`echo $x | cut -d' ' -f2`
|
||||||
|
echo $p4
|
||||||
|
|
||||||
|
instance_slam &
|
||||||
|
x=`jobs -l | tail -1`
|
||||||
|
p5=`echo $x | cut -d' ' -f2`
|
||||||
|
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
|
Loading…
Reference in a new issue