harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexei Zakharov" <alexei.zakha...@gmail.com>
Subject Re: [classlib] new dependency (was: Re: [testing][crash handling] it will nice to add *any* crash handling to build system)
Date Mon, 11 Dec 2006 22:37:36 GMT
Nice! Thank you for sharing this piece of code Mark. I also rise all
my hands for avoiding any extra dependencies if possible. However, it
seems that the code above misses one of the important feature from the
original Vladimir's patch - it doesn't allow junit report to see the
name of failed test class. Today I was trying to rewrite your code a
little bit. And I ended up with the following not-very-readable text:

    <target name="fill-empty">
       <fileset id="empty.test.reports" dir="${tests.output}">
         <patternset>
           <include name="TEST-*.xml"/>
         </patternset>
         <size value="0" when="equal"/>
       </fileset>
       <replaceregexp match=".*">
            <fileset refid="empty.test.reports"/>
            <substitution expression="&lt;?xml version='1.0'
encoding='UTF-8' ?&gt;&lt;testsuite errors='1' failures='0'
name='@@@@@' tests='1' time='0.01'&gt;&lt;testcase classname='@@@@@'
name='testUnknow' time='0.0'&gt;&lt;error
message='crash?'/&gt;&lt;/testcase&gt;&lt;/testsuite&gt;"/>
       </replaceregexp>
    </target>

But I can't find a way to replace '@@@@@' with the name of failed test
class using only core ant tasks (see Vladimir's patch). Of course I
can be not good enough in it.  If there is such way could you please
give us a hint?

Thanks!

2006/12/11, Vladimir Ivanov <ivavladimir@gmail.com>:
> Agree, this approach is better than additional dependency.
>
> Alexei, please, throw out my jira and use this code.
>
>  Thanks, Vladimir
>
>
> On 12/10/06, Mark Hindess <mark.hindess@googlemail.com> wrote:
> >
> >
> > Please don't add this dependency.  We should use something like:
> >
> > <project name="test">
> > <target name="check-for-empty" depends="-check-for-empty, fail-if-empty"
> > />
> > <target name="-check-for-empty">
> >    <fileset id="empty.test.reports" dir="test_report">
> >      <patternset>
> >        <include name="TEST-*.xml"/>
> >      </patternset>
> >      <size value="0" when="equal"/>
> >    </fileset>
> >    <pathconvert refid="empty.test.reports" property="crashed.tests" />
> >    <condition property="tests.crashed">
> >      <not>
> >        <equals arg1="" arg2="${crashed.tests}" />
> >      </not>
> >    </condition>
> > </target>
> > <target name="fail-if-empty" if="${crashed.tests}">
> >    <fail>Crashed tests: "${crashed.tests}"</fail>
> > </target>
> > </project>
> >
> >
> > -Mark.
> >
> > On 9 December 2006 at 23:29, "Alexei Zakharov" <alexei.zakharov@gmail.com>
> > wrote:
> > > All,
> > >
> > > I am going to commit changes for HARMONY-2349 ([classlib][testing]
> > > "detect crashes by the empty report files") now. However, I've
> > > realized that in order to do this I need to introduce a new dependency
> > > to our list of classlib dependencies - the ant-contrib package.
> > > Personally I don't see any harm in this. It is quite nice package, we
> > > can also use it for organizing iterative test runs for example.
> > > Moreover, there is no need to force users to copy it to ANT_HOME/lib
> > > or wherever since ant's taskdef target is capable to load JAR's
> > > dynamically. BTW, DRLVM build has been using ant-contrib from the
> > > beginning.
> > >
> > > But I'd like to hear from others. Is ant-contrib ok with everyone?
> > >
> > > Thanks,
> > >
> > > 2006/12/8, Vladimir Ivanov <ivavladimir@gmail.com>:
> > > > The last CC notification for 'Linux SUSE 9 gcc debug: classlib  over
> > ibmvm'
> > > > has failed status due to "There were test errors" but on the next line
> > it
> > > > told "All Tests Passed".
> > > >
> > > >
> > > >
> > > > Note, it happened due to test crash:
> > > >
> > > > [Fatal Error] :-1:-1: Premature end of file.
> > > >
> > > > The file
> > > > /export/viv/trunk/cc/projects/classlib/trunk/build/test_report/TEST-
> > > > org.apache.harmony.security.tests.java.security.IdentityScope2Test.xmlis
> > > > not a valid XML document. It is possibly corrupted.
> > > >
> > > >
> > > >
> > > > This crash change the build status to 'FAILED' but no report file were
> > > > generated so junit- reporter miss this crash.


-- 
Alexei Zakharov,
Intel ESSD

Mime
View raw message