Skip to content

Commit

Permalink
ftracetest: Add instance create and delete test
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Steven Rostedt (Red Hat) committed Nov 24, 2015
1 parent bd1b7cd commit 3cbd6a4
Showing 1 changed file with 90 additions and 0 deletions.
90 changes: 90 additions & 0 deletions tools/testing/selftests/ftrace/test.d/instances/instance.tc
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 3cbd6a4

Please sign in to comment.