aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/java.xml
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/java.xml')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/java.xml404
1 files changed, 404 insertions, 0 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/java.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/java.xml
new file mode 100644
index 00000000..a0c0450b
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/java.xml
@@ -0,0 +1,404 @@
+<?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 name="java-test" basedir="." default="foo">
+ <property name="tests-classpath.value" value="${java.class.path}"/>
+ <fail unless="tests-classpath.value"
+ message="the property tests-classpath.value is required by this test" />
+ <import file="../buildfiletest-base.xml"/>
+
+ <target name="setUp">
+ <mkdir dir="${output}" />
+ </target>
+
+ <!-- this property gets overridden programmatically-->
+ <property name="timeToWait" value="4"/>
+ <!-- this property gets overridden programmatically-->
+ <property name="logFile" value="${output}/spawn.log"/>
+ <property name="tmp" location="${output}/ant.tmp.java-test"/>
+ <mkdir dir="${tmp}" description="The directory must exist"/>
+ <property name="app"
+ value="org.apache.tools.ant.taskdefs.JavaTest$$EntryPoint" />
+
+ <property name="app2"
+ value="org.apache.tools.ant.taskdefs.JavaTest$$ExceptingEntryPoint" />
+
+ <property name="spawnapp"
+ value="org.apache.tools.ant.taskdefs.JavaTest$$SpawnEntryPoint" />
+
+ <property name="pipeapp"
+ value="org.apache.tools.ant.taskdefs.JavaTest$$PipeEntryPoint" />
+
+ <target name="testNoJarNoClassname">
+ <java/>
+ </target>
+
+ <target name="testJarNoFork">
+ <java jar="test.jar" fork="false"/>
+ </target>
+
+
+ <target name="testJarAndClassName">
+ <java jar="test.jar" classname="${app}" />
+ </target>
+
+ <target name="testClassnameAndJar">
+ <java classname="${app}" jar="test.jar" />
+ </target>
+
+ <target name="testRun">
+ <fail unless="tests-classpath.value" />
+ <java classname="${app}"
+ classpath="${tests-classpath.value}"/>
+ </target>
+
+ <target name="testRunFail">
+ <java classname="${app}"
+ classpath="${tests-classpath.value}"
+ >
+ <arg value="2"/>
+ </java>
+ </target>
+
+ <target name="testRunFailFoe">
+ <java classname="${app}"
+ classpath="${tests-classpath.value}"
+ failonerror="true">
+ <arg value="2"/>
+ </java>
+ </target>
+
+ <target name="testRunFailFoeFork">
+ <java classname="${app}"
+ classpath="${tests-classpath.value}"
+ failonerror="true"
+ fork="true">
+ <arg value="2"/>
+ </java>
+ </target>
+
+ <target name="testExcepting">
+ <java classname="${app2}"
+ classpath="${tests-classpath.value}"
+ >
+ </java>
+ </target>
+
+ <target name="testExceptingFork">
+ <java classname="${app2}"
+ classpath="${tests-classpath.value}"
+ fork="true">
+ </java>
+ </target>
+
+ <target name="testExceptingFoe">
+ <java classname="${app2}"
+ classpath="${tests-classpath.value}"
+ failonerror="true">
+ </java>
+ </target>
+
+ <target name="testExceptingFoeFork">
+ <java classname="${app2}"
+ classpath="${tests-classpath.value}"
+ failonerror="true"
+ fork="true">
+ </java>
+ </target>
+
+ <target name="testResultPropertyZero">
+ <java classname="${app}"
+ classpath="${tests-classpath.value}"
+ resultproperty="exitcode"
+ fork="true"
+ >
+ </java>
+ <echo message="exitcode = ${exitcode}"/>
+ </target>
+
+ <target name="testResultPropertyNonZero">
+ <java classname="${app}"
+ classpath="${tests-classpath.value}"
+ resultproperty="exitcode"
+ failonerror="false"
+ fork="true"
+ >
+ <arg value="2"/>
+ </java>
+ <echo message="exitcode = ${exitcode}"/>
+ </target>
+
+ <target name="testResultPropertyZeroNoFork">
+ <java classname="${app}"
+ classpath="${tests-classpath.value}"
+ resultproperty="exitcode"
+ fork="false"
+ >
+ <permissions/>
+ </java>
+ <echo message="exitcode = ${exitcode}"/>
+ </target>
+
+ <target name="testResultPropertyNonZeroNoFork">
+ <java classname="${app}"
+ classpath="${tests-classpath.value}"
+ resultproperty="exitcode"
+ failonerror="false"
+ fork="false">
+ <arg value="-1"/>
+ <permissions/>
+ </java>
+ <echo message="exitcode = ${exitcode}"/>
+ </target>
+
+ <target name="testRunFailWithFailOnError">
+ <java classname="${app}"
+ classpath="${tests-classpath.value}"
+ failonerror="true"
+ >
+ <arg value="2"/>
+ </java>
+ </target>
+
+ <target name="testRunSuccessWithFailOnError">
+ <java classname="${app}"
+ classpath="${tests-classpath.value}"
+ failonerror="true"
+ >
+ <arg value="0"/>
+ </java>
+ </target>
+
+ <target name="testSpawn">
+ <java classname="${spawnapp}" fork="true" spawn="true" classpath="${tests-classpath.value}">
+ <arg value="${timeToWait}"/>
+ <arg value="${logFile}" />
+ </java>
+ </target>
+
+ <!--redirection testcases don't want to run under junit unless forked-->
+ <target name="redirect1">
+ <tempfile property="outfile" destdir="${tmp}" prefix="redirect" suffix=".out" deleteonexit="true"/>
+
+ <java classname="${pipeapp}"
+ classpath="${tests-classpath.value}"
+ inputstring="foo"
+ fork="true"
+ output="${outfile}"
+ errorproperty="redirect.err">
+ <arg value="out" />
+ </java>
+
+ <!-- let dumb Windows catch up -->
+ <waitfor maxwait="30000">
+ <available file="${outfile}" />
+ </waitfor>
+ <waitfor maxwait="30000">
+ <length file="${outfile}" length="1" when="greater" />
+ </waitfor>
+
+ <loadfile property="redirect.out.contents" srcfile="${outfile}" />
+
+ <condition property="r1file">
+ <equals arg1="${redirect.out.contents}" arg2="foo" />
+ </condition>
+
+ <fail unless="r1file">${outfile}:
+&quot;${redirect.out.contents}&quot; expected &quot;foo&quot;</fail>
+
+ <condition property="r1prop">
+ <equals arg1="${redirect.err}" arg2="" />
+ </condition>
+
+ <fail unless="r1prop">
+redirect.err=&quot;${redirect.err}&quot; should be empty</fail>
+
+ </target>
+
+ <target name="redirect2" depends="redirect1">
+ <tempfile property="outfile" destdir="${tmp}" prefix="redirect" suffix=".out" deleteonexit="true"/>
+
+ <java classname="${pipeapp}"
+ classpath="${tests-classpath.value}"
+ inputstring="bar"
+ append="true"
+ fork="true"
+ output="${outfile}"
+ errorproperty="redirect.err">
+ <arg value="both" />
+ </java>
+
+ <!-- let dumb Windows catch up -->
+ <waitfor maxwait="30000">
+ <available file="${outfile}" />
+ </waitfor>
+ <waitfor maxwait="30000">
+ <length file="${outfile}" length="1" when="greater" />
+ </waitfor>
+
+
+ <loadfile property="redirect.out.contents2" srcfile="${outfile}" />
+
+ <condition property="r2file">
+ <equals arg1="${redirect.out.contents2}" arg2="foobar" />
+ </condition>
+
+ <fail unless="r2file">${outfile}:
+&quot;${redirect.out.contents2}&quot; expected &quot;foobar&quot;</fail>
+
+ <condition property="r2prop">
+ <!-- property should not change -->
+ <equals arg1="${redirect.err}" arg2="" />
+ </condition>
+
+ <fail unless="r2prop">
+redirect.err=&quot;${redirect.err}&quot; should be empty</fail>
+
+ </target>
+
+ <target name="redirect3">
+ <tempfile property="outfile" destdir="${tmp}" prefix="redirect" suffix=".out" deleteonexit="true"/>
+ <tempfile property="errfile" destdir="${tmp}" prefix="redirect" suffix=".err" deleteonexit="true"/>
+
+ <java classname="${pipeapp}"
+ classpath="${tests-classpath.value}"
+ inputstring="foo"
+ fork="true"
+ output="${outfile}"
+ error="${errfile}">
+ <arg value="both" />
+ </java>
+
+ <!-- let dumb Windows catch up -->
+ <waitfor>
+ <and>
+ <available file="${outfile}" />
+ <available file="${errfile}" />
+ </and>
+ </waitfor>
+
+ <loadfile property="redirect.out.contents" srcfile="${outfile}" />
+
+ <condition property="r3file">
+ <equals arg1="${redirect.out.contents}" arg2="foo" />
+ </condition>
+
+ <fail unless="r3file">${outfile}:
+&quot;${redirect.out.contents}&quot; expected &quot;foo&quot;</fail>
+
+ <condition property="r3match">
+ <filesmatch file1="${outfile}" file2="${errfile}" />
+ </condition>
+
+ <fail unless="r3file">${errfile} differs from ${outfile}</fail>
+
+ </target>
+
+ <target name="redirector1">
+ <tempfile property="outfile" destdir="${tmp}" prefix="redirect" suffix=".out" deleteonexit="true"/>
+ <tempfile property="errfile" destdir="${tmp}" prefix="redirect" suffix=".err" deleteonexit="true"/>
+
+ <java taskname="foo" classname="${pipeapp}" fork="true"
+ classpath="${tests-classpath.value}">
+ <redirector inputstring="foo"
+ output="${outfile}"
+ error="${errfile}"
+ createemptyfiles="false" />
+ <arg value="out" />
+ </java>
+
+ <!-- let dumb Windows catch up -->
+ <waitfor>
+ <available file="${outfile}" />
+ </waitfor>
+
+ <loadfile property="redirector.out.contents" srcfile="${outfile}" />
+
+ <condition property="ror1out">
+ <equals arg1="${redirector.out.contents}" arg2="foo" />
+ </condition>
+
+ <fail unless="ror1out">${outfile}:
+&quot;${redirector.out.contents}&quot; expected &quot;foo&quot;</fail>
+
+ <condition property="ror1noerr">
+ <not>
+ <available file="${errfile}" />
+ </not>
+ </condition>
+ <fail unless="ror1noerr">${errfile} exists but should not</fail>
+ </target>
+
+ <target name="redirector2" depends="redirector1">
+ <tempfile property="outfile" destdir="${tmp}" prefix="redirect" suffix=".out" deleteonexit="true"/>
+ <tempfile property="errfile" destdir="${tmp}" prefix="redirect" suffix=".err" deleteonexit="true"/>
+
+ <!-- fork here; some VMs can be ill-behaved with files,
+ such as W!nd0ws -->
+ <java taskname="foo" classname="${pipeapp}" fork="true"
+ classpath="${tests-classpath.value}">
+ <redirector inputstring="foo"
+ append="true"
+ output="${outfile}"
+ error="${errfile}"
+ createemptyfiles="false">
+ <errorfilterchain>
+ <replacestring from="foo" to="bar" />
+ </errorfilterchain>
+ </redirector>
+ <arg value="both" />
+ </java>
+
+ <!-- let dumb Windows catch up -->
+ <waitfor>
+ <and>
+ <available file="${outfile}" />
+ <available file="${errfile}" />
+ </and>
+ </waitfor>
+
+ <loadfile property="redirector.out.contents2"
+ srcfile="${outfile}" />
+
+ <loadfile property="redirector.err.contents"
+ srcfile="${errfile}" />
+
+ <condition property="ror2out">
+ <equals arg1="${redirector.out.contents2}" arg2="foofoo" />
+ </condition>
+
+ <fail unless="ror1out">${outfile}:
+&quot;${redirector.out.contents}&quot; expected &quot;foofoo&quot;</fail>
+
+ <condition property="ror2err">
+ <equals arg1="${redirector.err.contents}" arg2="bar" />
+ </condition>
+
+ <fail unless="ror1out">${errfile}:
+&quot;${redirector.err.contents}&quot; expected &quot;bar&quot;</fail>
+
+ </target>
+
+ <target name="flushedInput">
+ <java classname="org.apache.tools.ant.taskdefs.JavaTest$$ReadPoint" fork="true"
+ classpath="${tests-classpath.value}" failonerror="true" timeout="2000" />
+ </target>
+
+ <target name="foo" />
+
+</project>