Hi again, I've committed my code into my fork of Gradle( https://github.com/leesdolphin/gradle/compare). In my searches though I have noticed that there was a pull request( https://github.com/gradle/gradle/pull/183) to make effectively the same changes. This pull request was shelved for backwards compatibility reasons.
I have added a skipped counter to the JUnit TestClassResult. Also changed the generation code to: - Add the skipped annotation. - Output the ignored test case element name as testcase and added an empty sub element <skipped/> I have also changed the test specs & helper objects to include the changes to annotations and element naming. I'll submit a pull request tomorrow once I have submitted my CLA. Yours, Lee On 10 February 2014 07:34, Luke Daley <luke.da...@gradleware.com> wrote: > We've been pretty conservative about making changes to this in the past. > > We did make a change a little while ago to add the ability to track output > per test case, and we added an opt in switch for it ( > http://www.gradle.org/docs/current/javadoc/org/gradle/api/tasks/testing/JUnitXmlReport.html#setOutputPerTestCase(boolean)). > In this case though, I think we should just make the change after testing > for compatibility with different tools. The chances that something has > specific handling for Gradle's format is low. > > Can anyone recall why we deviate from Ant and Maven here? > > On 9 Feb 2014, at 5:32 pm, Lee Symes <leesdolp...@gmail.com> wrote: > > > Hi All, > > > > I have noticed that the JUnit XML reports generated by Gradle are not > being correctly parsed by Jenkins and other applications when a test is > skipped. This is in relation to > http://issues.gradle.org/browse/GRADLE-2731. From what I can find out > there is no 'standard' format that these reports produce, however Ant and > Maven(at least) have standardised on the format described in the issue and > the linked StackOverflow post. > > > > So when a test is skipped in Gradle it produces(for example): > > <testsuite name="com.foo.FooTest" tests="1" failures="0" errors="0" > timestamp="2012-11-19T17:09:28" hostname="localhost" time="0.045"> > > <ignored-testcase name="some skipped test" classname="com.foo.FooTest" > time="0.01"/> > > <system-out><![CDATA[]]></system-out> > > <system-err><![CDATA[]]></system-err> > > </testsuite> > > > > However when Ant runs the same test(changes highlighted): > > <testsuite name="com.foo.FooTest" tests="1"skipped="1" failures="0" > errors="0" timestamp="2012-11-19T17:09:28" hostname="localhost" > time="0.045"> > > <testcase name="some skipped test" classname="com.foo.FooTest" > time="0.01"> > > <skipped/> > > </testcase> > > <system-out><![CDATA[]]></system-out> > > <system-err><![CDATA[]]></system-err> > > </testsuite> > > > > Ant generates a normal testcase tag and adds a child element; and Ant > also generates a skipped attribute. This is compared to the > ignored-testcase. > > > > The only concern that I have with changing this output would be any tool > that has changed to only support the Gradle format. > > > > I am writing a fix for this so is there anything that I have missed or > overlooked in the above. > > > > I hope that I can help out, > > > > Lee > > -- > Luke Daley > Principal Engineer, Gradleware > http://gradleware.com > > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > >