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 Wed, 18 Apr 2007 10:01:06 GMT
On 4/18/07, Ivaschenko, Aleksei V wrote:
> >-----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.
>

But this means that the output should be browsed each time to figure
out whether the testing scenario failed or not. This is not
convenient. My understanding from discussion with Alexander was that
'run' target of adaptor.xml may fail and this is the framework task to
collect all suites status and fail if one of suites failed.

Alexander, could you clarify this?

Thanks,
Stepan.

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


-- 
Stepan Mishura
Intel Enterprise Solutions Software Division

Mime
View raw message