Browse Source

<junitreport> would create an empty junit-noframes.html if format was

not defined.

PR: 12390
Testcase submitted by:	Martijn Kruithof <martijn at kruithof.xs4all.nl>


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273360 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 22 years ago
parent
commit
ddece83ca0
5 changed files with 297 additions and 1 deletions
  1. +25
    -0
      src/etc/testcases/taskdefs/optional/junitreport.xml
  2. +100
    -0
      src/etc/testcases/taskdefs/optional/junitreport/TEST-sampleproject.coins.CoinTest.xml
  3. +77
    -0
      src/etc/testcases/taskdefs/optional/junitreport/TEST-sampleproject.util.UniqueStringTest.xml
  4. +1
    -1
      src/main/org/apache/tools/ant/taskdefs/optional/junit/AggregateTransformer.java
  5. +94
    -0
      src/testcases/org/apache/tools/ant/taskdefs/optional/junit/JUnitReportTest.java

+ 25
- 0
src/etc/testcases/taskdefs/optional/junitreport.xml View File

@@ -0,0 +1,25 @@
<?xml version="1.0"?>

<project name="junitreport-test" basedir="." default="reports">

<property name="jrdir" location="junitreport"/>
<property name="outputdir" location="${jrdir}/test"/>

<!-- reports1 take care of transformation of 2 test result files and
produce reports according to the default format (frames)
needed for testNoFileJunitNoFrames -->
<target name="reports1">
<mkdir dir="${outputdir}"/>
<mkdir dir="${outputdir}/html"/>
<junitreport todir="${outputdir}">
<fileset dir="${jrdir}">
<include name="TEST-*.xml"/>
</fileset>
<report todir="${outputdir}/html"/>
</junitreport>
</target>
<target name="clean">
<delete dir="${outputdir}"/>
</target>
</project>

+ 100
- 0
src/etc/testcases/taskdefs/optional/junitreport/TEST-sampleproject.coins.CoinTest.xml View File

