Messages in this thread | | | Date | Wed, 25 Nov 2015 11:31:26 -0500 | From | Steven Rostedt <> | Subject | Re: [for-next][PATCH 3/7] ftracetest: Add instance create and delete test |
| |
Shuah,
Sorry, I forgot to add you to the Cc of this patch. I have another test to add, but I forgot to commit it into git ;-)
-- Steve
On Wed, 25 Nov 2015 11:08:41 -0500 Steven Rostedt <rostedt@goodmis.org> wrote:
> From: "Steven Rostedt (Red Hat)" <rostedt@goodmis.org> > > 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> > --- > .../selftests/ftrace/test.d/instances/instance.tc | 90 ++++++++++++++++++++++ > 1 file changed, 90 insertions(+) > create mode 100644 tools/testing/selftests/ftrace/test.d/instances/instance.tc > > diff --git a/tools/testing/selftests/ftrace/test.d/instances/instance.tc b/tools/testing/selftests/ftrace/test.d/instances/instance.tc > new file mode 100644 > index 000000000000..773e276ff90b > --- /dev/null > +++ b/tools/testing/selftests/ftrace/test.d/instances/instance.tc > @@ -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
| |