harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stepan Mishura" <stepan.mish...@gmail.com>
Subject Re: [buildtest] Proposal for Build Test Infrastructure Improvement
Date Thu, 19 Apr 2007 07:36:22 GMT
On 4/19/07, Alexander Kleymenov <kleymenov@gmail.com> wrote:
> 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.
>

Hi Alexander,

You've missed one my question. I'd like to repeat it:
Do we have suites with set of dependencies other then the following:
1) classlib - no dependencies
2) drlvm - depends on classlib only
3) all other suites - depends on classlib and drlvm

If no then ant code that manages dependencies between suites looks
redundant for me.

Thanks,

> > > > > > > > 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
>


-- 
Stepan Mishura
Intel Enterprise Solutions Software Division

Mime
View raw message