@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="UTF-8" ?>
<testsuite errors="1" failures="1" name="sampleproject.coins.CoinTest" tests="11" time="0.171">
<properties>
<property name="testsrc" value="test/"></property>
<property name="java.runtime.name" value="Java(TM) 2 Runtime Environment, Standard Edition"></property>
<property name="sun.boot.library.path" value="/usr/java/jdk1.3.1_03/jre/lib/i386"></property>
<property name="java.vm.version" value="1.3.1_03-b03"></property>
<property name="ant.version" value="Apache Ant version 1.5 compiled on July 9 2002"></property>
<property name="ant.java.version" value="1.3"></property>
<property name="java.vm.vendor" value="Sun Microsystems Inc."></property>
<property name="java.vendor.url" value="http://java.sun.com/"></property>
<property name="path.separator" value=":"></property>
<property name="java.vm.name" value="Java HotSpot(TM) Client VM"></property>
<property name="file.encoding.pkg" value="sun.io"></property>
<property name="classes" value="classes"></property>
<property name="java.vm.specification.name" value="Java Virtual Machine Specification"></property>
<property name="user.dir" value="/home/jkf/programming/gretant_sourceforge/sampleproject"></property>
<property name="java.runtime.version" value="1.3.1_03-b03"></property>
<property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"></property>
<property name="basedir" value="/home/jkf/programming/gretant_sourceforge/sampleproject"></property>
<property name="os.arch" value="i386"></property>
<property name="java.io.tmpdir" value="/tmp"></property>
<property name="line.separator" value="
"></property>
<property name="java.vm.specification.vendor" value="Sun Microsystems Inc."></property>
<property name="java.awt.fonts" value=""></property>
<property name="os.name" value="Linux"></property>
<property name="ant.home" value="/opt/jakarta-ant-1.5/"></property>
<property name="ant.project.name" value="sample"></property>
<property name="reportdir" value="reports"></property>
<property name="java.library.path" value="/usr/java/jdk1.3.1_03/jre/lib/i386:/usr/java/jdk1.3.1_03/jre/lib/i386/native_threads/:/usr/java/jdk1.3.1_03/jre/lib/i386/client:/usr/java/jdk1.3.1_03/jre/../lib/i386"></property>
<property name="src" value="code/"></property>
<property name="debug" value="on"></property>
<property name="java.specification.name" value="Java Platform API Specification"></property>
<property name="java.class.version" value="47.0"></property>
<property name="os.version" value="2.4.18-5"></property>
<property name="ant.file" value="/home/jkf/programming/gretant_sourceforge/sampleproject/build.xml"></property>
<property name="unitreport" value="cl-unit.xml"></property>
<property name="user.home" value="/home/jkf"></property>
<property name="user.timezone" value="Europe/Amsterdam"></property>
<property name="java.awt.printerjob" value="sun.awt.motif.PSPrinterJob"></property>
<property name="java.specification.version" value="1.3"></property>
<property name="file.encoding" value="ISO-8859-15"></property>
<property name="java.class.path" value="/opt/jakarta-ant-1.5//lib/xml-apis.jar:/opt/jakarta-ant-1.5//lib/xercesImpl.jar:/opt/jakarta-ant-1.5//lib/xalan.jar:/opt/jakarta-ant-1.5//lib/optional.jar:/opt/jakarta-ant-1.5//lib/junit.jar:/opt/jakarta-ant-1.5//lib/Gretel.jar:/opt/jakarta-ant-1.5//lib/gretant.jar:/opt/jakarta-ant-1.5//lib/cup-runtime.jar:/opt/jakarta-ant-1.5//lib/bcel.jar:/opt/jakarta-ant-1.5//lib/ant.jar:/usr/java/jdk1.3/lib/tools.jar"></property>
<property name="user.name" value="jkf"></property>
<property name="coverreport" value="cl-cover.xml"></property>
<property name="java.vm.specification.version" value="1.0"></property>
<property name="java.home" value="/usr/java/jdk1.3.1_03/jre"></property>
<property name="java.specification.vendor" value="Sun Microsystems Inc."></property>
<property name="user.language" value="en"></property>
<property name="java.vm.info" value="mixed mode"></property>
<property name="java.version" value="1.3.1_03"></property>
<property name="java.ext.dirs" value="/usr/java/jdk1.3.1_03/jre/lib/ext"></property>
<property name="sun.boot.class.path" value="/usr/java/jdk1.3.1_03/jre/lib/rt.jar:/usr/java/jdk1.3.1_03/jre/lib/i18n.jar:/usr/java/jdk1.3.1_03/jre/lib/sunrsasign.jar:/usr/java/jdk1.3.1_03/jre/classes"></property>
<property name="java.vendor" value="Sun Microsystems Inc."></property>
<property name="file.separator" value="/"></property>
<property name="testclasses" value="testclasses"></property>
<property name="java.vendor.url.bug" value="http://java.sun.com/cgi-bin/bugreport.cgi"></property>
<property name="sun.io.unicode.encoding" value="UnicodeLittle"></property>
<property name="sun.cpu.endian" value="little"></property>
<property name="gretclasses" value="gretclasses"></property>
<property name="user.region" value="US"></property>
<property name="sun.cpu.isalist" value=""></property>
</properties>
<testcase name="testEquals" time="0.014"></testcase>
<testcase name="testHashCode" time="0.0010"></testcase>
<testcase name="testToString" time="0.0010"></testcase>
<testcase name="testGetImageURL" time="0.0"></testcase>
<testcase name="testGetCountry" time="0.0010"></testcase>
<testcase name="testGetDenomination" time="0.0"></testcase>
<testcase name="testGetYear" time="0.0"></testcase>
<testcase name="testGetSubType" time="0.0"></testcase>
<testcase name="testFail" time="0.0080">
<failure message="DOEG" type="junit.framework.AssertionFailedError">junit.framework.AssertionFailedError: DOEG
at sampleproject.coins.CoinTest.testFail(CoinTest.java:229)
</failure>
</testcase>
<testcase name="testException" time="0.0010">
<error message="RTE" type="java.lang.RuntimeException">java.lang.RuntimeException: RTE
at sampleproject.coins.CoinTest.testException(CoinTest.java:234)
</error>
</testcase>
<testcase name="testSuccess" time="0.0"></testcase>
<system-out><![CDATA[testEquals
testHashCode
Hashcodes: 1434557225 1434557225 1434557226 1463186376 1434556908 1516980401 1434557225
testToString
<Coin=NL,1 Euro,1999,Var a/>
<Coin=NL,1 Euro,1999,null/>
testGetImageURL
testGetCountry
testGetDenomination
testGetYear
testGetSubType
testFail
testException
testSuccess
]]></system-out>
<system-err><![CDATA[]]></system-err>
</testsuite>

