Andrew,

From licensing point of view I believe the rest be ok. All other
dependencies has LGPL license so we may continue using PDF reports for
Harmony.

From technical point of view I'm still looking into the code. Here is
a small proof: I found that runner variable in private
AbstractChartReporter.consumeChildData() is unused.

I'm now thinking of a specific watcher for GC stress tests which would
be called HeapUtilizationWatcher which isn't much different from your
memory watcher. I have a solid intention to use p-unit, though it
would take some time for me to adopt it. I will try to speed up a bit.

P.S.
The bug about JUnitAnnotationTestClass is verified. Thanks!

P.P.S.
I have not worked much with localization before, and I don't think it
is of any priority for now. Anyway, I've got few comments about this
and it is up to you if they worth to be considered. I find it more
convenient to see something like reporter.overview instead of
reporter.02 for localized string keys. If this is automatically
generated staff, we probably need to patch Eclipse itself. :-) Also,
the NON-NLS-1 comment in the following lines is confusing. I thought
the comment is suited for cases when one doesn't use
Messages.getString()

punit/src/org/punit/assertion/Assert.java:                      
fail(Messages.getString("Assert.2")
+ expected); //$NON-NLS-1$
punit/src/org/punit/assertion/Assert.java:              
fail(Messages.getString("Assert.0")
+ expected + Messages.getString("Assert.1") + actual); //$NON-NLS-1$
//$NON-NLS-2$
punit/src/org/punit/reporter/stream/StreamLogger.java:          
sb.append(Messages.getString("logger.01"));
//$NON-NLS-1$
punit/src/org/punit/reporter/stream/StreamLogger.java:          
sb.append(Messages.getString("logger.02"));
//$NON-NLS-1$
punit/src/org/punit/reporter/stream/StreamLogger.java:          
sb.append(Messages.getString("logger.03"));
//$NON-NLS-1$
punit/src/org/punit/reporter/stream/StreamLogger.java:                  
sb.append(Messages.getString("logger.04"));
//$NON-NLS-1$
punit/src/org/punit/reporter/stream/StreamLogger.java:                  
sb.append(Messages.getString("logger.05"));
//$NON-NLS-1$
punit/src/org/punit/reporter/stream/StreamLogger.java:          
sb.append(Messages.getString("logger.06"));
//$NON-NLS-1$
punit/src/org/punit/runner/ConcurrentRunner.java:               return
Messages.getString("runner.03"); //$NON-NLS-1$
punit/src/org/punit/runner/SoloRunner.java:             return
Messages.getString("runner.01"); //$NON-NLS-1$
punit/src/org/punit/util/RunnerUtil.java:                       throw new
IllegalArgumentException(Messages.getString("runner.05"));
//$NON-NLS-1$
punit/src/org/punit/watcher/MemoryWatcher.java:         return
Messages.getString("watcher.03"); //$NON-NLS-1$
punit/src/org/punit/watcher/MemoryWatcher.java:         return
Messages.getString("watcher.01"); //$NON-NLS-1$
punit/src/org/punit/watcher/TimeWatcher.java:           return
Messages.getString("watcher.04"); //$NON-NLS-1$
punit/src/org/punit/watcher/TimeWatcher.java:           return
Messages.getString("watcher.02"); //$NON-NLS-1$
punit.extension/src/org/punit/reporter/chart/AbstractChartReporter.java:                
sb.append(Messages.getString("reporter.01"));
//$NON-NLS-1$
punit.extension/src/org/punit/reporter/chart/OverviewReporter.java:             
        return
Messages.getString("reporter.02"); //$NON-NLS-1$
punit.extension/src/org/punit/reporter/chart/pdf/PDFRender.java:                
paragraph.add(new
Chunk(Messages.getString("PDFRender.01"), PDFConstants.H1_FONT));
//$NON-NLS-1$
punit.extension/src/org/punit/reporter/chart/pdf/PDFRender.java:                
paragraph.add(new
Chunk(Messages.getString("PDFRender.02"),
PDFConstants.H1_FONT));//$NON-NLS-1$

On 6/28/07, Andrew Zhang <[EMAIL PROTECTED]> wrote:
Hi All,

Any feedback on Loop test framework? I'm going to release p-unit soon under
AL2.0.

Thanks!

