I recently did this but was unable to do it with a purely macrodef-based approach. The gist of my solution was to define the fileset generated by Junit.
<fileset id="junit.raw" dir="${blah}" includes="TEST-*.xml"/> Then check if it was actually there: <target name="junitcheck"> <!-- did we actually run any unit tests? --> <pathconvert targetos="windows" refid="junit.raw" property="report.junit" setonempty="false"/> </target> Then only do the junitreport if the property was set: <target name="junitreports" depends="junitcheck" if="report.junit"> <junitreport> <fileset refid="junit.raw"/> <report format="frames" todir="${report}"/> </junitreport> </target> Hope thie helps, and if anyone has more elegant solutions I'd be delighted to hear them! Keith -----Original Message----- From: Jon Jagger [mailto:[EMAIL PROTECTED] Sent: 28 February 2005 15:03 To: user@ant.apache.org Subject: if junit batchtest is skipped also skip junitreport? I have a package based ant setup which uses the following... <macrodef name="run-test" <attribute name="package"//> ... <sequential> ... <junit errorProperty="test.failed" ...> ... <formatter type="xml"/> <batchtest todir="..." unless="@{package}.tests.uptodate"> ... <batchtest> </junit> ... <fail if="test.failed"/> ... <junitreport todir="....> ... </junitreport> </sequential> </macrodef> This works but I'd like to run the junitreport only if batchtest actually runs some tests. In other words, I like an unless on junitreport to mirror the unless on batchtest. But there isn't one and I can't see an obvious answer in chapter 4 of Erik & Steve's excellent ant book. Is there a way to do this without resorting to the <if> ant-contrib? Also, I'm using a flag file to indicate whether a test-run passed or failed. That way I can rerun the tests even if none of the code being tested or the code doing the tests has changed. Exactly as Erik and Steve suggest in chapter 4 (pages 106-108). Is there a way to stop the <delete> task from echoing a successful deletion message to the console? Many thanks Jon --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]