+ 77
- 0
src/etc/testcases/taskdefs/optional/junitreport/TEST-sampleproject.util.UniqueStringTest.xml View File

@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8" ?>
<testsuite errors="0" failures="0" name="sampleproject.util.UniqueStringTest" tests="5" time="0.038">
<properties>
<property name="testsrc" value="test/"></property>
<property name="java.runtime.name" value="Java(TM) 2 Runtime Environment, Standard Edition"></property>
<property name="sun.boot.library.path" value="/usr/java/jdk1.3.1_03/jre/lib/i386"></property>
<property name="java.vm.version" value="1.3.1_03-b03"></property>
<property name="ant.version" value="Apache Ant version 1.5 compiled on July 9 2002"></property>
<property name="ant.java.version" value="1.3"></property>
<property name="java.vm.vendor" value="Sun Microsystems Inc."></property>
<property name="java.vendor.url" value="http://java.sun.com/"></property>
<property name="path.separator" value=":"></property>
<property name="java.vm.name" value="Java HotSpot(TM) Client VM"></property>
<property name="file.encoding.pkg" value="sun.io"></property>
<property name="classes" value="classes"></property>
<property name="java.vm.specification.name" value="Java Virtual Machine Specification"></property>
<property name="user.dir" value="/home/jkf/programming/gretant_sourceforge/sampleproject"></property>
<property name="java.runtime.version" value="1.3.1_03-b03"></property>
<property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"></property>
<property name="basedir" value="/home/jkf/programming/gretant_sourceforge/sampleproject"></property>
<property name="os.arch" value="i386"></property>
<property name="java.io.tmpdir" value="/tmp"></property>
<property name="line.separator" value="
"></property>
<property name="java.vm.specification.vendor" value="Sun Microsystems Inc."></property>
<property name="java.awt.fonts" value=""></property>
<property name="os.name" value="Linux"></property>
<property name="ant.home" value="/opt/jakarta-ant-1.5/"></property>
<property name="ant.project.name" value="sample"></property>
<property name="reportdir" value="reports"></property>
<property name="java.library.path" value="/usr/java/jdk1.3.1_03/jre/lib/i386:/usr/java/jdk1.3.1_03/jre/lib/i386/native_threads/:/usr/java/jdk1.3.1_03/jre/lib/i386/client:/usr/java/jdk1.3.1_03/jre/../lib/i386"></property>
<property name="src" value="code/"></property>
<property name="debug" value="on"></property>
<property name="java.specification.name" value="Java Platform API Specification"></property>
<property name="java.class.version" value="47.0"></property>
<property name="os.version" value="2.4.18-5"></property>
<property name="ant.file" value="/home/jkf/programming/gretant_sourceforge/sampleproject/build.xml"></property>
<property name="unitreport" value="cl-unit.xml"></property>
<property name="user.home" value="/home/jkf"></property>
<property name="user.timezone" value="Europe/Amsterdam"></property>
<property name="java.awt.printerjob" value="sun.awt.motif.PSPrinterJob"></property>
<property name="java.specification.version" value="1.3"></property>
<property name="file.encoding" value="ISO-8859-15"></property>
<property name="java.class.path" value="/opt/jakarta-ant-1.5//lib/xml-apis.jar:/opt/jakarta-ant-1.5//lib/xercesImpl.jar:/opt/jakarta-ant-1.5//lib/xalan.jar:/opt/jakarta-ant-1.5//lib/optional.jar:/opt/jakarta-ant-1.5//lib/junit.jar:/opt/jakarta-ant-1.5//lib/Gretel.jar:/opt/jakarta-ant-1.5//lib/gretant.jar:/opt/jakarta-ant-1.5//lib/cup-runtime.jar:/opt/jakarta-ant-1.5//lib/bcel.jar:/opt/jakarta-ant-1.5//lib/ant.jar:/usr/java/jdk1.3/lib/tools.jar"></property>
<property name="user.name" value="jkf"></property>
<property name="coverreport" value="cl-cover.xml"></property>
<property name="java.vm.specification.version" value="1.0"></property>
<property name="java.home" value="/usr/java/jdk1.3.1_03/jre"></property>
<property name="java.specification.vendor" value="Sun Microsystems Inc."></property>
<property name="user.language" value="en"></property>
<property name="java.vm.info" value="mixed mode"></property>
<property name="java.version" value="1.3.1_03"></property>
<property name="java.ext.dirs" value="/usr/java/jdk1.3.1_03/jre/lib/ext"></property>
<property name="sun.boot.class.path" value="/usr/java/jdk1.3.1_03/jre/lib/rt.jar:/usr/java/jdk1.3.1_03/jre/lib/i18n.jar:/usr/java/jdk1.3.1_03/jre/lib/sunrsasign.jar:/usr/java/jdk1.3.1_03/jre/classes"></property>
<property name="java.vendor" value="Sun Microsystems Inc."></property>
<property name="file.separator" value="/"></property>
<property name="testclasses" value="testclasses"></property>
<property name="java.vendor.url.bug" value="http://java.sun.com/cgi-bin/bugreport.cgi"></property>
<property name="sun.io.unicode.encoding" value="UnicodeLittle"></property>
<property name="sun.cpu.endian" value="little"></property>
<property name="gretclasses" value="gretclasses"></property>
<property name="user.region" value="US"></property>
<property name="sun.cpu.isalist" value=""></property>
</properties>
<testcase name="testEquals" time="0.0"></testcase>
<testcase name="testHashCode" time="0.0"></testcase>
<testcase name="testToString" time="0.0010"></testcase>
<testcase name="testgetUniqueString" time="0.0"></testcase>
<testcase name="testSerialization" time="0.024"></testcase>
<system-out><![CDATA[testEquals
testHashCode
testToString
testgetUniqueString
testSerialization
]]></system-out>
<system-err><![CDATA[]]></system-err>
</testsuite>