On 6/26/07, Alexei Fedotov <[EMAIL PROTECTED]> wrote:
>
> All,
>
> I'm thinking of taking advantage of p-unit.I found this tool coded
> with good skill and enthusiasm, so it's a good opportunity for both
> projects to join efforts.
>
> Both copyright holders are our committers, and the tool is to be
> re-licensed under AL 2.0 license. Please drop a mail to this thread if
> you see any objections for establishing a dependency from this tool.
>
> Thanks.
>
> On 6/26/07, Andrew Zhang <[EMAIL PROTECTED]> wrote:
> > On 6/26/07, Alexei Fedotov <[EMAIL PROTECTED]> wrote:
> > >
> > > Andrew,
> > >
> > > That's great. You are really quick. I was still thinking when your
> > > solution came up. I was able to build the project and run tests one by
> > > one, though I wasn't able to use the perfect Eclipse plugin for JUnit
> > > tests. Probably it could make sense to use just an ordinary junit for
> > > testing p-unit itself.
> > >
> > > 1. I've just realized that I cannot link stress tests with p-unit
> > > while it is GPLed. So it's better to change a license. GPL with
> > > exception is ok, but it's safer to have BSD-like license. Actually
> > > this is the only comment which prevents me from using punit, all
> > > others are mostly for better understanding of your concept.
> >
> >
> > Hi Alexei,
> >
> > No problem. I'll change the license for the next release!
> >
> > AL2.0 should be safe, right?
> >
> > 2. Do you think "toStop" and "toAbort" from my requirements are the
> > > best terms? We can change them until there is not too much code
> > > developed. A typical use case is the following. I give a test a fair
> > > time to loop (= first timer) and a small type to stop gracefully (=
> > > second timer). The variant named them "toWork", "toAbort". Another
> > > variant which comes to my mind is "toLoop", "toStop". What do you
> > > think?
> >
> > 3. What do you think of using junit.extensions.TestDecorator for
> > > building complex tests on the top of the primitive ones?
> >
> >
> >
> > I must miss something here. For which  scenario(Loop or Concurrent?), do
> we
> > need toAbort? As my understanding, tearDown will stop the test case
> > gracefully. Do we need this special setting? (But I saw the same
> requirement
> > before, because the user's logic code is dependent of timestamp, and the
> > test runner have to be slow enough to run it concurrently :) )
> >
> > Thanks!
> >
> >
> > On 6/25/07, Andrew Zhang <[EMAIL PROTECTED]> wrote:
> > > > On 6/22/07, Alexei Fedotov <[EMAIL PROTECTED]> wrote:
> > > > >
> > > > > Andrew,
> > > > > Thanks for your explanations.
> > > > >
> > > > > Let me address the main problem I see to migrate a stress test
> suite
> > > > > to p-unit. To which extend may I count on your support at further
> > > > > p-unit development? I listed very specific functionality which
> > > > > probably didn't suite well your original idea.
> > > >
> > > >
> > > > Hi Alexei,
> > > >
> > > > Would you please check the latest sample code samples.LoopTestSamplein
> > > > punit.sample project? Is it the same as the original idea of toStop,
> > > > toAbort? Thanks!
> > > >
> > > > On 6/22/07, Andrew Zhang <[EMAIL PROTECTED]> wrote:
> > > > > > On 6/22/07, Alexei Fedotov <[EMAIL PROTECTED]> wrote:
> > > > > > >
> > > > > > > Andrew,
> > > > > > > This is very interesting. Thank you for the reference.
> > > > > >
> > > > > >
> > > > > > Hi Alexei,  please see my comments inline
> > > > > >
> > > > > > I've got few questions trying to understand your framework.
> > > > > > > 1. Why an interface Watcher extends Serializable?
> > > > > >
> > > > > >
> > > > > > Because it's for performance comparison between different vms.
> The
> > > > > runner
> > > > > > will be serialized, so that the vm can load the right runner.
> You
> > > can
> > > > > > consider it like serializing the configuration for the vm.
> > > > > >
> > > > > > 2. Is there any project which uses p-unit for testing? Why have
> you
> > > > > started
> > > > > > > it?
> > > > > >
> > > > > >
> > > > > > Polepos (https://sourceforge.net/projects/polepos) is going to
> > > refactor
> > > > > its
> > > > > > code to use p-unit.
> > > > > >
> > > > > > And I know serveral community members use p-unit to test
> concurrency
> > > > > > performance(by running the existing JUnit tests).
> > > > > >
> > > > > > I started it because I found that I can't do something as I want
> > > with
> > > > > JUnit,
> > > > > > :) like concurrency, performance test. Why do I have to start
> > > thread,
> > > > > and
> > > > > > join, and check the result at the end of join everytime? why do
> I
> > > need
> > > > > to
> > > > > > use System.currentMilliseconds and sysout... :)  So I wrote
> p-unit.
> > > > > >
> > > > > > 3. Running tests in several VM is great, but how could I compare
> > > these
> > > > > > > results?
> > > > > >
> > > > > >
> > > > > > There're serveral build-in reports in p-unit. The most
> > > straightforward
> > > > > one
> > > > > > is pdf format, which contains performance chart. The results of
> > > > > different vm
> > > > > > for the same method are shown in the same page, so that you can
> know
> > > > > which
> > > > > > one is better easily. It's also easy to plugin your own report
> by
> > > > > > implementing  PUnitEventListener.
> > > > > >
> > > > > > 4. If I need to increase a parameter until the test fails and
> then
> > > > > > > report the final value as a test performance metrics how this
> > > should
> > > > > > > be done in p-unit?
> > > > > >
> > > > > >
> > > > > > hm... this functionality is not supported in p-unit....
> > > > > >
> > > > > > Thanks!
> > > > > >
> > > > > > On 6/22/07, Andrew Zhang <[EMAIL PROTECTED]> wrote:
> > > > > > > > On 6/21/07, Alexei Fedotov <[EMAIL PROTECTED]> wrote:
> > > > > > > > >
> > > > > > > > > Hello Vladimir,
> > > > > > > > >
> > > > > > > > > Could yout please give few hints how one should write
> > > performance
> > > > > > > > > tests using the harness? I found an option "-performance"
> but
> > > > > cannot
> > > > > > > > > see anything else. I wonder how a testcase could report a
> > > > > performance
> > > > > > > > > metrics.
> > > > > > > > >
> > > > > > > > > Actually I'm thinking now of reviving comparative stress
> > > testing
> > > > > > > approach.
> > > > > > > >
> > > > > > > >
> > > > > > > > Hi Alexei,
> > > > > > > >
> > > > > > > > Do you have a chance to look at p-unit, (
> > > > > http://p-unit.sourceforge.net/
> > > > > > > )?
> > > > > > > >
> > > > > > > > I think it fulfills most of the requests listed in the
> > > documents.
> > > > > > > >
> > > > > > > > Another advantage of p-unit is that it can compare the
> > > performance
> > > > > > > between
> > > > > > > > different vms.
> > > > > > > >
> > > > > > > > One problem may be the license (GPL now, going to change the
> > > license
> > > > > to
> > > > > > > GPL
> > > > > > > > v3). If we really take it serious, I can relicense it
> > > immediately.
> > > > > > > >
> > > > > > > > [1]
> > > > > > > > >
> > > > > > >
> > > > >
> > >
> http://mail-archives.apache.org/mod_mbox/harmony-dev/200605.mbox/[EMAIL 
PROTECTED]
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > > With best regards,
> > > > > > > > > Alexei,
> > > > > > > > > ESSD, Intel
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > --
> > > > > > > > Best regards,
> > > > > > > > Andrew Zhang
> > > > > > > >
> > > > > > > > http://zhanghuangzhu.blogspot.com/
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > With best regards,
> > > > > > > Alexei,
> > > > > > > ESSD, Intel
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Best regards,
> > > > > > Andrew Zhang
> > > > > >
> > > > > > http://zhanghuangzhu.blogspot.com/
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > With best regards,
> > > > > Alexei,
> > > > > ESSD, Intel
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Best regards,
> > > > Andrew Zhang
> > > >
> > > > http://zhanghuangzhu.blogspot.com/
> > > >
> > >
> > >
> > > --
> > > With best regards,
> > > Alexei,
> > > ESSD, Intel
> > >
> >
> >
> >
> > --
> > Best regards,
> > Andrew Zhang
> >
> > http://zhanghuangzhu.blogspot.com/
> >
>
>
> --
> With best regards,
> Alexei,
> ESSD, Intel
>



--
Best regards,
Andrew Zhang

http://zhanghuangzhu.blogspot.com/



--
With best regards,
Alexei,
ESSD, Intel

Reply via email to