Author: bodewig Date: Mon Aug 21 21:55:07 2006 New Revision: 433516 URL: http://svn.apache.org/viewvc?rev=433516&view=rev Log: improve testsuite-name attribute in XML report
Modified: ant/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/listener/BaseAntUnitListener.java ant/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/listener/XMLAntUnitListener.java ant/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/listener/XMLConstants.java Modified: ant/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/listener/BaseAntUnitListener.java URL: http://svn.apache.org/viewvc/ant/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/listener/BaseAntUnitListener.java?rev=433516&r1=433515&r2=433516&view=diff ============================================================================== --- ant/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/listener/BaseAntUnitListener.java (original) +++ ant/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/listener/BaseAntUnitListener.java Mon Aug 21 21:55:07 2006 @@ -137,17 +137,7 @@ if (logTo.getValue().equals(SendLogTo.FILE) || logTo.getValue().equals(SendLogTo.BOTH)) { - buildFile = FileUtils.getFileUtils() - .removeLeadingPath(getProject().getBaseDir(), - new File(buildFile)); - if (buildFile.length() > 0 - && buildFile.charAt(0) == File.separatorChar) { - buildFile = buildFile.substring(1); - } - - String fileName = "TEST-" + - buildFile.replace(File.separatorChar, '.').replace(':', '.') - + "." + extension; + String fileName = "TEST-" + normalize(buildFile) + "." + extension; File file = toDir == null ? getProject().resolveFile(fileName) : new File(toDir, fileName); @@ -161,6 +151,24 @@ } } return new TeeOutputStream(l, f); + } + + /** + * Turns the build file name into something that vaguely looks + * like a Java classname. Close enough to be suitable for + * junitreport. + */ + protected final String normalize(String buildFile) { + buildFile = FileUtils.getFileUtils() + .removeLeadingPath(getProject().getBaseDir(), + new File(buildFile)); + if (buildFile.length() > 0 + && buildFile.charAt(0) == File.separatorChar) { + buildFile = buildFile.substring(1); + } + + return buildFile.replace('.', '_').replace(':', '_') + .replace(File.separatorChar, '.'); } public static class SendLogTo extends EnumeratedAttribute { Modified: ant/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/listener/XMLAntUnitListener.java URL: http://svn.apache.org/viewvc/ant/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/listener/XMLAntUnitListener.java?rev=433516&r1=433515&r2=433516&view=diff ============================================================================== --- ant/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/listener/XMLAntUnitListener.java (original) +++ ant/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/listener/XMLAntUnitListener.java Mon Aug 21 21:55:07 2006 @@ -63,10 +63,14 @@ wri = new OutputStreamWriter(getOut(buildFile), "UTF8"); doc = DOMUtils.newDocument(); root = doc.createElement(XMLConstants.TESTSUITE); - String n = testProject.getName(); - root.setAttribute(XMLConstants.ATTR_NAME, - n == null ? "unknown" : n); - root.setAttribute("buildFile", buildFile); + // if we want to (ab)use <junitreport> name needs to + // follow the structure expected by that task: + // package.class. package will be the directory holding + // the build file (file separators replaced by dots) and + // class the build file name with the last dot replaced + // by an underscore + root.setAttribute(XMLConstants.ATTR_NAME, normalize(buildFile)); + root.setAttribute(XMLConstants.BUILD_FILE, buildFile); //add the timestamp String timestamp = DateUtils.format(new Date(), Modified: ant/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/listener/XMLConstants.java URL: http://svn.apache.org/viewvc/ant/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/listener/XMLConstants.java?rev=433516&r1=433515&r2=433516&view=diff ============================================================================== --- ant/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/listener/XMLConstants.java (original) +++ ant/antlibs/antunit/trunk/src/main/org/apache/ant/antunit/listener/XMLConstants.java Mon Aug 21 21:55:07 2006 @@ -101,4 +101,9 @@ * name of host running the tests */ String HOSTNAME = "hostname"; + + /** + * name of the build file. + */ + String BUILD_FILE = "buildFile"; } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]