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:
Родитель
bd1b7cd360
Коммит
3cbd6a43be
|
@ -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
|
Загрузка…
Ссылка в новой задаче