harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexander Kleymenov" <kleyme...@gmail.com>
Subject Re: [buildtest] Proposal for Build Test Infrastructure Improvement
Date Thu, 19 Apr 2007 05:54:37 GMT
Hi,

On 4/18/07, Stepan Mishura <stepan.mishura@gmail.com> wrote:
> Hi Alexander,
>
> Next question:
> 7) Suite's dependencies.
>
> I've tried the framework with JettyScenario. So I've unpacked a bundle
> with Jetty scenario into the framework dir, copied dir with tests,
> commented out some lines in dataptor (so everything according to the
> README.txt file) but I accidentally typed
> $ ant -Dtest.suites="JettyScenario" setup
> instead of
> $ ant -Dtest.suites="classlib,drlvm,JettyScenario" setup
>
> I expected that the framework would set up
> classlib,drlvm,JettyScenario because JettyScenario defines in
> parameters.xml dependencies on classlib,drlvm. But it set up only
> JettyScenario. I've looked into the code and my impression that
> dependencies defined in parameters.xml affect only in which order the
> framework runs suites. Am I correct?

Yes, dependency of 'test-suite' on 'superior-suite' means 'test-suite'
uses some product of 'superior-suite' described there as a shared parameter
and used as a default value for some required parameter of 'test-suite'.
If we didn't select the 'superior-suite' for execution such a required
parameter will not be resolved and will be demanded from user.

> > > > > > > What the reason for calling classlib's build in this way?
Why we have
> > > > > > > to run 'ant.bat' (or 'ant.sh' for Linux) via <exec>?
> > > > > >
> > > > > > It's workaround for Ant's OutOfMemory problem arising after
doing the same
> > > > > > by <ant> target. The <ant>-rebuild of classlib project
causes big memory
> > > > > > leaks somewhere in the Ant and the further BTI execution is
impossible
> > > > > > becouse of arising OOM.
> > > > > >
> > > > >
> > > > > As far as I remember the solution was to increase the max memory
used
> > > > > by Ant with setting ANT_OPTS to "-Xms256M -Xmx512M". Have you tried
> > > > > this?
> > > >
> > > > 2Gb was not enough.
> > > >
> > >
> > > Wow ... and do you have any idea why 512M is enough for the current
> > > infra and 2Gb is not enough for the proposed one?
> >
> > OOE happens under CC execution on the half way of drlvm building.
> > We didn't it before in one Ant project.
> >
>
> Sorry, may be my question was unclear. I asked the following: have you
> investigated why the current infra is able to run the same testing
> scenario (classlib+drlvm) with 512M and new one can not do it with
> 2Gb?

I didn't make deep investigation but I think this is because we did not try
an Ant's project containing the launching of CC
which subsequently calls <ant classlib build>, and then calls <ant drlvm build>
- and all these in one project executed on single JVM. <Exec> creates
separate ant process for it - it's almost the same what we did before.

> > > As I understand
> > > certain ANT tasks can use a lot of memory - classlibrary complies over
> > > 3500 with javac task, so we may assume that this requires a lot of
> > > memory. But root cause of such essential increase (more then x4 times)
> > > is somewhere in the proposed infa from my POV. Can this impose some
> > > limits, for example, to a number of testing suite that the infra can
> > > setup and run?
> >
> > Load testing of BTI could help to answer your question.
> > And I didn't tried Ant 1.7. Probably it fixes some of the leaks.
> >
>
> So you think that this is ANT issue only. Right?

Maybe Ant, maybe CC, maybe single-jvm-mix of them.

> One minor question: I re-set up the scenarion as README.txt recommends
> (i.e.by specifying -Dtest.suites="classlib,drlvm,JettyScenario"). And
> run it under CC. But I received notifications about JettyScenario
> status only. There were no notifications from classlib and drlvm. As
> far as I see this is not CC configuration problem - the publishers for
> them just were not implemented. Right? Otherwise what I should do to
> see notifications from classlib and drlvm?

There no publisher for classlib and drlvm build status notifications.
These suites are mostly executed as an intermediate before others.

But it's possible to provide custom publisher and use it. The steps to
do it for classlib are:

    1. Implement Ant script containing 'publish' target. You can use
    some of existing publisher implementations as a base. Name it as you
    want, say, publisher.xml.

    2. In framework.local.properties define the following property:
       classlib.parameters.cc.publisher=/path/to/your/publisher.xml

    3. If everything is OK with your implementation, it will sent
    status notifications while running under CC.

Thanks,
Alexander

Mime
View raw message