+ 1
- 1
src/main/org/apache/tools/ant/taskdefs/optional/junit/AggregateTransformer.java View File

@@ -101,7 +101,7 @@ public class AggregateTransformer {
protected File toDir;

/** the format to use for the report. Must be <tt>FRAMES</tt> or <tt>NOFRAMES</tt> */
protected String format;
protected String format = FRAMES;

/** XML Parser factory */
private static DocumentBuilderFactory privateDBFactory;


+ 94
- 0
src/testcases/org/apache/tools/ant/taskdefs/optional/junit/JUnitReportTest.java View File

@@ -0,0 +1,94 @@
/*
* The Apache Software License, Version 1.1
*
* Copyright (c) 2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution, if
* any, must include the following acknowlegement:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowlegement may appear in the software itself,
* if and wherever such third-party acknowlegements normally appear.
*
* 4. The names "The Jakarta Project", "Ant", and "Apache Software
* Foundation" must not be used to endorse or promote products derived
* from this software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache"
* nor may "Apache" appear in their names without prior written
* permission of the Apache Group.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/

package org.apache.tools.ant.taskdefs.optional.junit;

import java.io.File;
import org.apache.tools.ant.BuildFileTest;

/**
* Small testcase for the junitreporttask.
* First test added to reproduce an fault, still a lot to improve
*
* @author <a href="mailto:martijn@kruithof.xs4all.nl">Martijn Kruithof</a>
*/
public class JUnitReportTest extends BuildFileTest {

public JUnitReportTest(String name){
super(name);
}

protected void setUp() {
configureProject("src/etc/testcases/taskdefs/optional/junitreport.xml");
}

protected void tearDown() {
executeTarget("clean");
}

/**
* Verifies that no empty junit-noframes.html is generated when frames
* output is selected via the default.
* Needs reports1 task from junitreport.xml.
*/
public void testNoFileJUnitNoFrames() {
executeTarget("reports1");
if (new File("src/etc/testcases/taskdefs/optional/junitreport/test/html/junit-noframes.html").exists())
{
fail("No file junit-noframes.html expected");
}
}

}


Loading…
Cancel
Save