aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/tests/antunit/taskdefs/optional/junit/junit-test.xml
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/tests/antunit/taskdefs/optional/junit/junit-test.xml')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/tests/antunit/taskdefs/optional/junit/junit-test.xml372
1 files changed, 372 insertions, 0 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/antunit/taskdefs/optional/junit/junit-test.xml b/framework/src/ant/apache-ant-1.9.6/src/tests/antunit/taskdefs/optional/junit/junit-test.xml
new file mode 100644
index 00000000..e6aa794c
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/tests/antunit/taskdefs/optional/junit/junit-test.xml
@@ -0,0 +1,372 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<project default="antunit" xmlns:au="antlib:org.apache.ant.antunit">
+ <import file="../../../antunit-base.xml" />
+
+ <path id="junit">
+ <fileset dir="../../../../../../lib/optional" includes="junit*" />
+ <fileset dir="../../../../../../lib/optional" includes="hamcrest-core*" />
+ </path>
+
+ <macrodef name="empty-test">
+ <attribute name="classname" />
+ <attribute name="package" default="test" />
+ <sequential>
+ <echo file="${input}/@{classname}.java">
+ <![CDATA[
+package @{package};
+import junit.framework.TestCase;
+
+public class @{classname} extends TestCase {
+ public void testEmpty() {}
+}
+]]>
+ </echo>
+ </sequential>
+ </macrodef>
+
+ <target name="setUp">
+ <mkdir dir="${input}" />
+ <mkdir dir="${output}" />
+ </target>
+
+ <target name="testTimeoutLogOfBatchTests">
+ <mkdir dir="${input}" />
+ <mkdir dir="${output}" />
+ <empty-test classname="ATest" package="org.apache.ant.test" />
+ <echo file="${input}/BTest.java">
+ <![CDATA[
+package org.apache.ant.test;
+import junit.framework.TestCase;
+
+public class BTest extends TestCase {
+ public void testEmpty() throws Exception {
+ Thread.sleep(20 * 1000);
+ }
+}
+]]>
+ </echo>
+ <empty-test classname="CTest" package="org.apache.ant.test" />
+ <empty-test classname="DTest" package="org.apache.ant.test" />
+ <javac srcdir="${input}" destdir="${output}">
+ <classpath refid="junit" />
+ </javac>
+ <junit fork="true" forkMode="perBatch" timeout="5000" printsummary="yes">
+ <classpath refid="junit" />
+ <classpath location="${output}" />
+ <batchtest>
+ <fileset dir="${output}">
+ <include name="**/*Test.class" />
+ </fileset>
+ </batchtest>
+ </junit>
+ <au:assertLogContains text="ATest" />
+ <au:assertLogContains text="BTest" />
+ <au:assertLogContains text="org.apache.ant.test.Batch-With-Multiple-Tests" />
+ <au:assertLogDoesntContain text="CTest" />
+ <au:assertLogDoesntContain text="DTest" />
+ </target>
+
+ <target name="testFailurePropertyOnTestCase">
+ <mkdir dir="${input}" />
+ <mkdir dir="${output}" />
+ <echo file="${input}/ATest.java">
+ <![CDATA[
+package test;
+import junit.framework.TestCase;
+
+public class ATest extends TestCase {
+ public void testFail() {
+ assertTrue(false);
+ }
+}
+]]>
+ </echo>
+ <javac srcdir="${input}" destdir="${output}">
+ <classpath refid="junit" />
+ </javac>
+ <junit failureProperty="testcase.failed" haltonfailure="false">
+ <classpath refid="junit" />
+ <classpath location="${output}" />
+ <batchtest>
+ <fileset dir="${output}">
+ <include name="**/*Test.class" />
+ </fileset>
+ </batchtest>
+ </junit>
+ <au:assertPropertySet name="testcase.failed" />
+ </target>
+
+ <target name="testFailurePropertyOnTestSuite">
+ <mkdir dir="${input}" />
+ <mkdir dir="${output}" />
+ <echo file="${input}/ATest.java">
+ <![CDATA[
+package test;
+import junit.framework.Assert;
+import junit.framework.TestSuite;
+
+public class ATest extends TestSuite {
+ public ATest() {
+ super(test.ATest.class);
+ }
+ public void testFail() {
+ Assert.assertTrue(false);
+ }
+}
+]]>
+ </echo>
+ <javac srcdir="${input}" destdir="${output}">
+ <classpath refid="junit" />
+ </javac>
+ <junit failureProperty="testsuite.failed" haltonfailure="false">
+ <classpath refid="junit" />
+ <classpath location="${output}" />
+ <batchtest>
+ <fileset dir="${output}">
+ <include name="**/*Test.class" />
+ </fileset>
+ </batchtest>
+ </junit>
+ <au:assertPropertySet name="testsuite.failed" />
+ </target>
+
+ <target name="testTimeoutAndFormattersForkPerTest">
+ <antcall target="runTimeoutAndFormattersTest">
+ <param name="forkMode" value="perTest" />
+ </antcall>
+ <au:assertFileExists file="${output}/TEST-test.CTest.txt" />
+ <au:assertFileExists file="${output}/TEST-test.CTest.xml" />
+ <au:assertFileExists file="${output}/TEST-test.DTest.txt" />
+ <au:assertFileExists file="${output}/TEST-test.DTest.xml" />
+ </target>
+
+ <target name="testTimeoutAndFormattersForkOnce">
+ <antcall target="runTimeoutAndFormattersTest">
+ <param name="forkMode" value="once" />
+ </antcall>
+ <au:assertFileDoesntExist file="${output}/TEST-test.CTest.txt" />
+ <au:assertFileDoesntExist file="${output}/TEST-test.CTest.xml" />
+ <au:assertFileDoesntExist file="${output}/TEST-test.DTest.txt" />
+ <au:assertFileDoesntExist file="${output}/TEST-test.DTest.xml" />
+ </target>
+
+ <target name="runTimeoutAndFormattersTest" description="https://issues.apache.org/bugzilla/show_bug.cgi?id=35634">
+ <mkdir dir="${input}" />
+ <mkdir dir="${output}" />
+ <empty-test classname="ATest" />
+ <echo file="${input}/BTest.java">
+ <![CDATA[
+package test;
+import junit.framework.TestCase;
+
+public class BTest extends TestCase {
+ public void testEmpty() throws Exception {
+ Thread.sleep(20 * 1000);
+ }
+}
+]]>
+ </echo>
+ <empty-test classname="CTest" />
+ <empty-test classname="DTest" />
+ <javac srcdir="${input}" destdir="${output}">
+ <classpath refid="junit" />
+ </javac>
+ <junit fork="true" timeout="5000" forkmode="${forkMode}">
+ <classpath refid="junit" />
+ <classpath location="${output}" />
+ <batchtest todir="${output}">
+ <fileset dir="${output}">
+ <include name="**/*Test.class" />
+ </fileset>
+ </batchtest>
+ <formatter type="brief" />
+ <formatter type="xml" />
+ </junit>
+ <au:assertFileExists file="${output}/TEST-test.ATest.txt" />
+ <au:assertFileExists file="${output}/TEST-test.ATest.xml" />
+ <!--
+ <au:assertFileExists file="${output}/TEST-test.BTest.txt" />
+ <au:assertFileExists file="${output}/TEST-test.BTest.xml" />
+
+ These files should only exist if something was written to the log by te runner.
+ The test previously passed even though the files were empty, which isn't a meaningful result.
+ TODO we should probably improve the testing around reporting of tests that have timed-out
+ -->
+ </target>
+
+ <target name="-ifUnlessSetup" depends="setUp">
+ <empty-test classname="ATest" />
+ <empty-test classname="BTest" />
+ <empty-test classname="CTest" />
+ <empty-test classname="DTest" />
+ <empty-test classname="ETest" />
+ <empty-test classname="FTest" />
+ <empty-test classname="GTest" />
+ <empty-test classname="HTest" />
+ <javac srcdir="${input}" destdir="${output}">
+ <classpath refid="junit" />
+ </javac>
+ <macrodef name="j">
+ <sequential>
+ <junit fork="true" forkMode="perBatch" printsummary="yes">
+ <classpath refid="junit" />
+ <classpath location="${output}" />
+ <test name="test.ATest" if="${if}" />
+ <test name="test.BTest" if="if" />
+ <test name="test.CTest" unless="${if}" />
+ <test name="test.DTest" unless="if" />
+ <batchtest if="${if}">
+ <fileset dir="${output}">
+ <include name="**/ETest.class" />
+ </fileset>
+ </batchtest>
+ <batchtest if="if">
+ <fileset dir="${output}">
+ <include name="**/FTest.class" />
+ </fileset>
+ </batchtest>
+ <batchtest unless="${if}">
+ <fileset dir="${output}">
+ <include name="**/GTest.class" />
+ </fileset>
+ </batchtest>
+ <batchtest unless="if">
+ <fileset dir="${output}">
+ <include name="**/HTest.class" />
+ </fileset>
+ </batchtest>
+ </junit>
+ </sequential>
+ </macrodef>
+ </target>
+
+ <target name="testPropertiesNotSet" depends="-ifUnlessSetup">
+ <j />
+ <au:assertLogDoesntContain text="Running test.ATest" />
+ <au:assertLogDoesntContain text="Running test.BTest" />
+ <au:assertLogContains text="Running test.CTest" />
+ <au:assertLogContains text="Running test.DTest" />
+ <au:assertLogDoesntContain text="Running test.ETest" />
+ <au:assertLogDoesntContain text="Running test.FTest" />
+ <au:assertLogContains text="Running test.GTest" />
+ <au:assertLogContains text="Running test.HTest" />
+ </target>
+
+ <target name="testPropertiesSet" depends="-ifUnlessSetup">
+ <property name="if" value="whatever" />
+ <j />
+ <au:assertLogDoesntContain text="Running test.ATest" />
+ <au:assertLogContains text="Running test.BTest" />
+ <au:assertLogContains text="Running test.CTest" />
+ <au:assertLogDoesntContain text="Running test.DTest" />
+ <au:assertLogDoesntContain text="Running test.ETest" />
+ <au:assertLogContains text="Running test.FTest" />
+ <au:assertLogContains text="Running test.GTest" />
+ <au:assertLogDoesntContain text="Running test.HTest" />
+ </target>
+
+ <target name="testPropertiesTrue" depends="-ifUnlessSetup">
+ <property name="if" value="true" />
+ <j />
+ <au:assertLogContains text="Running test.ATest" />
+ <au:assertLogContains text="Running test.BTest" />
+ <au:assertLogDoesntContain text="Running test.CTest" />
+ <au:assertLogDoesntContain text="Running test.DTest" />
+ <au:assertLogContains text="Running test.ETest" />
+ <au:assertLogContains text="Running test.FTest" />
+ <au:assertLogDoesntContain text="Running test.GTest" />
+ <au:assertLogDoesntContain text="Running test.HTest" />
+ </target>
+
+ <target name="testPropertiesFalse" depends="-ifUnlessSetup">
+ <property name="if" value="false" />
+ <j />
+ <au:assertLogDoesntContain text="Running test.ATest" />
+ <au:assertLogContains text="Running test.BTest" />
+ <au:assertLogContains text="Running test.CTest" />
+ <au:assertLogDoesntContain text="Running test.DTest" />
+ <au:assertLogDoesntContain text="Running test.ETest" />
+ <au:assertLogContains text="Running test.FTest" />
+ <au:assertLogContains text="Running test.GTest" />
+ <au:assertLogDoesntContain text="Running test.HTest" />
+ </target>
+
+ <target name="testMissingTestName">
+ <property name="test.name" value="null" />
+ <au:expectfailure message="test name must be specified">
+ <junit fork="false">
+ <test name="${test.name}" />
+ </junit>
+ </au:expectfailure>
+ </target>
+
+ <target name="testTestMethods">
+ <condition property="source" value="6">
+ <isset property="jdk1.6+"/>
+ </condition>
+ <property name="source" value="5"/>
+ <echo file="${input}/T1.java">public class T1 extends
+ junit.framework.TestCase {
+ public void testOK() {}
+ public void testBad() {throw new RuntimeException("failed");}
+ }</echo>
+ <echo file="${input}/T2.java">
+ import org.junit.Test;
+ public class T2 {
+ @Test
+ public void ok() {}
+ @Test
+ public void bad() {
+ throw new RuntimeException("failed");}
+ }</echo>
+ <javac srcdir="${input}" destdir="${output}" includes="T1.java,T2.java" source="${source}" includeantruntime="false">
+ <classpath>
+ <path refid="junit" />
+ </classpath>
+ </javac>
+ <junit fork="true" printsummary="true" haltonerror="true">
+ <classpath>
+ <pathelement location="${output}" />
+ <path refid="junit" />
+ </classpath>
+ <test name="T1" methods="testOK" />
+ <test name="T2" methods="ok" />
+ </junit>
+ </target>
+
+ <target name="testClasspathBuildingSurvivesNonZips" depends="setUp"
+ description="https://issues.apache.org/bugzilla/show_bug.cgi?id=53964">
+ <empty-test classname="ATest" package="org.apache.ant.test" />
+ <javac srcdir="${input}" destdir="${output}">
+ <classpath refid="junit" />
+ </javac>
+ <junit fork="true" printsummary="true" haltonerror="true">
+ <classpath>
+ <pathelement location="${output}" />
+ <pathelement location="${ant.file}" />
+ <path refid="junit" />
+ </classpath>
+ <batchtest>
+ <fileset dir="${output}">
+ <include name="**/*Test.class" />
+ </fileset>
+ </batchtest>
+ </junit>
+ </target>
+</project>