I've fixed both these problems. The fix for 1 you probably did for
yourself. You can fixe #2 even more easily:
in TestCompiler, change line ~179:
configs.add(item);
to:
if(item != sam)
{
configs.add(item);
}
I haven't actually tested it except to verify that if this check isn't done,
the Sampler itself is added to the list of configuring elements, which means
it'll get run through layerElement().
It'll be in CVS by tomorrow.
-Mike
> -----Original Message-----
> From: Derek Baum [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, July 17, 2002 4:49 AM
> To: JMeter Developers List
> Subject: Re: functions
>
>
> Mike,
>
> I'm writing some functions to generate sequential and random numbers
> with the ability to re-seed the random number generator, so
> that after
> the first sequential or random number the following random
> numbers will
> be repeatable. This allows me to generate repeatable
> pseudo-random data.
>
> Rather than making this one function with lots of arguments,
> I wanted to
> split it up into more frendly smaller functions, for example:
> ${__seq(setSeed)}, ${__rand(max, setSeed)}.
>
> I have two minor problems:
>
> 1. I wrote the functions as inner classes, since they are closely
> related and need to share data. However the call to
> ClassFinder.findClassesThatExtend() in CompoundFunction.java does not
> discover inner classes. This is easily fixed by adding a
> boolean "true"
> argument.
>
> 2. My functions are being called twice for each variable
> substitution,
> which means that I only get every other sequential number in my test
> data. replaceValues() in TestCompiler.java is called twice from
> configureSampler() [directly from line 115 and indirectly via
> layeredElement() on line 123]. I have not found an easy way
> to stop the
> duplicate call in configureSampler(). Instead I am keeping a
> WeakHashMap
> in my function's execute() methods that detects if it is
> called with the
> same SampleResult, but this is a bit messy.
>
> //derek
>
>
> Mike Stover wrote:
>
> >Users,
> > There is a new unstable release -> 1.7.2. It seems
> pretty solid so far, and I have more
> >confidence in it at this point than the previous production
> release (1.7).
> >
> >Developers/power users,
> > I've made a first pass at the GUI elements related to
> the new functions. There is a
> >brief doc page about functions (only in CVS, not on website). User
> >defined variables can be created in the TestPlan GUI
> element, and a dialog can
> >assist you in generating the correct syntax for your
> function calls. The dialog is
> >available from the "Options" menu. Currently, there is only
> one function implemented (but it's
> >an interesting one).
> >
> >Creating new functions should be easy and fun (hint, hint).
> You don't need to write any GUI
> >code. Just follow the directions in the JavaDocs for the
> org.apache.jmeter.functions.Function
> >interface. Also
> org.apache.jmeter.functions.AbstractFunction, which you may
> want to extend.
> >
> >--
> >Michael Stover
> >[EMAIL PROTECTED]
> >Yahoo IM: mstover_ya
> >ICQ: 152975688
> >
> >--
> >To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
>For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>
>
>
>________________________________________________________________________
>This e-mail has been scanned for all viruses by Star Internet. The
>service is powered by MessageLabs. For more information on a proactive
>anti-virus service working around the clock, around the globe, visit:
>http://www.star.net.uk
>________________________________________________________________________
>
>
>
--
___________________
Derek Baum
Paremus Limited
+44 (0)20 7936 9396
www.paremus.com
________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>