diff options
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.xml | 404 |
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}: +"${redirect.out.contents}" expected "foo"</fail> + + <condition property="r1prop"> + <equals arg1="${redirect.err}" arg2="" /> + </condition> + + <fail unless="r1prop"> +redirect.err="${redirect.err}" 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}: +"${redirect.out.contents2}" expected "foobar"</fail> + + <condition property="r2prop"> + <!-- property should not change --> + <equals arg1="${redirect.err}" arg2="" /> + </condition> + + <fail unless="r2prop"> +redirect.err="${redirect.err}" 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}: +"${redirect.out.contents}" expected "foo"</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}: +"${redirector.out.contents}" expected "foo"</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}: +"${redirector.out.contents}" expected "foofoo"</fail> + + <condition property="ror2err"> + <equals arg1="${redirector.err.contents}" arg2="bar" /> + </condition> + + <fail unless="ror1out">${errfile}: +"${redirector.err.contents}" expected "bar"</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> |