harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ivaschenko, Aleksei V" <aleksei.v.ivasche...@intel.com>
Subject Re: [buildtest] Proposal for Build Test Infrastructure Improvement
Date Wed, 18 Apr 2007 09:47:20 GMT
>-----Original Message-----
>From: Stepan Mishura [mailto:stepan.mishura@gmail.com]
>Sent: Wednesday, April 18, 2007 4:11 PM
>
>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?
>
>Also my understanding that we have the following dependencies between
>suites:
>1) classlib - no dependencies
>2) drlvm - depends on classlib only
>3) all other suites - depends on classlib and drlvm
>
>Do we have suites with other set of dependencies?
>
>Please see other comments below.
>
>BWT, FYI I run JettyScenario and found that it failed but overall run
>passed. I see the following output:
>run:
>    [mkdir] Created dir:
>/export/users/smishura/newinfra/build/checkouts/JettyScenario/results
>    [junit] Running JettyScenario
>     [java] Java Result: 139
>    [junit] Tests run: 5, Failures: 1, Errors: 3, Time elapsed: 94.581
sec
>    [junit] Test JettyScenario FAILED
>     [java] java.net.ConnectException: localhost/127.0.0.1:4444 -
>Connection refused
>     [java] at
>org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.jav
a:23
>0)
>     [java] at
>org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.jav
a:19
>3)
>     [java] at java.net.Socket.startupSocket(Socket.java:662)
>     [java] at java.net.Socket.<init>(Socket.java:214)
>     [java] at org.mortbay.start.Main.stop(Main.java:526)
>     [java] at org.mortbay.start.Main.main(Main.java:104)
>     [java] at
>java.lang.reflect.VMReflection.invokeMethod(VMReflection.java)
>     [java] at java.lang.reflect.Method.invoke(Method.java:381)
>     [java] at org.apache.harmony.vm.JarRunner.main(JarRunner.java:80)
>   [delete] Deleting:
>/export/users/smishura/newinfra/build/temp/null1281662371
>
>check-status:
>
>run:
>
>BUILD SUCCESSFUL
>Total time: 2 minutes 10 seconds

This is the way Jetty scenario implemented - 'run' target of adaptor.xml
does not ever fail. It reports scenario 'failed' or 'passed' in its log
(and in mail notification if in CC mode), and does not lead framework to
'BUILD FAILED'. This is because Jetty server should be stopped after
scenario is completed whether it failed or not.

>> > > > > > 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?
>
>> > 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?
>
><SNIP>
>
>> Yes, it is Ant-based Framework. adaptor.xml takes the
>> responsibility to 'adapt' existing Test Suite for execution under
this
>> framework. So it's called adaptor.xml
>>
>> > > > BTW, if we rename build.xml=>buildtest.xml we have to type each
>time:
>> > > > ant -f buildtest.xml.
>> > >
>> > > The standard usage of BTI supposes launching by means of shell
>scripts
>> > > (buildtest.bat/.sh), not by ant launcher.
>> > >
>> >
>> > Just to setup classlib and lanch ant with -f buildtest.xml (like
DRL VM
>build)?
>>
>> No, just to say
>>    > buildtest -Dtest.suites=some,selected,suites run
>> and get the things working.
>
>I meant that shell script is required to set up classpath and lanch
>ant with -f buildtest.xml
>
>Thanks,
>Stepan

Thanks,
Aleksei.

Mime
View raw message