diff options
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs')
323 files changed, 20769 insertions, 0 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/abstractcvstask.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/abstractcvstask.xml new file mode 100644 index 00000000..5de8b5e7 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/abstractcvstask.xml @@ -0,0 +1,47 @@ +<?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="abstractcvstask-test" basedir="../../../../" + default="tearDown"> + + <import file="../buildfiletest-base.xml" optional="false"/> + + <target name="setUp"> + <mkdir dir="${output}"/> + </target> + + <target name="package-attribute"> + <cvs cvsroot="anoncvs@anoncvs.ca.openbsd.org:/cvs" + package="src/Makefile" + dest="${output}" + quiet="true" /> + </target> + + <target name="tag-attribute"> + <cvs cvsroot="anoncvs@anoncvs.ca.openbsd.org:/cvs" + package="src/Makefile" + dest="${output}" + quiet="true" + tag="OPENBSD_5_3" /> + <cvs cvsroot="anoncvs@anoncvs.ca.openbsd.org:/cvs" + package="src/Makefile" + dest="${output}" + command="status"/> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/ant.topleveltest.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/ant.topleveltest.xml new file mode 100644 index 00000000..65bc7291 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/ant.topleveltest.xml @@ -0,0 +1,20 @@ +<?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> + <echo>Hello world</echo> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/ant.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/ant.xml new file mode 100644 index 00000000..33ef1dab --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/ant.xml @@ -0,0 +1,261 @@ +<?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="ant-test" basedir="." default="test1"> + + <path id="inheritable"> + <pathelement path="${java.class.path}" /> + </path> + + <target name="cleanup"> + <delete file="test1.log" /> + <delete file="test2.log" /> + <delete file="ant/test3.log" /> + <delete file="ant/test4.log" /> + </target> + + <target name="all" depends="test1,test2,test3,test4"/> + + <target name="test1"> + <ant antfile="ant.xml" dir="." target="test1"/> + </target> + + <target name="test2"> + <antcall/> + </target> + + <target name="test3"> + <antcall target="test3"/> + </target> + + <target name="test4"> + <antcall target=""/> + </target> + + <target name="test4b"> + <antcall target="does-not-exist"/> + </target> + + <target name="test5"> + <antcall target="dummy"/> + </target> + + <target name="test6"> + <ant antfile="ant.xml" dir="." target="dummy"/> + </target> + + <target name="dummy"> + </target> + + <target name="inheritBasedir"> + <ant antfile="ant/ant.xml" target="dummy" inheritAll="true" /> + </target> + + <target name="doNotInheritBasedir"> + <ant antfile="ant/ant.xml" target="dummy" inheritAll="false" /> + </target> + + <target name="explicitBasedir1"> + <ant antfile="taskdefs/ant/ant.xml" target="dummy" inheritAll="true" + dir=".." /> + </target> + + <target name="explicitBasedir2"> + <ant antfile="taskdefs/ant/ant.xml" target="dummy" inheritAll="false" + dir=".." /> + </target> + + <target name="tripleCall"> + <ant antfile="ant/ant.xml" target="callback" inheritAll="false" /> + </target> + + <target name="testInherit"> + <ant antfile="ant/references.xml" inheritRefs="true" target="dummy" /> + </target> + + <target name="testNoInherit"> + <ant antfile="ant/references.xml" inheritRefs="false" target="dummy" /> + </target> + + <target name="testRename"> + <ant antfile="ant/references.xml" inheritRefs="false" target="dummy"> + <reference refid="path" torefid="newpath" /> + </ant> + </target> + + <target name="testInheritPath" description="try to pass a reference to a path, which refers itself to a second path"> + <property name="rootdir" location="."/> + <path id="project.classpath"> + <pathelement location="../classes"/> + </path> + <path id="test.classpath"> + <pathelement location="${rootdir}/test/testframework.jar"/> + <path refid="project.classpath"/> + </path> + <ant antfile="ant/references.xml" target="testInheritPath"> + <reference refid="test.classpath"/> + </ant> + </target> + + <target name="testLogfilePlacement"> + <ant antfile="ant.xml" target="dummy" output="test1.log" + inheritall="false" /> + <ant antfile="ant.xml" target="dummy" output="test2.log" /> + <ant antfile="ant.xml" target="dummy" output="test3.log" + inheritall="false" dir="ant" /> + <ant antfile="ant.xml" target="dummy" output="test4.log" + dir="ant" /> + </target> + + <target name="testRefid"> + <ant antfile="ant/references.xml" inheritRefs="false" target="dummy"> + <property name="testprop" refid="inheritable" /> + </ant> + </target> + + <target name="test-property-override-inheritall-start"> + <property name="test" value="1" /> + <ant antfile="ant.xml" + target="test-property-override-inheritall-level-2" + inheritall="true"> + <property name="test" value="2" /> + </ant> + </target> + + <target name="test-property-override-inheritall-level-2"> + <property name="test" value="3" /> + <ant antfile="ant.xml" + target="test-property-override-inheritall-level-3" + inheritall="true"> + <property name="test" value="4" /> + </ant> + </target> + + <target name="test-property-override-inheritall-level-3"> + <property name="test" value="5" /> + <echo message="The value of test is ${test}" /> + </target> + + <target name="test-property-override-no-inheritall-start"> + <property name="test" value="1" /> + <ant antfile="ant.xml" + target="test-property-override-no-inheritall-level-2" + inheritall="false"> + <property name="test" value="2" /> + </ant> + </target> + + <target name="test-property-override-no-inheritall-level-2"> + <property name="test" value="3" /> + <ant antfile="ant.xml" + target="test-property-override-no-inheritall-level-3" + inheritall="false"> + <property name="test" value="4" /> + </ant> + </target> + + <target name="test-property-override-no-inheritall-level-3"> + <property name="test" value="5" /> + <echo message="The value of test is ${test}" /> + </target> + + <target name="test-propertyset"> + <property name="test1" value="1"/> + <property name="test2" value="2"/> + <propertyset id="set"> + <propertyref name="test1"/> + <mapper type="glob" from="*" to="*.x"/> + </propertyset> + <ant antfile="ant.xml" target="echo-for-propertyset-test" + inheritall="false"> + <propertyset refid="set"/> + </ant> + </target> + + <target name="echo-for-propertyset-test"> + <echo>test1 is ${test1}</echo> + <echo>test2 is ${test2}</echo> + <echo>test1.x is ${test1.x}</echo> + </target> + + <target name="infinite-loop-via-depends"> + <antcall target="dependent"/> + </target> + + <target name="middleman" depends="infinite-loop-via-depends"/> + <target name="dependent" depends="middleman"/> + + <target name="multi-same-property"> + <ant antfile="ant.xml" target="echo-for-multi-same"> + <property name="prop" value="one"/> + <property name="prop" value="two"/> + </ant> + </target> + + <target name="echo-for-multi-same"> + <echo>prop is ${prop}</echo> + </target> + + <target name="topleveltarget"> + <ant antfile="ant.topleveltest.xml"/> + </target> + + <target name="multiple-property-file-children"> + <ant target="dummy" antfile="ant.xml"> + <property file="foo.properties"/> + <property file="bar.properties"/> + </ant> + </target> + + <target name="blank-target"> + <ant antfile="ant.topleveltest.xml"> + <target name="" /> + </ant> + </target> + + <target name="multiple-targets"> + <ant antfile="ant.xml"> + <target name="ta" /> + <target name="tb" /> + <target name="tc" /> + </ant> + </target> + + <target name="multiple-targets-2"> + <ant antfile="ant.xml"> + <target name="tb" /> + <target name="da" /> + </ant> + </target> + + <target name="ta"><echo>ta</echo></target> + <target name="tb" depends="da,dc"><echo>tb</echo></target> + <target name="tc" depends="db,dc"><echo>tc</echo></target> + + <target name="da"><echo>da</echo></target> + <target name="db"><echo>db</echo></target> + <target name="dc"><echo>dc</echo></target> + + <target name="show-ant.core.lib"> + <echo>${ant.core.lib}</echo> + </target> + <target name="sub-show-ant.core.lib"> + <ant antfile="${ant.file}" target="show-ant.core.lib" inheritall="false" inheritrefs="false"/> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/ant/ant.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/ant/ant.xml new file mode 100644 index 00000000..52c9a70d --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/ant/ant.xml @@ -0,0 +1,33 @@ +<?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="test" default="def" basedir="."> + + <target name="def"> + <fail>This build file should only be run from within the testcase</fail> + </target> + + <target name="dummy"> + <echo message="${basedir}" /> + </target> + + <target name="callback"> + <ant antfile="../ant.xml" target="dummy" inheritAll="false" /> + </target> + + +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/ant/references.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/ant/references.xml new file mode 100644 index 00000000..0f3a6930 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/ant/references.xml @@ -0,0 +1,33 @@ +<?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="test" default="def" basedir="."> + + <path id="no-override" /> + + <target name="def"> + <fail>This build file should only be run from within the testcase</fail> + </target> + + <target name="dummy" /> + + <target name="testInheritPath"> + <pathconvert refid="test.classpath" pathsep="${line.separator}" property="myprop"/> + <echo>${myprop}</echo> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/antlib.current-test.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/antlib.current-test.xml new file mode 100644 index 00000000..0ad44dbd --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/antlib.current-test.xml @@ -0,0 +1,29 @@ +<?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. +--> +<antlib xmlns:c="ant:current"> + <typedef name="echo2" classname="org.apache.tools.ant.taskdefs.Echo"/> + <presetdef name="preset.echo"> + <typedef classname="org.apache.tools.ant.taskdefs.Echo"/> + </presetdef> + <c:preset.echo name="p"/> + <macrodef name="useecho2"> + <sequential> + <c:echo2>Echo2 inside a macro</c:echo2> + </sequential> + </macrodef> +</antlib> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/antlib.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/antlib.xml new file mode 100644 index 00000000..d1c4061e --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/antlib.xml @@ -0,0 +1,72 @@ +<?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="test"> + + <property name="testcases.dir" location="../../../../build/testcases"/> + + <path id="testclasses"> + <pathelement location="${testcases.dir}" /> + <pathelement path="${java.class.path}" /> + </path> + + <target name="antlib.file"> + <typedef file="test.antlib.xml" + classpathref="testclasses"/> + <mytask/> + </target> + + <target name="antlib.resource"> + <typedef resource="taskdefs/test.antlib.xml"> + <classpath> + <!-- To load the task classes: --> + <path refid="testclasses"/> + <!-- For test.antlib.xml: --> + <pathelement location=".."/> + <!-- For test2.antlib.xml: --> + <pathelement location="${testcases.dir}/org/apache/tools/ant/taskdefs/test2-antlib.jar"/> + </classpath> + </typedef> + <mytask/> + <echo>-and-then-</echo> + <mytask2/> + </target> + + <target name="ns.current"> + <typedef file="antlib.current-test.xml" uri="abc"/> + <x:useecho2 xmlns:x="abc"/> + <x:preset.echo xmlns:x="abc" name="p"/> + <x:p xmlns:x="abc">Hello from x:p</x:p> + </target> + + <target name="antlib_uri" > + <typedef uri="antlib:org.example.tasks" onerror="failall"/> + </target> + + <target name="antlib_uri_auto" xmlns:ex="antlib:org.example.tasks"> + <ex:simple> + <echo message="inside simple" /> + </ex:simple> + </target> + + <target name="antlib_uri_auto2" xmlns:ex="antlib://org/example/tasks/antlib2.xml"> + <ex:simple> + <echo message="inside simple"/> + </ex:simple> + </target> + +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/antstructure.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/antstructure.xml new file mode 100644 index 00000000..516a9735 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/antstructure.xml @@ -0,0 +1,41 @@ +<?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="antstructure-test" basedir="." default="test1"> + + <target name="test1"> + <antstructure/> + </target> + + <target name="testCustomPrinter"> + <typedef name="myprinter" + classname="org.apache.tools.ant.taskdefs.AntStructureTest$MyPrinter"> + <classpath> + <pathelement path="${tests-classpath.value}"/> + </classpath> + </typedef> + <antstructure output="foo.dtd"> + <myprinter/> + </antstructure> + </target> + + <target name="tearDown"> + <delete file="foo.dtd" quiet="true"/> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/available.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/available.xml new file mode 100644 index 00000000..324c054d --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/available.xml @@ -0,0 +1,269 @@ +<?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="available-test" basedir="." default="test1"> + + <import file="../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}" /> + </target> + + <target name="test1"> + <available/> + </target> + + <target name="test2"> + <available property="test"/> + </target> + + <target name="test3"> + <available file="test"/> + </target> + + <target name="test4"> + <available property="test" + file="src/etc/testcases/taskdefs/this_file_does_not_exist"/> + </target> + + <target name="test5"> + <available property="test" + file="available.xml"/> + </target> + + <target name="test6"> + <available property="test" + resource="org/apache/tools/ant/taskdefs/this_resource_does_not_exist"/> + </target> + + <target name="test7"> + <available property="test" + resource="org/apache/tools/ant/taskdefs/defaults.properties"/> + </target> + + <target name="test8"> + <available property="test" + classname="org.apache.tools.ant.taskdefs.this_class_does_not_exist"/> + </target> + + <target name="test9"> + <available property="test" + classname="org.apache.tools.ant.taskdefs.Ant"/> + </target> + + <target name="test10"> + <available property="test" + file="available.xml" + resource="org/apache/tools/ant/taskdefs/defaults.properties" + classname="org.apache.tools.ant.taskdefs.Ant"/> + </target> + + <target name="test11"> + <available property="test" + file="src/etc/testcases/taskdefs/available.xml" + resource="org/apache/tools/ant/taskdefs/defaults.properties" + classname="org.apache.tools.ant.taskdefs.this_class_does_not_exist"/> + </target> + + <target name="test12"> + <available property="" + file="available.xml"/> + </target> + + <target name="test13"> + <available property="test" + file="" type="file" /> + </target> + + <target name="test13b"> + <available property="test" + file=""/> + </target> + + <target name="test14"> + <available property="test" + resource=""/> + </target> + + <target name="test15"> + <available property="test" + classname="org.apache.tools.ant.taskdefs.this_class_does_not_exist"/> + </target> + + <target name="test16"> + <available property="test" + file="" type="dir"/> + </target> + + <target name="test17"> + <available property="test" + file="../taskdefs" type="dir"/> + </target> + + <target name="test18"> + <available property="test" + file="../this_dir_should_never_exist" type="dir"/> + </target> + + <target name="test19"> + <available property="test" + file="available.xml" type="Foo"/> + </target> + + <target name="test20"> + <available property="test" ignoresystemclasses="true" + classname="java.awt.Graphics"/> + </target> + + <target name="test21"> + <available property="test" ignoresystemclasses="true" + classname="org.apache.tools.ant.launch.AntMain"> + <classpath> + <pathelement location="${ant.home}/lib/ant-launcher.jar" /> + </classpath> + </available> + </target> + + <target name="test22"> + <available property="test" ignoresystemclasses="false" + classname="java.awt.Graphics"/> + </target> + + <target name="test23"> + <available property="test" + classname="java.awt.Graphics"/> + </target> + + <target name="test24"> + <!-- create a dummy file and look for it --> + <mkdir dir="${output}/test"/> + <echo message="package test;public class test {}" file="${output}/test/test.java"/> + <javac srcdir="${output}" includes="test/test.java"/> + <jar destfile="${output}/test.jar" basedir="${output}" includes="test/test.class"/> + <available property="test" + classname="test.test" classpath="${output}/test.jar"/> + </target> + + <target name="searchInPathNotThere"> + <available file="not_there" filepath="..:optional" + property="test" /> + </target> + + <target name="searchInPathIsThere"> + <available file="pvcs.xml" filepath="..:optional" + property="test" /> + </target> + + <target name="testDoubleBasedir"> + <echo>testing ${basedir}${file.separator}${ant.file}</echo> + <fail> + <condition> + <available file="${basedir}${file.separator}${ant.file}" /> + </condition> + </fail> + </target> + + <target name="prep.parents"> + <mkdir dir="${output}/greatgrandparent/grandparent/parent/dir"/> + <touch file="${output}/greatgrandparent/a.txt"/> + <touch file="${output}/greatgrandparent/grandparent/b.txt"/> + <touch file="${output}/greatgrandparent/grandparent/parent/c.txt"/> + <touch file="${output}/greatgrandparent/grandparent/parent/dir/d.txt"/> + <property name="available.test.dir" + value="${output}/greatgrandparent/grandparent/parent/dir"/> + </target> + <target name="search-parents" depends="prep.parents"> + <echo>testing greatgrandparent - should see</echo> + + <fail> + <condition> + <not> + <available file="a.txt" searchparents="yes"> + <filepath path="${available.test.dir}"/> + </available> + </not> + </condition> + </fail> + + <echo>testing grandparent - should see</echo> + <fail> + <condition> + <not> + <available file="b.txt" searchparents="yes"> + <filepath path="${available.test.dir}"/> + </available> + </not> + </condition> + </fail> + + <echo>testing parent - should see</echo> + <fail> + <condition> + <not> + <available file="c.txt" searchparents="yes"> + <filepath path="${available.test.dir}"/> + </available> + </not> + </condition> + </fail> + + <echo>testing dir - should see</echo> + <fail> + <condition> + <not> + <available file="d.txt" searchparents="yes"> + <filepath path="${available.test.dir}"/> + </available> + </not> + </condition> + </fail> + + </target> + + <target name="search-parents-not" depends="prep.parents"> + <echo>testing grandparent - should not see</echo> + <fail> + <condition> + <available file="b.txt"> + <filepath path="${available.test.dir}"/> + </available> + </condition> + </fail> + + <echo>testing parent - should not see</echo> + <fail> + <condition> + <available file="c.txt"> + <filepath path="${available.test.dir}"/> + </available> + </condition> + </fail> + + <echo>testing dir - should see</echo> + <fail> + <condition> + <not> + <available file="d.txt"> + <filepath path="${available.test.dir}"/> + </available> + </not> + </condition> + </fail> + + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/bar.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/bar.properties new file mode 100644 index 00000000..c64b91ea --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/bar.properties @@ -0,0 +1,15 @@ +# 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. +bar=Bar diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/basename.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/basename.xml new file mode 100644 index 00000000..c5fd2abc --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/basename.xml @@ -0,0 +1,57 @@ +<?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="xxx-test" basedir="." default="test1"> + + <target name="test1"> + <basename/> + </target> + + <target name="test2"> + <basename property="propname"/> + </target> + + <target name="test3"> + <basename file="filename"/> + </target> + + <target name="test4"> + <basename property="file.w.suf" file="${user.dir}/foo.txt"/> + </target> + + <target name="test5"> + <basename property="file.wo.suf" file="foo.txt" suffix="txt"/> + </target> + + <target name="testMultipleDots"> + <basename property="file.wo.suf" file="foo.bar.txt" suffix="txt"/> + </target> + + <target name="testNoDots"> + <basename property="file.wo.suf" file="foo.bartxt" suffix="txt"/> + </target> + + <target name="testValueEqualsSuffixWithDot"> + <basename property="file.wo.suf" file=".txt" suffix=".txt"/> + </target> + + <target name="testValueEqualsSuffixWithoutDot"> + <basename property="file.wo.suf" file=".txt" suffix="txt"/> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/bunzip2.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/bunzip2.xml new file mode 100644 index 00000000..8ae17580 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/bunzip2.xml @@ -0,0 +1,47 @@ +<?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 basedir="." default="tearDown"> + + <import file="../buildfiletest-base.xml"/> + + <target name="prepare"> + <mkdir dir="${output}"/> + <gunzip src="expected/asf-logo-huge.tar.gz" + dest="${output}/asf-logo-huge-from-gzip.tar"/> + </target> + + <target name="realTest"> + <bunzip2 src="expected/asf-logo-huge.tar.bz2" dest="${output}/asf-logo-huge.tar" /> + </target> + + <target name="realTestWithResource"> + <bunzip2 dest="${output}/asf-logo-huge.tar"> + <file file="expected/asf-logo-huge.tar.bz2"/> + </bunzip2> + </target> + + <target name="testDocumentationClaimsOnCopy"> + <copy todir="${output}"> + <bzip2resource> + <file file="expected/asf-logo-huge.tar.bz2"/> + </bzip2resource> + <mapper type="glob" from="*.bz2" to="*"/> + </copy> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/bzip2.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/bzip2.xml new file mode 100644 index 00000000..e133dae0 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/bzip2.xml @@ -0,0 +1,44 @@ +<?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 basedir="." default="cleanup"> + + <import file="../buildfiletest-base.xml"/> + + <target name="realTest"> + <bzip2 src="${output}/asf-logo-huge-from-gzip.tar" + zipfile="${output}/asf-logo-huge.tar.bz2" /> + </target> + + <target name="realTestWithResource"> + <bzip2 zipfile="${output}/asf-logo-huge.tar.bz2"> + <file file="${output}/asf-logo-huge-from-gzip.tar"/> + </bzip2> + </target> + + <target name="testDateCheck"> + <touch file="${output}/asf-logo.gif.bz2"/> + <bzip2 src="../asf-logo.gif" zipfile="${output}/asf-logo.gif.bz2" /> + </target> + + <target name="prepare"> + <mkdir dir="${output}"/> + <gunzip src="expected/asf-logo-huge.tar.gz" + dest="${output}/asf-logo-huge-from-gzip.tar"/> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/calltarget.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/calltarget.xml new file mode 100644 index 00000000..4c3af92e --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/calltarget.xml @@ -0,0 +1,120 @@ +<?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="calltarget-test" default="testinheritreffileset" basedir="."> + + <import file="../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}"/> + </target> + + <target name="mytarget"> + <pathconvert property="myproperty" targetos="unix" refid="myfileset"/> + <echo message="myproperty=${myproperty}"/> + </target> + + <target name="testinheritreffileset"> + <!-- this testcase should show that the fileset defined here + can be read in the called target --> + <fileset dir="." id="myfileset"> + <include name="calltarget.xml"/> + </fileset> + <antcall target="mytarget" inheritrefs="true"/> + </target> + + <target name="copytest2"> + <copy file="${output}/copytest.in" toFile="${output}/copytest1.out" overwrite="true"> + <filterset refid="foo"/> + </copy> + </target> + + <target name="testinheritreffilterset" depends="setUp"> + <echo file="${output}/copytest.in">@@foo@@</echo> + <filterset id="foo" begintoken="@@" endtoken="@@"> + <filter token="foo" value="bar"/> + </filterset> + <antcall target="copytest2" inheritrefs="true"/> + <copy file="${output}/copytest.in" toFile="${output}/copytest2.out" overwrite="true"> + <filterset refid="foo"/> + </copy> + <loadfile srcFile="${output}/copytest2.out" property="copytest2"/> + <loadfile srcFile="${output}/copytest1.out" property="copytest1"/> + <condition property="success"> + <equals arg1="${copytest1}" arg2="${copytest2}"/> + </condition> + <fail message="filterset not properly passed across by antcall" unless="success"/> + </target> + + <property name="multi" value="DEFAULT"/> + + <target name="multi"> + <echo>multi is ${multi}</echo> + </target> + + <target name="call-multi"> + <antcall target="multi"> + <param name="multi" value="SET"/> + </antcall> + </target> + + <target name="blank-target"> + <antcall> + <target name=""/> + </antcall> + </target> + + <target name="multiple-targets"> + <antcall> + <target name="ta"/> + <target name="tb"/> + <target name="tc"/> + </antcall> + </target> + + <target name="multiple-targets-2"> + <ant antfile="ant.xml"> + <target name="tb"/> + <target name="da"/> + </ant> + </target> + + <target name="ta"> + <echo>ta</echo> + </target> + + <target name="tb" depends="da,dc"> + <echo>tb</echo> + </target> + + <target name="tc" depends="db,dc"> + <echo>tc</echo> + </target> + + <target name="da"> + <echo>da</echo> + </target> + + <target name="db"> + <echo>db</echo> + </target> + + <target name="dc"> + <echo>dc</echo> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/checksum.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/checksum.xml new file mode 100644 index 00000000..e82fb697 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/checksum.xml @@ -0,0 +1,266 @@ +<?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="cleanup" basedir="."> + + <macrodef name="compare"> + <attribute name="expected" /> + <attribute name="output" /> + <sequential> + <loadfile property="expected" srcfile="@{expected}"> + <filterchain><striplinebreaks /></filterchain> + </loadfile> + <loadfile property="output" srcfile="@{output}"> + <filterchain><striplinebreaks /></filterchain> + </loadfile> + <fail message="${output} not = ${expected}"> + <condition> + <not> + <equals arg1="${output}" arg2="${expected}" /> + </not> + </condition> + </fail> + </sequential> + </macrodef> + + <macrodef name="testverify"> + <attribute name="checknologo" default="false" /> + <element name="stuff" implicit="true" /> + <sequential> + <fail> + <condition> + <or> + <isset property="logo.MD5" /> + <isset property="no.logo.MD5" /> + </or> + </condition> + </fail> + <stuff /> + <fail> + <condition> + <not> + <istrue value="${logo.MD5}" /> + </not> + </condition> + </fail> + <fail> + <condition> + <and> + <istrue value="@{checknologo}" /> + <not> + <isfalse value="${no.logo.MD5}" /> + </not> + </and> + </condition> + </fail> + <fail> + <condition> + <and> + <isfalse value="@{checknologo}" /> + <isset property="no.logo.MD5" /> + </and> + </condition> + </fail> + </sequential> + </macrodef> + + <target name="cleanup"> + <delete file="../asf-logo.gif.MD5" /> + <delete file="../asf-logo.gif.md5" /> + <delete file="../asf-logo.gif.MD5SUM" /> + <delete file="../asf-logo.gif.md5sum" /> + <delete file="../asf-logo.gif.SVF" /> + <delete file="../asf-logo.gif.svf" /> + <delete file="../asf-logo.gif.pattern" /> + <delete file="../asf-logo.gif.PATTERN" /> + <delete> + <fileset dir="checksum"> + <include name="**/*.MD5"/> + </fileset> + </delete> + <delete dir="checksum/checksums" /> + </target> + + <target name="createMd5"> + <checksum file="../asf-logo.gif" fileext=".MD5" /> + <compare expected="expected/asf-logo.gif.md5" output="../asf-logo.gif.MD5" /> + </target> + + <target name="createMD5SUMformat"> + <checksum file="../asf-logo.gif" format="MD5SUM" fileext=".MD5SUM" /> + <compare expected="expected/asf-logo.gif.md5sum" output="../asf-logo.gif.MD5SUM" /> + </target> + + <target name="createSVFformat"> + <checksum file="../asf-logo.gif" format="SVF" fileext=".SVF" /> + <compare expected="expected/asf-logo.gif.svf" output="../asf-logo.gif.SVF" /> + </target> + + <target name="createPattern"> + <checksum file="../asf-logo.gif" pattern="foo{0}bar" fileext=".PATTERN" /> + <compare expected="expected/asf-logo.gif.pattern" output="../asf-logo.gif.PATTERN" /> + </target> + + <target name="setProperty"> + <checksum file="../asf-logo.gif" property="logo.MD5" /> + <fail> + <condition> + <or> + <not> + <equals arg1="0541d3df42520911f268abc730f3afe0" + arg2="${logo.MD5}" /> + </not> + <available file="../asf-logo.gif.MD5" /> + </or> + </condition> + </fail> + </target> + + <target name="verifyAsTask"> + <testverify checknologo="true"> + <copy file="expected/asf-logo.gif.md5" todir=".." /> + <checksum file="../asf-logo.gif" fileext=".md5" + verifyproperty="logo.MD5" /> + + <copy file="checksum.xml" tofile="../asf-logo.gif.MD5" + overwrite="true" /> + <checksum file="../asf-logo.gif" fileext=".MD5" + verifyproperty="no.logo.MD5" /> + </testverify> + </target> + + <target name="verifyMD5SUMAsTask"> + <testverify checknologo="true"> + <copy file="expected/asf-logo.gif.md5sum" todir=".." /> + <checksum file="../asf-logo.gif" fileext=".md5sum" + verifyproperty="logo.MD5" format="MD5SUM"/> + + <copy file="checksum.xml" tofile="../asf-logo.gif.MD5SUM" + overwrite="true" /> + <checksum file="../asf-logo.gif" fileext=".MD5SUM" + verifyproperty="no.logo.MD5" format="MD5SUM"/> + </testverify> + </target> + + <target name="verifyAsCondition"> + <testverify> + <copy file="expected/asf-logo.gif.md5" todir=".." /> + <condition property="logo.MD5"> + <checksum file="../asf-logo.gif" fileext=".md5" /> + </condition> + + <copy file="checksum.xml" tofile="../asf-logo.gif.MD5" + overwrite="true" /> + <condition property="no.logo.MD5"> + <checksum file="../asf-logo.gif" fileext=".MD5" /> + </condition> + </testverify> + </target> + + <target name="verifyFromProperty"> + <fail> + <condition> + <isset property="verify" /> + </condition> + </fail> + <checksum property="checksum" file="checksum.xml"/> + <checksum property="${checksum}" file="checksum.xml" + verifyproperty="verify"/> + <fail> + <condition> + <not> + <istrue value="${verify}" /> + </not> + </condition> + </fail> + </target> + + <target name="verifyTotal"> + <checksum totalproperty="total"> + <fileset dir="${basedir}/checksum"> + <exclude name="**/*.MD5"/> + </fileset> + </checksum> + <fail> + <condition> + <not> + <equals arg1="ef8f1477fcc9bf93832c1a74f629c626" arg2="${total}" /> + </not> + </condition> + </fail> + </target> + + <target name="verifyTotalRC"> + <checksum totalproperty="total"> + <resources> + <fileset dir="${basedir}/checksum"> + <exclude name="**/*.MD5"/> + </fileset> + </resources> + </checksum> + <fail> + <condition> + <not> + <equals arg1="ef8f1477fcc9bf93832c1a74f629c626" arg2="${total}" /> + </not> + </condition> + </fail> + </target> + + <target name="verifyChecksumdir"> + <checksum totalproperty="total" todir="${basedir}/checksum/checksums"> + <fileset dir="${basedir}/checksum"> + <exclude name="**/*.MD5"/> + </fileset> + </checksum> + <fail> + <condition> + <not> + <equals arg1="ef8f1477fcc9bf93832c1a74f629c626" arg2="${total}" /> + </not> + </condition> + </fail> + <pathconvert property="srcdirfile"> + <file file="checksum/foo/zap/Eenie.MD5" /> + </pathconvert> + <pathconvert property="destdirfile"> + <file file="checksum/checksums/foo/zap/Eenie.MD5" /> + </pathconvert> + <fail message="Checksums should be written to ${destdirfile}"> + <condition> + <not> + <available file="${destdirfile}" /> + </not> + </condition> + </fail> + <fail message="Checksums should not be written to ${srcdirfile}"> + <condition> + <available file="${srcdirfile}" /> + </condition> + </fail> + </target> + + <!-- bug report 25606 --> + <target name="verifyChecksumdirNoTotal"> + <checksum todir="${basedir}/checksum/checksums"> + <fileset dir="${basedir}/checksum"> + <exclude name="**/*.MD5"/> + </fileset> + </checksum> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/checksum/foo/Bar b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/checksum/foo/Bar new file mode 100644 index 00000000..c2bc8eef --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/checksum/foo/Bar @@ -0,0 +1 @@ +Barbapapa
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/checksum/foo/zap/Eenie b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/checksum/foo/zap/Eenie new file mode 100644 index 00000000..d689175d --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/checksum/foo/zap/Eenie @@ -0,0 +1 @@ +Meenie Minie Moe
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/classloader.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/classloader.xml new file mode 100644 index 00000000..02e47ab5 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/classloader.xml @@ -0,0 +1,40 @@ +<?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="classloader-test" default="main" basedir="."> + + <target name="init"> + + <path id="myJars" > + <!-- both ant-junit.jar and junit.jar must be loaded from the same path --> + <pathelement path="${ant.home}/lib/ant-junit.jar" /> + <pathelement path="${junit.jar}" /> + </path> + + <classloader classpathRef="myJars" + reverse="true" > + + </classloader> + <junit /> + + </target> + + <target name="main" depends="init"> + <echo message="Found JUNIT" /> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/concat-input/A b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/concat-input/A new file mode 100644 index 00000000..2e65efe2 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/concat-input/A @@ -0,0 +1 @@ +a
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/concat-input/B b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/concat-input/B new file mode 100644 index 00000000..63d8dbd4 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/concat-input/B @@ -0,0 +1 @@ +b
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/concat.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/concat.xml new file mode 100644 index 00000000..235b1528 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/concat.xml @@ -0,0 +1,214 @@ +<?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="concat-test" basedir="." default="test1"> + + <property name="tmp.file" value="concat.tmp" /> + <property name="tmp.file.2" value="concat.tmp.2" /> + + <property name="world" value="World" /> + + <target name="cleanup"> + <delete file="TESTDEST"/> + <delete file="${tmp.file}"/> + <delete file="${tmp.file.2}"/> + <delete file="concat.line4"/> + <delete file="concat.noeol"/> + <delete file="concat.linecr"/> + <delete file="concat.utf8"/> + <delete file="concat.urls"/> + </target> + + <target name="test1"> + <concat> + </concat> + </target> + + <target name="test2"> + <concat destfile="">Hello, ${world}!</concat> + </target> + + <target name="test3"> + <concat destfile="${tmp.file}">Hello, ${world}!</concat> + </target> + + <target name="test4"> + <concat destfile="${tmp.file.2}"> + <fileset dir="${basedir}" includes="${tmp.file}" /> + <filelist dir="${basedir}" files="${tmp.file},${tmp.file}" /> + </concat> + </target> + + <target name="test5"> + <concat>Hello, ${world}!</concat> + </target> + + <target name="test6"> + <concat destfile="TESTDEST" append="true"> + <filelist dir="${basedir}" files="thisfiledoesnotexist"/> + </concat> + <available file="TESTDEST" property="TESTDEST.was.created"/> + <fail message="TESTDEST created for nonexistent files" + if="TESTDEST.was.created"/> + </target> + + <target name="testConcatNoNewline"> + <concat> + <fileset dir="concat-input"/> + </concat> + </target> + + <target name="testConcatNoNewlineEncoding"> + <concat encoding="ASCII"> + <fileset dir="concat-input"/> + </concat> + </target> + + <target name="testPath"> + <concat destfile="${tmp.file.2}"> + <path path="${tmp.file}"/> + </concat> + </target> + + <target name="testAppend"> + <concat destfile="${tmp.file.2}"> + <path path="${tmp.file}"/> + </concat> + <concat destfile="${tmp.file.2}" append="true"> + <path path="${tmp.file}"/> + </concat> + </target> + + <target name="testfilter"> + <concat destfile="${tmp.file}">@REPLACEME@</concat> + <concat> + <path path="${tmp.file}"/> + <filterchain> + <replacetokens> + <token key="REPLACEME" value="REPLACED"/> + </replacetokens> + </filterchain> + </concat> + </target> + + <target name="testnooverwrite"> + <touch file="${tmp.file.2}"/> + <!-- concat.xml is now older than tmp.file.2 + so the following should not do anything --> + <concat destfile="${tmp.file.2}" overwrite="false"> + <path path="concat.xml"/> + </concat> + </target> + + <target name="testoverwrite"> + <touch file="${tmp.file.2}"/> + <!-- concat.xml is now older than tmp.file.2 + so the following should still overwrite it --> + <concat destfile="${tmp.file.2}" overwrite="true"> + <path path="concat.xml"/> + </concat> + </target> + + <target name="testheaderfooter"> + <concat> + <header filtering="false" trim="yes"> + header + </header> + <path path="${tmp.file}"/> + <footer filtering="no">footer</footer> + </concat> + </target> + + <target name="testfileheader"> + <concat> + <header file="${tmp.file}"/> + <path path="${tmp.file}"/> + </concat> + </target> + + <target name="samefile"> + <touch file="${tmp.file}"/> + <concat destfile="${tmp.file}"> + <path path="${tmp.file}"/> + </concat> + </target> + + <target name="testfilterinline"> + <concat> + @REPLACEME@ + <filterchain> + <replacetokens> + <token key="REPLACEME" value="REPLACED"/> + </replacetokens> + </filterchain> + </concat> + </target> + + <target name="testmultireader"> + <concat destfile="${tmp.file}">Hello, World + </concat> + <concat destfile="${tmp.file.2}">Bye, World + </concat> + <concat> + <path path="${tmp.file}"/> + <path path="${tmp.file}"/> + <path path="${tmp.file}"/> + <path path="${tmp.file}"/> + <path path="${tmp.file}"/> + <path path="${tmp.file}"/> + <path path="${tmp.file}"/> + <path path="${tmp.file}"/> + <path path="${tmp.file}"/> + <!-- tailfilter seems to behave a little stange, place two + here in case the implementation changes --> + <path path="${tmp.file.2}"/> + <path path="${tmp.file.2}"/> + <filterchain> + <tailfilter lines="2"/> + </filterchain> + </concat> + </target> + + <target name="create-noel"> + <concat destfile="concat.noeol">This has no end of line</concat> + </target> + + <target name="testfixlastline" depends="create-noel"> + <concat destfile="concat.line4" fixlastline="yes"> + <path path="concat.noeol"/> + <path path="concat.noeol"/> + <path path="concat.noeol"/> + <path path="concat.noeol"/> + </concat> + </target> + + <target name="testfixlastlineeol" depends="create-noel"> + <concat destfile="concat.linecr" fixlastline="yes" eol="mac"> + <path path="concat.noeol"/> + <path path="concat.noeol"/> + </concat> + </target> + + <target name="testTranscoding"> + <concat destfile="concat.utf8" + encoding="ISO8859_1" outputencoding="UTF8"> + <path path="copy/input/iso8859-1"/> + </concat> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/condition.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/condition.xml new file mode 100644 index 00000000..81660ae6 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/condition.xml @@ -0,0 +1,521 @@ +<?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. +--> + +<!-- test conditioning --> +<project name="condition-test" basedir="." default="test1"> + + <target name="basic"> + <condition property="basic"> + <equals arg1="a" arg2="a" /> + </condition> + <echo>${basic}</echo> + </target> + + <target name="condition-incomplete"> + <condition > + <equals arg1="a" arg2="a" /> + </condition> + </target> + + <target name="condition-empty"> + <condition property="condition-empty"/> + <echo>${condition-empty}</echo> + </target> + + <target name="shortcut"> + <property name="shortcut" value="set"/> + <condition property="shortcut"> + <equals arg1="a" arg2="a" /> + </condition> + <echo>${shortcut}</echo> + </target> + + <target name="dontset"> + <condition property="dontset"> + <equals arg1="a" arg2="b" /> + </condition> + <echo>${dontset}</echo> + </target> + + <target name="setvalue"> + <condition property="setvalue" value="woowoo" > + <equals arg1="a" arg2="a" /> + </condition> + <echo>${setvalue}</echo> + </target> + + <target name="negation"> + <condition property="negation"> + <not> + <equals arg1="a" arg2="B" /> + </not> + </condition> + <echo>${negation}</echo> + </target> + + <target name="negationfalse"> + <condition property="negationfalse"> + <not> + <equals arg1="a" arg2="a" /> + </not> + </condition> + <echo>${negationfalse}</echo> + </target> + + <target name="negationincomplete"> + <condition property="negationincomplete"> + <not /> + </condition> + <echo>${negationincomplete}</echo> + </target> + + <target name="and"> + <condition property="and"> + <and> + <equals arg1="a" arg2="a" /> + <equals arg1="B" arg2="B" /> + </and> + </condition> + <echo>${and}</echo> + </target> + + <target name="andfails"> + <condition property="andfails"> + <and> + <equals arg1="a" arg2="B" /> + <equals arg1="B" arg2="a" /> + </and> + </condition> + <echo>${andfails}</echo> + </target> + + <target name="andincomplete"> + <condition property="andincomplete"> + <and> + <equals arg1="a" arg2="B" /> + </and> + </condition> + <echo>${andincomplete}</echo> + </target> + + <target name="andempty"> + <condition property="andempty"> + <and/> + </condition> + <echo>${andempty}</echo> + </target> + + <target name="or"> + <condition property="or"> + <or> + <equals arg1="a" arg2="B" /> + <equals arg1="B" arg2="B" /> + </or> + </condition> + <echo>${or}</echo> + </target> + + <target name="orincomplete"> + <condition property="orincomplete"> + <or> + <equals arg1="a" arg2="a" /> + </or> + </condition> + <echo>${orincomplete}</echo> + </target> + + <target name="orempty"> + <condition property="orempty"> + <or/> + </condition> + <echo>${orempty}</echo> + </target> + + <target name="orfails"> + <condition property="orfails"> + <or> + <equals arg1="a" arg2="B" /> + <equals arg1="B" arg2="a" /> + </or> + </condition> + <echo>${orfails}</echo> + </target> + + <target name="orboth"> + <condition property="orboth"> + <or> + <equals arg1="a" arg2="a" /> + <equals arg1="B" arg2="B" /> + </or> + </condition> + <echo>${orboth}</echo> + </target> + + <target name="filesmatch-identical" > + <condition property="filesmatch-identical"> + <filesmatch + file1="condition.xml" + file2="condition.xml" /> + </condition> + <echo>${filesmatch-identical}</echo> + </target> + + <target name="filesmatch-incomplete" > + <condition property="filesmatch-incomplete"> + <filesmatch + file1="condition.xml"/> + </condition> + <echo>${filesmatch-incomplete}</echo> + </target> + + <target name="filesmatch-oddsizes" > + <condition property="filesmatch-oddsizes"> + <filesmatch + file1="condition.xml" + file2="property.xml" /> + </condition> + <echo>${filesmatch-oddsizes}</echo> + </target> + + <target name="filesmatch-existence" > + <condition property="filesmatch-existence"> + <filesmatch + file1="condition.xml" + file2="this-file-doesnt-exist.xml" /> + </condition> + <echo>${filesmatch-existence}</echo> + </target> + + <target name="filesmatch-neitherexist"> + <fail> + <condition> + <not> + <filesmatch file1="idonotexist" file2="andneitherdoi" /> + </not> + </condition> + </fail> + </target> + + <target name="filesmatch-different"> + <echo file="match1.txt" message="012345676890" /> + <echo file="match2.txt" message="012345676889" /> + <condition property="filesmatch-different"> + <filesmatch + file1="match1.txt" + file2="match2.txt" /> + </condition> + <echo>${filesmatch-different}</echo> + </target> + + <target name="filesmatch-match" > + <echo file="match3.txt" message="012345676890" /> + <echo file="match4.txt" message="012345676890" /> + <condition property="filesmatch-match"> + <filesmatch + file1="match3.txt" + file2="match4.txt" /> + </condition> + <echo>${filesmatch-match}</echo> + </target> + + <target name="filesmatch-different-eol" > + <echo file="match7.txt" message="012345676890" /> + <echo file="match8.txt" message="012345676890" /> + <fixcrlf file="match7.txt" eol="cr" fixlast="true" /> + <fixcrlf file="match8.txt" eol="lf" fixlast="true" /> + <fail> + <condition> + <filesmatch file1="match7.txt" file2="match8.txt" /> + </condition> + </fail> + </target> + + <target name="filesmatch-same-eol" > + <echo file="match9.txt" message="012345676890" /> + <echo file="match10.txt" message="012345676890" /> + <fixcrlf file="match9.txt" eol="crlf" fixlast="true" /> + <fixcrlf file="match10.txt" eol="lf" fixlast="true" /> + <fail> + <condition> + <not> + <filesmatch file1="match9.txt" file2="match10.txt" textfile="true" /> + </not> + </condition> + </fail> + </target> + + <target name="filesmatch-different-sizes"> + <echo file="match5.txt" message="012345676890" /> + <echo file="match6.txt" message="0123456768" /> + <condition property="filesmatch-different-sizes"> + <filesmatch + file1="match5.txt" + file2="match6.txt" /> + </condition> + <echo>${filesmatch-different-sizes}</echo> + </target> + + <target name="filesmatch-different-onemissing"> + <condition property="filesmatch-different-sizes"> + <filesmatch + file1="condition.xml" + file2="missing-file.txt" /> + </condition> + <echo>${filesmatch-different-onemissing}</echo> + </target> + + <target name="contains" > + <condition property="contains"> + <contains + string="abcd" + substring="cd" /> + </condition> + <echo>${contains}</echo> + </target> + + <target name="contains-doesnt" > + <condition property="contains-doesnt"> + <contains + string="abcd" + substring="CD" /> + </condition> + <echo>${contains-doesnt}</echo> + </target> + + <target name="contains-anycase" > + <condition property="contains-anycase"> + <contains casesensitive="false" + string="abcd" + substring="CD" /> + </condition> + <echo>${contains-anycase}</echo> + </target> + + <target name="contains-incomplete1" > + <condition property="contains-incomplete1"> + <contains + string="abcd" /> + </condition> + <echo>${contains-incomplete1}</echo> + </target> + + <target name="contains-incomplete2" > + <condition property="contains-incomplete2"> + <contains + substring="CD" /> + </condition> + <echo>${contains-incomplete2}</echo> + </target> + + <target name="istrue" > + <property name="t" value="true" /> + <property name="o" value="o" /> + <property name="n" value="n" /> + <condition property="istrue"> + <and> + <istrue value="${t}" /> + <istrue value="TRUE" /> + <istrue value="yes" /> + <istrue value="YeS" /> + <istrue value="on" /> + <istrue value="${o}${n}" /> + </and> + </condition> + <echo>${istrue}</echo> + </target> + + <target name="istrue-not" > + <condition property="istrue-not"> + <istrue + value="this sentence is true" /> + </condition> + <echo>${istrue-not}</echo> + </target> + + <target name="istrue-false" > + <condition property="istrue-false"> + <or> + <istrue value="false" /> + <istrue value="" /> + </or> + </condition> + <echo>${istrue-false}</echo> + </target> + + <target name="istrue-incomplete" > + <condition property="istrue-incomplete"> + <istrue /> + </condition> + <echo>${istrue-incomplete}</echo> + </target> + + <target name="isfalse-true" > + <property name="t" value="true" /> + <condition property="isfalse-true"> + <isfalse + value="${t}" /> + </condition> + <echo>${isfalse-true}</echo> + </target> + + <target name="isfalse-not" > + <condition property="isfalse-not"> + <isfalse + value="this sentence is true" /> + </condition> + <echo>${isfalse-not}</echo> + </target> + + <target name="isfalse-false" > + <condition property="isfalse-false"> + <isfalse + value="false" /> + </condition> + <echo>${isfalse-false}</echo> + </target> + + <target name="isfalse-incomplete" > + <condition property="isfalse-incomplete"> + <isfalse /> + </condition> + <echo>${isfalse-incomplete}</echo> + </target> + + <target name="testElse"> + <condition property="unset" value="foo"> + <or /> + </condition> + <condition property="value" value="foo" else="bar"> + <and /> + </condition> + <condition property="else" value="foo" else="bar"> + <or /> + </condition> + <fail> + <condition> + <or> + <isset property="unset" /> + <not> + <and> + <equals arg1="${value}" arg2="foo" /> + <equals arg1="${else}" arg2="bar" /> + </and> + </not> + </or> + </condition> + </fail> + </target> + + <target name="resourcesmatch-error"> + <condition property="errorexpected"> + <resourcesmatch /> + </condition> + </target> + + <target name="resourcesmatch-match-empty"> + <condition property="errorexpected"> + <resourcesmatch> + <resources /> + </resourcesmatch> + </condition> + </target> + + <target name="resourcesmatch-match-one"> + <condition property="errorexpected"> + <resourcesmatch> + <string value="foo" /> + </resourcesmatch> + </condition> + </target> + + <target name="resourcesmatch-match-binary"> + <fail> + <condition> + <not> + <resourcesmatch> + <string value="foo" /> + <string value="foo" /> + </resourcesmatch> + </not> + </condition> + </fail> + </target> + + <target name="resourcesmatch-match-multiple-binary"> + <fail> + <condition> + <not> + <resourcesmatch> + <string value="foo" /> + <string value="foo" /> + <string value="foo" /> + </resourcesmatch> + </not> + </condition> + </fail> + </target> + + <target name="resourcesmatch-differ"> + <echo file="match11.txt" message="foo" /> + <fixcrlf file="match11.txt" eol="crlf" fixlast="true" /> + <fail> + <condition> + <resourcesmatch> + <file file="match11.txt" /> + <string value="foo" /> + </resourcesmatch> + </condition> + </fail> + </target> + + <target name="resourcesmatch-match-text"> + <echo file="match11.txt" message="foo" /> + <fixcrlf file="match11.txt" eol="crlf" /> + <fail> + <condition> + <not> + <resourcesmatch astext="true"> + <file file="match11.txt" /> + <string value="foo" /> + </resourcesmatch> + </not> + </condition> + </fail> + </target> + + <target name="resourcesmatch-noneexist"> + <fail> + <condition> + <not> + <resourcesmatch> + <resource name="foo" exists="false" /> + <resource name="bar" exists="false" /> + <resource name="baz" exists="false" /> + </resourcesmatch> + </not> + </condition> + </fail> + </target> + + <target name="cleanup" > + <delete> + <fileset dir="." includes="match?.txt,match??.txt" /> + </delete> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/antversion.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/antversion.xml new file mode 100644 index 00000000..8a54cb01 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/antversion.xml @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + 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="testantversion" default="testatleast"> + + <target name="testatleast"> + <fail> + <condition> + <not> + <antversion atleast="1.7" /> + </not> + </condition> + Should be at least 1.7 + </fail> + </target> + + <target name="testexactly"> + <fail> + <condition> + <not> + <antversion exactly="1.9.6" /> + </not> + </condition> + Should be exactly 1.9.6 + + </fail> + </target> + + <target name="testatleastfail"> + <property name="version" value="1.8.9" /> + <fail> + <condition> + <not> + <antversion atleast="1.9.6" /> + </not> + </condition> + Should be at least 1.9.6 + </fail> + </target> + + <target name="testexactlyfail"> + <property name="version" value="1.8.0" /> + <fail> + <condition> + <not> + <antversion exactly="1.9.6" /> + </not> + </condition> + Should be exactly 1.9.6 + </fail> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/http.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/http.xml new file mode 100644 index 00000000..76e87cbe --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/http.xml @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + 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="nope"> + + <target name="nope"> + <fail>This build file should be run by a testcase</fail> + </target> + + <target name="basic-no-method"> + <condition property="basic-no-method"> + <http url="http://ant.apache.org/"/> + </condition> + <condition property="basic-no-method-bad-url"> + <http url="http://ant.apache.org/this-page-does-not-exist"/> + </condition> + </target> + + <target name="test-head-request"> + <condition property="test-head-request"> + <http url="http://ant.apache.org/" requestMethod="HEAD"/> + </condition> + <condition property="test-head-request-bad-url"> + <http url="http://ant.apache.org/this-page-does-not-exist" requestMethod="HEAD"/> + </condition> + </target> + + <target name="test-get-request"> + <condition property="test-get-request"> + <http url="http://ant.apache.org/" requestMethod="GET"/> + </condition> + <condition property="test-get-request-bad-url"> + <http url="http://ant.apache.org/this-page-does-not-exist" requestMethod="GET"/> + </condition> + </target> + + <target name="bad-request-method"> + <condition property="bad-request-method"> + <http url="http://ant.apache.org" requestMethod="UNKNOWN"/> + </condition> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/isfailure.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/isfailure.xml new file mode 100644 index 00000000..b5d1a6a4 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/isfailure.xml @@ -0,0 +1,65 @@ +<?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="testisfailure"> + + <target name="testisfailure"> + <fail> + <condition> + <or> + <and> + <os family="openvms" /> + <or> + <isfailure code="1" /> + <isfailure code="3" /> + <isfailure code="5" /> + <isfailure code="7" /> + <isfailure code="9" /> + <not> + <and> + <isfailure code="0" /> + <isfailure code="2" /> + <isfailure code="4" /> + <isfailure code="6" /> + <isfailure code="8" /> + </and> + </not> + </or> + </and> + <and> + <not> + <os family="openvms" /> + </not> + <or> + <isfailure code="0" /> + <not> + <and> + <isfailure code="1" /> + <isfailure code="10" /> + <isfailure code="50" /> + <isfailure code="100" /> + <isfailure code="255" /> + </and> + </not> + </or> + </and> + </or> + </condition> + </fail> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/isfileselected.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/isfileselected.xml new file mode 100644 index 00000000..0626eedb --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/isfileselected.xml @@ -0,0 +1,70 @@ +<?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> + <macrodef name="pass"> + <element name="conditions" implicit="yes"/> + <attribute name="failmessage"/> + <sequential> + <fail message="@{failmessage}"> + <condition> + <not> + <conditions/> + </not> + </condition> + </fail> + </sequential> + </macrodef> + + <target name="simple"> + <pass failmessage="a simple test"> + <isfileselected file="jars/pass.jar"> + <signedselector/> + </isfileselected> + </pass> + </target> + + <target name="name"> + <pass failmessage="name did not match"> + <isfileselected file="jars/nosign.jar"> + <filename name="jars/nosign.jar"/> + </isfileselected> + </pass> + </target> + + <target name="basedir"> + <pass failmessage="name did not match with a basedir change"> + <isfileselected file="jars/nosign.jar" basedir="jars"> + <filename name="nosign.jar"/> + </isfileselected> + </pass> + </target> + + <target name="type"> + <pass failmessage="type selector did not work"> + <isfileselected file="isfileselected.xml"> + <type type="file"/> + </isfileselected> + </pass> + </target> + + <target name="not.selector"> + <fileset dir="."> + <isfileselected file="nosigned.jar"/> + </fileset> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/isreachable.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/isreachable.xml new file mode 100644 index 00000000..3f74aef7 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/isreachable.xml @@ -0,0 +1,105 @@ +<?xml version="1.0"?> +<project name="isreachable"> +<!-- + 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. +--> + + + <macrodef name="assertHostReachable"> + <attribute name="host"/> + <sequential> + <fail message="not reachable: @{host}"> + <condition> + <not> + <isreachable host="@{host}"/> + </not> + </condition> + </fail> + </sequential> + </macrodef> + + <macrodef name="assertHostNotReachable"> + <attribute name="host"/> + <sequential> + <fail message="unexpectedly reachable: @{host}"> + <condition> + <isreachable host="@{host}"/> + </condition> + </fail> + </sequential> + </macrodef> + + <macrodef name="assertUrlReachable"> + <attribute name="url"/> + <sequential> + <fail message="not reachable: @{url}"> + <condition> + <not> + <isreachable url="@{url}"/> + </not> + </condition> + </fail> + </sequential> + </macrodef> + + <target name="testLocalhost"> + <assertHostReachable host="localhost"/> + </target> + + <!-- bugs in XPSP2 mean this is the only IPv4 loopback addr allowed --> + <target name="testIpv4localhost"> + <assertHostReachable host="127.0.0.1"/> + </target> + + <target name="testBoth"> + <condition property="both"> + <isreachable host="localhost" url="http://localhost"/> + </condition> + <fail>Expected failure before here</fail> + </target> + + <target name="testLocalhostURL"> + <assertUrlReachable url="http://localhost"/> + </target> + + <target name="testIpv4localhostURL"> + <assertUrlReachable url="http://127.0.0.1/"/> + </target> + + <target name="testFTPURL"> + <assertUrlReachable url="ftp://localhost"/> + </target> + + <target name="testFile"> + <assertUrlReachable url="file://build.xml"/> + </target> + + <target name="testBadURL"> + <assertUrlReachable url="uuid:3349-4404-0ac0ddee"/> + </target> + + <target name="testBadTimeout"> + <condition property="testBadTimeout"> + <isreachable host="localhost" timeout="-1"/> + </condition> + </target> + + <target name="testNoTargets"> + <condition property="none"> + <isreachable/> + </condition> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/isreference.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/isreference.xml new file mode 100644 index 00000000..d1f86db9 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/isreference.xml @@ -0,0 +1,60 @@ +<?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="nope"> + <path id="global-path-id"/> + <echo id="echo-id"/> + + <target name="nope"> + <fail>This build file should be run by a testcase</fail> + </target> + + <target name="define"> + <path id="target-path-id"/> + </target> + + <target name="basic" depends="define"> + <condition property="global-path"> + <isreference refid="global-path-id"/> + </condition> + <condition property="target-path"> + <isreference refid="target-path-id"/> + </condition> + </target> + + <target name="isreference-incomplete"> + <condition property="foo"> + <isreference/> + </condition> + </target> + + <target name="type"> + <condition property="global-path"> + <isreference refid="global-path-id" type="path"/> + </condition> + <condition property="global-path-as-fileset"> + <isreference refid="global-path-id" type="fileset"/> + </condition> + <condition property="global-path-as-foo"> + <isreference refid="global-path-id" type="foo"/> + </condition> + <condition property="global-echo"> + <isreference refid="echo-id" type="echo"/> + </condition> + </target> + +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/issigned.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/issigned.xml new file mode 100644 index 00000000..7cbf328f --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/issigned.xml @@ -0,0 +1,78 @@ +<?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="all"> + + <target name="pass" description="check if a name of pass is ok"> + <fail message="name of pass not seen in the signed pass.jar"> + <condition> + <not> + <issigned file="jars/pass.jar" name="pass"/> + </not> + </condition> + </fail> + </target> + + <target name="password" description="check if a name of password is *not* ok"> + <fail message="name of password is seen in the signed pass.jar"> + <condition> + <issigned file="jars/pass.jar" name="password"/> + </condition> + </fail> + </target> + + <target name="apassword" description="check if the 8 letter shorting works"> + <fail message="8 letter shorting does not work 1"> + <condition> + <not> + <issigned file="jars/apassword.jar" name="apasswor"/> + </not> + </condition> + </fail> + <fail message="8 letter shorting does not work 2"> + <condition> + <not> + <issigned file="jars/apassword.jar" name="apassword"/> + </not> + </condition> + </fail> + </target> + + <target name="allsigned" description="check the signed / not signed status"> + <fail message="pass.jar should be signed"> + <condition> + <not> + <issigned file="jars/pass.jar"/> + </not> + </condition> + </fail> + <fail message="nosign.jar should not be signed"> + <condition> + <issigned file="jars/nosign.jar"/> + </condition> + </fail> + + <fail message="apassword.jar should be signed"> + <condition> + <not> + <issigned file="jars/apassword.jar"/> + </not> + </condition> + </fail> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/jars/apassword.jar b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/jars/apassword.jar Binary files differnew file mode 100644 index 00000000..6bd4af1f --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/jars/apassword.jar diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/jars/nosign.jar b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/jars/nosign.jar Binary files differnew file mode 100644 index 00000000..d1b7f8d2 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/jars/nosign.jar diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/jars/pass.jar b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/jars/pass.jar Binary files differnew file mode 100644 index 00000000..cd49f15d --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/jars/pass.jar diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/parsersupports.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/parsersupports.xml new file mode 100644 index 00000000..c80fd350 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/parsersupports.xml @@ -0,0 +1,95 @@ +<?xml version="1.0"?> +<project name="parsersupports" > +<!-- + * 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. + * +--> + + <target name="testEmpty"> + <condition property="empty"> + <parsersupports /> + </condition> + <fail>Expected failure before here</fail> + </target> + + <target name="testBoth"> + <condition property="both"> + <parsersupports property="http://bar" feature="http://foo"/> + </condition> + <fail>Expected failure before here</fail> + </target> + + <target name="testNamespaces"> + <fail> + <condition > + <not> + <parsersupports feature="http://xml.org/sax/features/namespaces"/> + </not> + </condition> + Expected namespace support + </fail> + </target> + + <target name="testPropertyInvalid"> + <fail> + <condition> + <not> + <parsersupports + property="http://xml.org/sax/properties/declaration-handler" + value="undefined"/> + </not> + </condition> + Expected DTD declaration property settable. + </fail> + </target> + + <target name="testPropertyNoValue"> + <fail> + <condition> + <not> + <parsersupports + property="http://xml.org/sax/properties/declaration-handler" + /> + </not> + </condition> + Expected no property + </fail> + </target> + + <target name="testUnknownProperty"> + <fail> + <condition> + <parsersupports property="http://org.apache.ant/something" + value="undefined"/> + </condition> + Expected unsupported property. + </fail> + </target> + + <target name="testXercesProperty"> + <fail> + <condition> + <not> + <parsersupports + property="http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation" + value="parsersupports.xml"/> + </not> + </condition> + Expected XSD support on Xerces. + </fail> + </target> + +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/typefound.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/typefound.xml new file mode 100644 index 00000000..054ca673 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/typefound.xml @@ -0,0 +1,75 @@ +<?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="typefound"> + + + <target name="testTask"> + <condition property="testTask"> + <typefound name="echo"/> + </condition> + </target> + + + <target name="testUndefined"> + <condition property="testUndefined"> + <typefound /> + </condition> + </target> + + <target name="testTaskThatIsntDefined"> + <condition property="testTaskThatIsntDefined"> + <typefound name="invalid-and-undefined-task-name"/> + </condition> + </target> + + <target name="testTaskThatDoesntReallyExist"> + <taskdef name="invalid-task-name" onerror="ignore" + classname="org.example.invalid.task.name.hopefully"/> + <condition property="testTaskThatDoesntReallyExist"> + <typefound name="invalid-task-name"/> + </condition> + </target> + + <target name="testType"> + <condition property="testType"> + <typefound name="path"/> + </condition> + </target> + + <target name="testPreset"> + <presetdef name="important-echo"> + <echo level="error"/> + </presetdef> + <condition property="testPreset"> + <typefound name="important-echo"/> + </condition> + </target> + + <target name="testMacro"> + <macrodef name="error-message"> + <element name="text" optional="false"/> + <sequential> + <echo level="error">@{text}</echo> + </sequential> + </macrodef> + <condition property="testMacro"> + <typefound name="error-message"/> + </condition> + </target> + +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/xor.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/xor.xml new file mode 100644 index 00000000..895dccdb --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/conditions/xor.xml @@ -0,0 +1,112 @@ +<?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="all"> + +<!-- + Xor semantics + + in out + == === + 00 0 + 01 1 + 10 1 + 00 0 + +--> + + <target name="testEmpty" > + <fail message="empty test"> + <condition> + <xor/> + </condition> + </fail> + </target> + + <target name="test1" > + <fail message="testTrue"> + <condition> + <not> + <xor> + <istrue value="true" /> + </xor> + </not> + </condition> + </fail> + </target> + + <target name="test0" > + <fail message="testFalse"> + <condition> + <xor> + <istrue value="" /> + </xor> + </condition> + </fail> + </target> + + + <target name="test10" > + <fail message="test10"> + <condition> + <not> + <xor> + <istrue value="true" /> + <istrue value="" /> + </xor> + </not> + </condition> + </fail> + </target> + + <target name="test01" > + <fail message="test01"> + <condition> + <not> + <xor> + <istrue value="" /> + <istrue value="true" /> + </xor> + </not> + </condition> + </fail> + </target> + + <target name="test00" > + <fail message="test10"> + <condition> + <xor> + <istrue value="" /> + <istrue value="" /> + </xor> + </condition> + </fail> + </target> + + <target name="test11" > + <fail message="test11"> + <condition> + <xor> + <istrue value="" /> + <istrue value="" /> + </xor> + </condition> + </fail> + </target> + + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/copy.filterset b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/copy.filterset new file mode 100644 index 00000000..5563dd95 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/copy.filterset @@ -0,0 +1 @@ +This is the @TITLE@. diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/copy.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/copy.xml new file mode 100644 index 00000000..bf4441c1 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/copy.xml @@ -0,0 +1,268 @@ +<?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="copy-test" basedir="." default="test1"> + + <import file="../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}" /> + </target> + + <target name="test1"> + <copy file="copy.xml" tofile="${output}/copytest1.tmp" /> + </target> + + <target name="test2"> + <copy file="copy.xml" todir="${output}/copytest1dir" overwrite="true"/> + </target> + + <target name="filtertest"> + <!-- check fix for bugzilla 23154 --> + <concat destfile="${output}/copy.filter.inp"> +PRODUCT_VERSION=6.2.1.4 +PRODUCT_BUILD=6.5 (BLD_65036) +PRODUCT_VERSION=6.2.1.4 +PRODUCT_BUILD=6.5 (BLD_65036) + </concat> + <copy file="${output}/copy.filter.inp" tofile="${output}/copy.filter.out"> + <filterset begintoken="6" endtoken="4"> + <filter token=".2.1." value="2.6.4" /> + </filterset> + </copy> + <concat><path path="${output}/copy.filter.out"/></concat> + </target> + + <target name="infinitetest"> + <concat destfile="${output}/copy.filter.inp"> +a=b= + </concat> + <copy file="${output}/copy.filter.inp" tofile="${output}/copy.filter.out"> + <filterset begintoken="=" endtoken="="> + <filter token="b" value="=b="/> + </filterset> + </copy> + <concat><path path="${output}/copy.filter.out"/></concat> + </target> + + <target name="test3"> + <!-- create an empty file --> + <touch file="${output}/copytest3.tmp"/> + <!-- copy a different file to two places --> + <copy file="copy.xml" tofile="${output}/copytest3a.tmp" overwrite="true"/> + <copy file="copy.xml" tofile="${output}/copytest3b.tmp" overwrite="true"/> + </target><target name="test3Part2"> + <!-- copy an old file onto a newer file (should not work) --> + <copy file="${output}/copytest3.tmp" tofile="${output}/copytest3b.tmp" /> + <!-- copy an older file onto a new one, should succeed --> + <copy file="${output}/copytest3.tmp" tofile="${output}/copytest3c.tmp" + overwrite="true" + preservelastmodified="true" /> + <!-- copy a newer file onto an older one (should work) --> + <copy file="${output}/copytest3a.tmp" tofile="${output}/copytest3.tmp" + preservelastmodified="true" /> + <!-- expected state : + 3a.tmp==3.tmp==copy.xml + timeof(3a.tmp)==timeof(3.tmp)==now()-4 + sizeof(3c)==0 + timeof(3c.tmp)<timeof(3a.tmp); + 3b.tmp==copy.xml + --> + </target> + + <target name="test_single_file_fileset"> + <copy tofile="${output}/copytest_single_file_fileset.tmp"> + <fileset dir="." includes="copy.xml"/> + </copy> + </target> + + <target name="test_single_file_path"> + <copy tofile="${output}/copytest_single_file_path.tmp"> + <path> + <pathelement location="copy.xml"/> + </path> + </copy> + </target> + + <target name="testFilterSet"> + <copy file="copy.filterset" tofile="${output}/copy.filterset.tmp"> + <filterset> + <filter token="TITLE" value="Apache Ant Project"/> + </filterset> + </copy> + </target> + + <target name="testFilterChain"> + <copy file="copy.filterset" tofile="${output}/copy.filterchain.tmp"> + <filterchain> + <replacetokens> + <token key="TITLE" value="Apache Ant Project"/> + </replacetokens> + </filterchain> + </copy> + </target> + + <target name="testTranscoding"> + <copy file="copy/input/iso8859-1" tofile="${output}/copytest1.tmp" + encoding="ISO8859_1" outputencoding="UTF8"/> + </target> + + <target name="testMissingFileIgnore"> + <copy file="not-there" tofile="${output}/copytest1.tmp" + failonerror="false"/> + </target> + + <target name="testMissingFileBail"> + <copy file="not-there" tofile="${output}/copytest1.tmp" + failonerror="true"/> + </target> + + <target name="testMissingDirIgnore"> + <copy todir="${output}" failonerror="false"> + <fileset dir="not-there"/> + </copy> + </target> + + <target name="testMissingDirBail"> + <copy todir="${output}" failonerror="true"> + <fileset dir="not-there"/> + </copy> + </target> + + <property name="to.dir" value="${output}/copy-todir-tmp"/> + <property name="from.dir" value="${output}/copy-fromdir-tmp"/> + + <target name="testResource.prepare"> + <mkdir dir="${from.dir}"/> + <concat destfile="${from.dir}/file1.txt">This is file 1</concat> + <concat destfile="${from.dir}/file2.txt">This is file 2</concat> + <concat destfile="${from.dir}/file3.txt">This is file 3</concat> + <concat destfile="${from.dir}/fileNR.txt">This is file @NR@</concat> + </target> + + <target name="testFileResourcePlain" depends="testResource.prepare"> + <copy todir="${to.dir}" flatten="true"> + <resources> + <file file="${from.dir}/file1.txt"/> + <file file="${from.dir}/file2.txt"/> + <file file="${from.dir}/file3.txt"/> + </resources> + </copy> + </target> + + <target name="testFileResourceWithMapper" depends="testResource.prepare"> + <copy todir="${to.dir}" flatten="true"> + <resources> + <file file="${from.dir}/file1.txt"/> + <file file="${from.dir}/file2.txt"/> + <file file="${from.dir}/file3.txt"/> + </resources> + <regexpmapper from="^(.*)\.txt$$" to="\1.txt.bak"/> + </copy> + </target> + + <target name="testFileResourceWithFilter" depends="testResource.prepare"> + <copy todir="${to.dir}" flatten="true"> + <resources> + <file file="${from.dir}/fileNR.txt"/> + </resources> + <filterset> + <filter token="NR" value="42"/> + </filterset> + </copy> + </target> + + <target name="testResourcePlain"> + </target> + + <target name="testResourcePlainWithMapper"> + </target> + + <target name="testResourcePlainWithFilter"> + </target> + + <target name="testOnlineResources"> + </target> + + <target name="testPathAsResource" depends="testResource.prepare"> + <copy todir="${to.dir}"> + <path> + <fileset dir="${from.dir}"/> + </path> + </copy> + </target> + + <target name="testZipfileset" depends="testResource.prepare"> + <zip destfile="${from.dir}/test.zip" roundup="false"> + <fileset dir="${from.dir}" excludes="*.zip"/> + </zip> + <copy todir="${to.dir}"> + <zipfileset src="${from.dir}/test.zip"/> + </copy> + </target> + + <target name="prepareDirset"> + <touch mkdirs="true"> + <filelist dir="${from.dir}/dirset"> + <file name="a/x/foo" /> + <file name="a/y/foo" /> + <file name="a/z/foo" /> + <file name="b/x/foo" /> + <file name="b/y/foo" /> + <file name="b/z/foo" /> + </filelist> + </touch> + <fail> + <condition> + <or> + <resourcecount when="ne" count="9"> + <dirset id="dirset" dir="${from.dir}/dirset" /> + </resourcecount> + <resourcecount when="ne" count="6"> + <fileset dir="${from.dir}/dirset" /> + </resourcecount> + </or> + </condition> + </fail> + <delete dir="${to.dir}/dirset" /> + <fail> + <condition> + <available file="${to.dir}/dirset" /> + </condition> + </fail> + </target> + + <target name="testDirset" depends="prepareDirset"> + <copy todir="${to.dir}/dirset"> + <resources refid="dirset" /> + </copy> + <fail> + <condition> + <or> + <resourcecount when="ne" count="9"> + <dirset dir="${to.dir}/dirset" /> + </resourcecount> + <resourcecount when="ne" count="0"> + <fileset dir="${to.dir}/dirset" /> + </resourcecount> + </or> + </condition> + </fail> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/copy/expected/utf-8 b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/copy/expected/utf-8 new file mode 100644 index 00000000..c1949bc1 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/copy/expected/utf-8 @@ -0,0 +1 @@ +äöüÄÖÜß diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/copy/input/iso8859-1 b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/copy/input/iso8859-1 new file mode 100644 index 00000000..09044014 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/copy/input/iso8859-1 @@ -0,0 +1 @@ +äöüÄÖÜß diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/copydir.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/copydir.xml new file mode 100644 index 00000000..8a8abd36 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/copydir.xml @@ -0,0 +1,56 @@ +<?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="copydir-test" basedir="." default="test1"> + + <import file="../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}" /> + </target> + + <target name="test1"> + <copydir/> + </target> + + <target name="test2"> + <copydir src=""/> + </target> + + <target name="test3"> + <copydir dest=""/> + </target> + + <target name="test4"> + <copydir src="." + dest="."/> + </target> + + <target name="test5"> + <mkdir dir="${output}/taskdefs.tmp" /> + <copydir src="." + dest="${output}/taskdefs.tmp"/> + </target> + + <target name="test6"> + <copydir src="." + dest="template.xml"/> + </target> + + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/copyfile.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/copyfile.xml new file mode 100644 index 00000000..0f8c9ab0 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/copyfile.xml @@ -0,0 +1,56 @@ +<?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="copyfile-test" basedir="." default="test1"> + + <import file="../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}" /> + </target> + + <target name="test1"> + <copyfile/> + </target> + + <target name="test2"> + <copyfile src=""/> + </target> + + <target name="test3"> + <copyfile dest=""/> + </target> + + <target name="test4"> + <copyfile src="template.xml" + dest="template.xml"/> + </target> + + <target name="test5"> + <copyfile src="copyfile.xml" + dest="${output}/copyfile.tmp"/> + </target> + + <target name="test6"> + <mkdir dir="${output}/testdir"/> + <copyfile src="copyfile.xml" + dest="${output}/testdir" + forceoverwrite="true" /> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/cvspass.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/cvspass.xml new file mode 100644 index 00000000..bbca110f --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/cvspass.xml @@ -0,0 +1,85 @@ +<?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="cvspass-test" basedir="." default="test1"> + + <taskdef name="cvspass" classname="org.apache.tools.ant.taskdefs.CVSPass"/> + + <target name="test1"> + <cvspass /> + </target> + + <target name="test2"> + <cvspass + cvsroot=":pserver:anoncvs@jakarta.apache.org:/home/cvspublic" + passfile="testpassfile.tmp" + /> + </target> + + <!-- testPassFile --> + <target name="test3"> + <cvspass + cvsroot=":pserver:anoncvs@jakarta.apache.org:/home/cvspublic" + password="anoncvs" + passfile="testpassfile.tmp" + /> + </target> + + <!-- testPassFileDuplicateEntry --> + <target name="test4"> + <cvspass + cvsroot=":pserver:anoncvs@jakarta.apache.org:/home/cvspublic" + password="anoncvs" + passfile="testpassfile.tmp" + /> + <cvspass + cvsroot=":pserver:anoncvs@jakarta.apache.org:/home/cvspublic" + password="anoncvs" + passfile="testpassfile.tmp" + /> + <cvspass + cvsroot=":pserver:guest@cvs.tigris.org:/cvs" + password="guest" + passfile="testpassfile.tmp" + /> + </target> + + <!-- testPassFileMultipleEntry --> + <target name="test5"> + <cvspass + cvsroot=":pserver:anoncvs@jakarta.apache.org:/home/cvspublic" + password="anoncvs" + passfile="testpassfile.tmp" + /> + <cvspass + cvsroot=":pserver:anoncvs@xml.apache.org:/home/cvspublic" + password="anoncvs" + passfile="testpassfile.tmp" + /> + <cvspass + cvsroot=":pserver:guest@cvs.tigris.org:/cvs" + password="guest" + passfile="testpassfile.tmp" + /> + </target> + + <target name="cleanup"> + <delete file="testpassfile.tmp"/> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/defaultexcludes.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/defaultexcludes.xml new file mode 100644 index 00000000..46292501 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/defaultexcludes.xml @@ -0,0 +1,37 @@ +<?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="echo-test" basedir="." default="test1"> + + <target name="cleanup"> + <defaultexcludes default="true"/> + </target> + + <target name="test1"> + <defaultexcludes echo="true"/> + </target> + + <target name="test2"> + <defaultexcludes default="true" add="foo" echo="true"/> + </target> + + <target name="test3"> + <defaultexcludes default="true" remove="**/CVS" echo="true"/> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/delete.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/delete.xml new file mode 100644 index 00000000..d74c8bab --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/delete.xml @@ -0,0 +1,194 @@ +<?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="delete-test" basedir="." default="test1"> + + <import file="../buildfiletest-base.xml"/> + + + <property name="dir" location="${output}" /> + <basename property="dirname" file="${output}"/> + + <macrodef name="expectabsent"> + <attribute name="target" default="${dir}"/> + <sequential> + <fileset id="detritus" dir="@{target}" erroronmissingdir="false"/> + <fail message="@{target} still has: ${toString:detritus}"> + <condition> + <available file="@{target}" /> + </condition> + </fail> + </sequential> + </macrodef> + + <macrodef name="expectdirsonly"> + <sequential> + <fail> + <condition> + <or> + <resourcecount when="greater" count="0"> + <fileset dir="${dir}" /> + </resourcecount> + <not> + <resourcecount count="${srcdirs}"> + <dirset dir="${dir}" /> + </resourcecount> + </not> + </or> + </condition> + </fail> + </sequential> + </macrodef> + + <target name="init"> + <resourcecount property="srcdirs"> + <dirset dir="${basedir}" /> + </resourcecount> + + <resourcecount property="srcsize"> + <files includes="${basedir}/" /> + </resourcecount> + + <mkdir dir="${dir}" /> + + <copy todir="${dir}"> + <fileset dir="${basedir}" excludes="${dirname},${dirname}/**" /> + </copy> + </target> + + <target name="test1"> + <delete /> + </target> + + <target name="test2" depends="init"> + <delete file="${dir}" /> + <fail> + <condition> + <not> + <resourcecount count="${srcsize}"> + <files includes="${dir}/" /> + </resourcecount> + </not> + </condition> + </fail> + </target> + + <target name="test4" depends="init"> + <delete dir="${dir}" /> + <expectabsent /> + </target> + + <target name="test5" depends="init"> + <delete dir="${dir}" includes="**" /> + <expectdirsonly /> + </target> + + <target name="test6" depends="init"> + <delete dir="${dir}" includes="**" includeemptydirs="true" /> + <expectabsent /> + </target> + + <target name="test7" depends="init"> + <delete> + <fileset id="fs" dir="${dir}" /> + </delete> + <expectdirsonly /> + </target> + + <target name="test8" depends="init"> + <delete includeemptydirs="true"> + <fileset dir="${dir}" /> + </delete> + <expectabsent /> + </target> + + <target name="test9" depends="init"> + <delete> + <files> + <include name="${dir}/**"/> + </files> + </delete> + <expectabsent /> + </target> + + <target name="test10"> + <delete> + <filelist dir="${dir}" files="test10absentfile" /> + </delete> + </target> + + <target name="test11"> + <delete failonerror="false"> + <fileset dir="thisdenotesadirectorythatwillneverexistblah" /> + </delete> + </target> + + <target name="test12"> + <delete failonerror="false" includeemptydirs="true"> + <fileset dir="thisdenotesadirectorythatwillneverexistblah" /> + </delete> + </target> + + <target name="test13" depends="init"> + <delete includeemptydirs="true"> + <fileset dir="${dir}" /> + <fileset dir="${dir}" /> + </delete> + <expectabsent /> + </target> + + <target name="test14" depends="init"> + <delete quiet="false"> + <fileset dir="${dir}" /> + <fileset dir="${dir}" /> + </delete> + </target> + + <target name="test15" depends="init"> + <delete quiet="true"> + <fileset dir="${dir}" /> + <fileset dir="${dir}" /> + </delete> + </target> + <!-- Bugzilla 40313 --> + <target name="test16.init"> + <mkdir dir="${dir}/CVS"/> + <touch file="${dir}/CVS/lala"/> + <mkdir dir="${dir}/subdir"/> + </target> + + <target name="test16" depends="test16.init"> + <delete defaultexcludes="false" dir="${dir}" includeemptydirs="true"/> + <expectabsent/> + </target> + + <target name="test17" depends="test16.init"> + <delete dir="${dir}" defaultexcludes="true" includeemptydirs="true"/> + <fail message="file in CVS dir deleted"> + <condition> + <not> + <available file="${dir}/CVS/lala"/> + </not> + </condition> + </fail> + <expectabsent target="${dir}/subdir"/> + </target> + + + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/deltree.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/deltree.xml new file mode 100644 index 00000000..c69d51f0 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/deltree.xml @@ -0,0 +1,29 @@ +<?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="deltree-test" basedir="." default="test1"> + + <target name="test1"> + <deltree/> + </target> + + <target name="test2"> + <deltree dir="taskdefs.tmp"/> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/dirname.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/dirname.xml new file mode 100644 index 00000000..1027db12 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/dirname.xml @@ -0,0 +1,41 @@ +<?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="xxx-test" basedir="." default="test1"> + + <target name="test1"> + <dirname/> + </target> + + <target name="test2"> + <dirname property="propname"/> + </target> + + <target name="test3"> + <dirname file="filename"/> + </target> + + <target name="test4"> + <dirname property="local.dir" file="/usr/local/foo.txt"/> + </target> + + <target name="test5"> + <dirname property="base.dir" file="foo.txt"/> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/dynamictask.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/dynamictask.xml new file mode 100644 index 00000000..307181f2 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/dynamictask.xml @@ -0,0 +1,37 @@ +<?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="dynamic-test" default="simple"> + + <path id="testclasses"> + <pathelement location="../../../../build/testcases" /> + <pathelement path="${java.class.path}" /> + </path> + + <target name="simple"> + <taskdef name="dyna" + classname="org.apache.tools.ant.taskdefs.DynamicTask"> + <classpath refid="testclasses" /> + </taskdef> + <dyna prop1="1" prop2="2"> + <sub prop3="3"/> + <anything prop4="4"/> + </dyna> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/echoxml.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/echoxml.xml new file mode 100644 index 00000000..ec53abbb --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/echoxml.xml @@ -0,0 +1,46 @@ +<?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> + <property name="file" location="echoed.xml" /> + <target name="init"> + <echoxml file="${file}"> + <project> + <property name="foo" value="bar" /> + <fail message="$$$${foo}=$${foo}"> + <condition> + <istrue value="${mustfail}" /> + </condition> + </fail> + </project> + </echoxml> + </target> + <target name="tearDown"> + <delete file="${file}" /> + </target> + <target name="testPass" depends="init"> + <ant antfile="${file}" /> + </target> + <target name="testFail" depends="init"> + <ant antfile="${file}"> + <property name="mustfail" value="true" /> + </ant> + </target> + <target name="testEmpty"> + <echoxml /> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/email/mail.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/email/mail.xml new file mode 100644 index 00000000..c56fd403 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/email/mail.xml @@ -0,0 +1,40 @@ +<?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="mail-test" basedir="." default="test1"> + + <target name="test1"> + <!-- this test is supposed to bring a build exception because user and password is not allowed with plain encoding --> + <mail host="localhost" port="25" from="joe@abc.com" to="laura@xyz.com" subject="hello" encoding="plain" user="joe" password="secret"> + <message> + Hi Laura, how are you doing ? + </message> + </mail> + </target> + <target name="test2"> + <!-- this test is supposed to bring a build exception because SSL is not allowed with plain encoding --> + <mail host="localhost" port="465" from="joe@abc.com" to="laura@xyz.com" subject="hello" encoding="plain" ssl="true"> + <message> + Hi Laura, how are you doing ? + </message> + </mail> + </target> + + + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/exec/blabla.sh b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/exec/blabla.sh new file mode 100644 index 00000000..c996d6af --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/exec/blabla.sh @@ -0,0 +1,24 @@ +# 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. +echo "some blablablablablablablablablablablabla error message" err>&2 +echo "some blablablablablablablablablablablabla info message" out +echo "some blablablablablablablablablablablabla error message" err>&2 +echo "some blablablablablablablablablablablabla info message" out +echo "some blablablablablablablablablablablabla error message" err>&2 +echo "some blablablablablablablablablablablabla info message" out +echo "some blablablablablablablablablablablabla error message" err>&2 +echo "some blablablablablablablablablablablabla info message" out +echo "some blablablablablablablablablablablabla error message" err>&2 +echo "some blablablablablablablablablablablabla info message" out diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/exec/blabla.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/exec/blabla.xml new file mode 100644 index 00000000..3b13195f --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/exec/blabla.xml @@ -0,0 +1,19 @@ +<project name="blabla" default="doit"> + <target name="blabla"> + <exec executable="sh"> + <arg value="blabla.sh" /> + </exec> + </target> + <target name="doit"> + <antcall target="blabla"/> + <antcall target="blabla"/> + <antcall target="blabla"/> + <antcall target="blabla"/> + <antcall target="blabla"/> + <antcall target="blabla"/> + <antcall target="blabla"/> + <antcall target="blabla"/> + <antcall target="blabla"/> + <antcall target="blabla"/> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/exec/exec.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/exec/exec.xml new file mode 100644 index 00000000..20e56565 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/exec/exec.xml @@ -0,0 +1,69 @@ +<?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="exec-test" default="spawn" basedir="."> + <import file="../../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}"/> + <!-- this property can be overriden programatically in the Java test case --> + <property name="timeToWait" value="10"/> + <!-- this property can be overriden programatically in the Java test case --> + <property name="logFile" value="${output}/spawn.log"/> + <property environment="env"/> + <!-- UNIX --> + <available file="sh" filepath="${env.PATH}" property="sh.executable"/> + <!-- CYGWIN --> + <available file="sh.exe" filepath="${env.PATH}" property="sh.exe.executable"/> + <!-- WINDOWS + CYGWIN --> + <available file="sh.exe" filepath="${env.Path}" property="sh.exe.executable"/> + <condition property="test.can.run"> + <or> + <isset property="sh.executable"/> + <isset property="sh.exe.executable"/> + </or> + </condition> + </target> + + <target name="spawn" depends="setUp" if="test.can.run"> + <exec executable="sh" spawn="true"> + <arg value="spawn.sh"/> + <arg value="${timeToWait}"/> + <arg value="${logFile}"/> + </exec> + </target> + + <target name="test-out-and-err" description="see https://issues.apache.org/bugzilla/show_bug.cgi?id=50507" + depends="setUp" if="test.can.run"> + <mkdir dir="${output}"/> + <ant antfile="blabla.xml" output="${output}/test-out-and-err.txt"> + </ant> + <loadfile srcfile="${output}/test-out-and-err.txt" property="test-out-and-err"> + <filterchain> + <replaceregex pattern="^\s*\[exec\] some blablablablablablablablablablablabla error message err$" flags="m"/> + <replaceregex pattern="^\s*\[exec\] some blablablablablablablablablablablabla info message out$" flags="m"/> + </filterchain> + </loadfile> + <fail message="output indicates a mixup of out and err: '${test-out-and-err}'"> + <condition> + <contains string="${test-out-and-err}" substring="[exec]"/> + </condition> + </fail> + + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/exec/parrot.sh b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/exec/parrot.sh new file mode 100644 index 00000000..2467f23a --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/exec/parrot.sh @@ -0,0 +1,19 @@ +# 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. +for arg in "$@" ; do + echo $arg out + sleep 1 + echo $arg err>&2 +done diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/exec/spawn.sh b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/exec/spawn.sh new file mode 100644 index 00000000..2cf0631d --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/exec/spawn.sh @@ -0,0 +1,29 @@ +# 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. +sleeptime=10 +logfile=spawn.log +if [ $# -ge 1 ]; then + sleeptime=$1 + echo $sleeptime +fi +if [ $# -ge 2 ]; then + logfile=$2 + echo $logfile +fi +echo hello +rm $logfile +sleep $sleeptime +echo bye bye > $logfile +echo bye bye diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo-huge.tar.bz2 b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo-huge.tar.bz2 Binary files differnew file mode 100644 index 00000000..7c2d2154 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo-huge.tar.bz2 diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo-huge.tar.gz b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo-huge.tar.gz Binary files differnew file mode 100644 index 00000000..015471e1 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo-huge.tar.gz diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.bz2 b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.bz2 Binary files differnew file mode 100644 index 00000000..0e73d252 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.bz2 diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.gz b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.gz Binary files differnew file mode 100644 index 00000000..decc9187 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.gz diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.md5 b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.md5 new file mode 100644 index 00000000..b56119be --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.md5 @@ -0,0 +1 @@ +0541d3df42520911f268abc730f3afe0 diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.md5sum b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.md5sum new file mode 100644 index 00000000..56c49d33 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.md5sum @@ -0,0 +1 @@ +0541d3df42520911f268abc730f3afe0 *asf-logo.gif diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.pattern b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.pattern new file mode 100644 index 00000000..3a6eb82f --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.pattern @@ -0,0 +1 @@ +foo0541d3df42520911f268abc730f3afe0bar diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.svf b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.svf new file mode 100644 index 00000000..c7f8ec23 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.svf @@ -0,0 +1 @@ +MD5 (asf-logo.gif) = 0541d3df42520911f268abc730f3afe0 diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.tar b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.tar Binary files differnew file mode 100644 index 00000000..fc0f7902 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.tar diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.tar.bz2 b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.tar.bz2 Binary files differnew file mode 100644 index 00000000..99a91fc4 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.tar.bz2 diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.tar.gz b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.tar.gz Binary files differnew file mode 100644 index 00000000..ddd23a24 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.tar.gz diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.zip b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.zip Binary files differnew file mode 100644 index 00000000..5f970d59 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/asf-logo.gif.zip diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/copy.filterset.filtered b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/copy.filterset.filtered new file mode 100644 index 00000000..ddbcf5d8 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/expected/copy.filterset.filtered @@ -0,0 +1 @@ +This is the Apache Ant Project. diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/fail.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/fail.xml new file mode 100644 index 00000000..0a6561e9 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/fail.xml @@ -0,0 +1,130 @@ +<?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="fail-test" basedir="." default="test1"> + + <target name="test1"> + <fail/> + </target> + + <target name="test2"> + <fail message="test2"/> + </target> + + <target name="testText"> + <fail>testText</fail> + </target> + + <target name="testIf"> + <fail if="foo" /> + </target> + + <target name="testUnless"> + <fail unless="foo" /> + </target> + + <target name="testIfAndUnless"> + <fail unless="unless" if="if"/> + </target> + + <target name="testNested1" description="should fail with default message"> + <fail> + <condition> + <and /> + </condition> + </fail> + </target> + + <target name="testNested2" description="should pass"> + <fail> + <condition> + <or /> + </condition> + </fail> + </target> + + <target name="testNested3" description="should fail"> + <fail message="testNested3"> + <condition> + <and /> + </condition> + </fail> + </target> + + <target name="testNested4a" description="should error"> + <fail if="if"> + <condition> + <and /> + </condition> + </fail> + </target> + + <target name="testNested4b" description="should error"> + <fail unless="unless"> + <condition> + <and /> + </condition> + </fail> + </target> + + <target name="testNested4c" description="should error"> + <fail if="if" unless="unless"> + <condition> + <and /> + </condition> + </fail> + </target> + + <target name="testNested5" description="should error"> + <fail> + <condition> + <or /> + </condition> + <condition> + <and /> + </condition> + </fail> + </target> + + <target name="testNested6" description="should fail with message"> + <fail> + <condition> + <and /> + </condition> +testNested6 +testNested6 +testNested6 + </fail> + </target> + + <target name="testNested7a" description="should error"> + <fail> + <condition /> + </fail> + </target> + + <target name="testNested7b" description="should error"> + <fail> + <condition> + <and /> + <and /> + </condition> + </fail> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/filter.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/filter.xml new file mode 100644 index 00000000..303efa74 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/filter.xml @@ -0,0 +1,72 @@ +<?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="filter-test" basedir="." default="test1"> + + <target name="test1"> + <filter/> + </target> + + <target name="test2"> + <filter token=""/> + </target> + + <target name="test3"> + <filter value=""/> + </target> + + <target name="test4"> + <filter token="" value=""/> + </target> + + <target name="test5"> + <filter token="year" value="2000" /> + <copy file="filter1.txt" tofile="filtered.tmp" filtering="yes" overwrite="yes" /> + </target> + + <target name="test6"> + <filter token="year" value="2000" /> + <copy todir="./taskdefs.tmp" filtering="yes" overwrite="yes"> + <fileset dir="." includes="filter1.txt" /> + </copy> + </target> + + <target name="test7"> + <filter token="ROOT" value="root" /> + <copy file="filter2.txt" tofile="filtered.tmp" filtering="yes" overwrite="yes" /> + </target> + + <target name="test8"> + <filter token="ROOT" value="root" /> + <copy todir="./taskdefs.tmp" filtering="yes" overwrite="yes"> + <fileset dir="." includes="filter2.txt"/> + </copy> + </target> + + <target name="test9"> + <filter filtersfile="filterdefs.properties" /> + <copy todir="./taskdefs.tmp" filtering="yes" overwrite="yes"> + <fileset dir="." includes="filter3.txt"/> + </copy> + </target> + + <target name="cleanup"> + <delete dir="taskdefs.tmp" /> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/filter1.txt b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/filter1.txt new file mode 100644 index 00000000..4e4f9763 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/filter1.txt @@ -0,0 +1 @@ +@year@ diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/filter2.txt b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/filter2.txt new file mode 100644 index 00000000..dccd06b8 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/filter2.txt @@ -0,0 +1 @@ +<%@ include file="@ROOT@/some/include.jsp"%> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/filter3.txt b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/filter3.txt new file mode 100644 index 00000000..03d7d29e --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/filter3.txt @@ -0,0 +1 @@ +@property@ diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/filterdefs.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/filterdefs.properties new file mode 100644 index 00000000..f099df3b --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/filterdefs.properties @@ -0,0 +1,15 @@ +# 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. +property=included diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/fixcrlf/build.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/fixcrlf/build.xml new file mode 100644 index 00000000..e2fecac3 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/fixcrlf/build.xml @@ -0,0 +1,331 @@ +<?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="fixcrlf" default="cleanup" basedir="."> + <import file="../../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${input}" /> + <unzip src="input.zip" dest="${input}"/> + <unzip src="expected.zip" dest="${input}"/> + <mkdir dir="${output}" /> + </target> + + + <macrodef name="assertequal"> + <attribute name="junk" default="" /> + <attribute name="name" default="Junk@{junk}.java" /> + <attribute name="file1" default="${output}/@{name}" /> + <attribute name="file2" default="${input}/expected/@{name}" /> + <sequential> + <fail message="@{file1} and @{file2} are different"> + <condition> + <not> + <filesmatch file1="@{file1}" file2="@{file2}" /> + </not> + </condition> + </fail> + </sequential> + </macrodef> + + <target name="test1" depends="setUp"> + <fixcrlf srcdir="${input}/input" destdir="${output}" + includes="Junk1.java" + javafiles="true" tab="add" eol="crlf" eof="asis" /> + <assertequal junk="1" /> + </target> + + <target name="test2" depends="setUp"> + <fixcrlf srcdir="${input}/input" destdir="${output}" + includes="Junk2.java" + javafiles="true" tab="add" cr="add" eol="crlf" eof="asis" /> + <assertequal junk="2" /> + </target> + + <target name="test3" depends="setUp"> + <fixcrlf srcdir="${input}/input" destdir="${output}" + includes="Junk3.java" + javafiles="true" tab="remove" eol="lf" eof="asis" /> + <assertequal junk="3" /> + </target> + + <target name="test4" depends="setUp"> + <fixcrlf srcdir="${input}/input" destdir="${output}" + includes="Junk4.java" + javafiles="true" tab="remove" eol="lf" eof="asis" /> + <assertequal junk="4" /> + </target> + + <target name="test5" depends="setUp"> + <fixcrlf srcdir="${input}/input" destdir="${output}" + includes="Junk5.java" + tab="remove" eol="lf" eof="asis" /> + <assertequal junk="5" /> + </target> + + <target name="test6" depends="setUp"> + <fixcrlf srcdir="${input}/input" destdir="${output}" + includes="Junk6.java" + tab="add" cr="remove" eol="crlf" eof="asis" /> + <assertequal junk="6" /> + </target> + + <target name="test7" depends="setUp"> + <fixcrlf srcdir="${input}/input" destdir="${output}" + includes="Junk7.java" + tab="add" cr="add" eof="asis" /> + <assertequal junk="7" /> + </target> + + <target name="test8" depends="setUp"> + <fixcrlf srcdir="${input}/input" destdir="${output}" + includes="Junk8.java" + javafiles="true" tab="add" cr="add" eof="add" /> + <assertequal junk="8" /> + </target> + + <target name="test9" depends="setUp"> + <fixcrlf srcdir="${input}/input" destdir="${output}" + includes="Junk9.java" + javafiles="true" tab="remove" cr="remove" eof="remove" /> + <assertequal junk="9" /> + </target> + + <target name="testMacLines" depends="setUp"> + <fixcrlf srcdir="${input}/input" destdir="${output}" + includes="Mac2Unix" eol="lf" /> + <assertequal name="Mac2Unix" /> + </target> + + <target name="testNoOverwrite" depends="test1"> + <touch file="${output}/Junk1.java" millis="0" /> + <fixcrlf srcdir="${input}/input" destdir="${output}" + includes="Junk1.java" preservelastmodified="false" + javafiles="true" tab="add" eol="crlf" eof="asis" /> + <fail message="overwrote unchanged output file">Q + <condition> + <not> + <isfileselected file="${output}/Junk1.java"> + <date when="equal" millis="0" /> + </isfileselected> + </not> + </condition> + </fail> + </target> + + <target name="testEncoding" depends="setUp"> + <fixcrlf srcdir="${input}/input" destdir="${output}" + includes="input.crlf.utf16" + javafiles="false" cr="remove" encoding="UnicodeBig" /> + <assertequal file1="${output}/input.crlf.utf16" + file2="${input}/expected/input.lf.utf16" /> + </target> + + <target name="testOutputEncoding" depends="setUp"> + <fixcrlf srcdir="${input}/input" destdir="${output}" + includes="input.crlf.utf16" + javafiles="false" eol="lf" encoding="UnicodeBig" + outputencoding="ascii" /> + <assertequal file1="${output}/input.crlf.utf16" + file2="${input}/expected/input.lf.ascii" /> + </target> + + <target name="testLongLines" depends="setUp"> + <fixcrlf srcdir="${input}/input" destdir="${output}" + includes="longlines.crlf" + javafiles="false" cr="remove" /> + <assertequal file1="${output}/longlines.crlf" + file2="${input}/expected/longlines.lf" /> + </target> + + <target name="testCrCrLfSequence-unix" depends="setUp"> + <fixcrlf srcdir="${input}/input" destdir="${output}" + includes="crcrlf" eol="lf" /> + <assertequal file1="${output}/crcrlf" + file2="${input}/expected/crcrlf.unix" /> + </target> + + <target name="testCrCrLfSequence-dos" depends="setUp"> + <fixcrlf srcdir="${input}/input" destdir="${output}" + includes="crcrlf" eol="crlf" /> + <assertequal file1="${output}/crcrlf" + file2="${input}/expected/crcrlf.dos" /> + </target> + + <target name="testCrCrLfSequence-mac" depends="setUp"> + <fixcrlf srcdir="${input}/input" destdir="${output}" + includes="crcrlf" eol="cr" /> + <assertequal file1="${output}/crcrlf" + file2="${input}/expected/crcrlf.mac" /> + </target> + + <target name="testFixlastDos" depends="setUp"> + <fixcrlf srcdir="${input}/input" destdir="${output}" + includes="fixlastfalse.lf" eol="crlf" /> + <assertequal file1="${output}/fixlastfalse.lf" + file2="${input}/expected/fixlast.dos" /> + </target> + + <target name="testFixlastFalseMac" depends="setUp"> + <fixcrlf srcdir="${input}/input" destdir="${output}" + includes="fixlastfalse.lf" eol="cr" fixlast="false" /> + <assertequal file1="${output}/fixlastfalse.lf" + file2="${input}/expected/fixlastfalse.mac" /> + </target> + + <!-- Bugzilla Report 20840 --> + <target name="createParentDirs" depends="setUp"> + <fixcrlf srcdir="${input}" destdir="${output}" includes="input/Junk1.java" /> + </target> + + <target name="testFixFile" depends="setUp"> + <fixcrlf file="${input}/input/longlines.crlf" destdir="${output}" /> + <fail message="didn't create output file"> + <condition> + <not> + <available file="${output}/longlines.crlf" /> + </not> + </condition> + </fail> + </target> + + <target name="testFixFileExclusive" depends="setUp"> + <fixcrlf file="${input}/input/longlines.crlf" srcdir="${input}/input" destdir="${output}"/> + </target> + + <target name="testPreserveLastModified" depends="setUp"> + <fixcrlf file="${input}/input/longlines.crlf" destdir="${output}" + preservelastmodified="true" /> + <fail> + <condition> + <not> + <uptodate srcfile="${output}/longlines.crlf" + targetfile="${input}/input/longlines.crlf" /> + </not> + </condition> + </fail> + + <touch file="${output}/longlines.crlf" millis="0" /> + + <fixcrlf file="${output}/longlines.crlf" destdir="${output}" eol="lf" + preservelastmodified="true" /> + + <fileset id="fs" file="${output}/longlines.crlf"> + <date when="equal" millis="0" /> + </fileset> + <property name="fs" refid="fs" /> + <fail unless="fs" /> + </target> + + <target name="testFilter1" depends="setUp"> + <copy file="${input}/input/Junk1.java" todir="${output}" overwrite="true"> + <filterchain> + <fixcrlf javafiles="true" tab="add" + eol="crlf" eof="asis" /> + </filterchain> + </copy> + <assertequal junk="1" /> + </target> + + <target name="testFilter2" depends="setUp"> + <copy file="${input}/input/Junk2.java" todir="${output}" overwrite="true"> + <filterchain> + <fixcrlf javafiles="true" tab="add" cr="add" eol="crlf" eof="asis" /> + </filterchain> + </copy> + <assertequal junk="2" /> + </target> + + <target name="testFilter3" depends="setUp"> + <copy file="${input}/input/Junk3.java" todir="${output}" overwrite="true"> + <filterchain> + <fixcrlf javafiles="true" tab="remove" eol="lf" eof="asis" /> + </filterchain> + </copy> + <assertequal junk="3" /> + </target> + + <target name="testFilter4" depends="setUp"> + <copy file="${input}/input/Junk4.java" todir="${output}" overwrite="true"> + <filterchain> + <fixcrlf javafiles="true" tab="remove" eol="lf" eof="asis" /> + </filterchain> + </copy> + <assertequal junk="4" /> + </target> + + <target name="testFilter5" depends="setUp"> + <copy file="${input}/input/Junk5.java" todir="${output}" overwrite="true"> + <filterchain> + <fixcrlf tab="remove" eol="lf" eof="asis" /> + </filterchain> + </copy> + <assertequal junk="5" /> + </target> + + <target name="testFilter6" depends="setUp"> + <copy file="${input}/input/Junk6.java" todir="${output}" overwrite="true"> + <filterchain> + <fixcrlf tab="add" cr="remove" eol="crlf" eof="asis" /> + </filterchain> + </copy> + <assertequal junk="6" /> + </target> + + <target name="testFilter7" depends="setUp"> + <copy file="${input}/input/Junk7.java" todir="${output}" overwrite="true"> + <filterchain> + <fixcrlf tab="add" cr="add" eof="asis" /> + </filterchain> + </copy> + <assertequal junk="7" /> + </target> + + <target name="testFilter8" depends="setUp"> + <copy file="${input}/input/Junk8.java" todir="${output}" overwrite="true"> + <filterchain> + <fixcrlf javafiles="true" tab="add" cr="add" eof="add" /> + </filterchain> + </copy> + <assertequal junk="8" /> + </target> + + <target name="testFilter9" depends="setUp"> + <copy file="${input}/input/Junk9.java" todir="${output}" overwrite="true"> + <filterchain> + <fixcrlf javafiles="true" tab="remove" cr="remove" eof="remove" /> + </filterchain> + </copy> + <assertequal junk="9" /> + </target> + + <target name="testCannotDoubleEof" depends="test8"> + <fixcrlf file="${output}/Junk8.java" + javafiles="true" tab="add" cr="add" eof="add" /> + <assertequal junk="8" /> + </target> + + <target name="testTabInLiteralInComment" depends="setUp"> + <copy file="${input}/input/tab_in_literal_in_comment" todir="${output}" + overwrite="true"> + <filterchain> + <fixcrlf javafiles="true" tab="remove" eol="lf" fixlast="false" /> + </filterchain> + </copy> + <assertequal name="tab_in_literal_in_comment" /> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/fixcrlf/expected.zip b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/fixcrlf/expected.zip Binary files differnew file mode 100644 index 00000000..3111502a --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/fixcrlf/expected.zip diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/fixcrlf/input.zip b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/fixcrlf/input.zip Binary files differnew file mode 100644 index 00000000..f65ba92d --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/fixcrlf/input.zip diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/foo.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/foo.properties new file mode 100644 index 00000000..e4a8152e --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/foo.properties @@ -0,0 +1,15 @@ +# 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. +foo=Foo diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/get.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/get.xml new file mode 100644 index 00000000..b74e92ab --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/get.xml @@ -0,0 +1,107 @@ +<?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="xxx-test" basedir="." default="test1"> + + <target name="test1"> + <get/> + </target> + + <target name="test2"> + <get src=""/> + </target> + + <target name="test3"> + <get src="" dest=""/> + </target> + + <target name="test4"> + <get src="" dest=""/> + </target> + + <target name="test5"> + <get src="http://www.apache.org/" dest=""/> + </target> + + <target name="test6"> + <get src="http://www.apache.org/" dest="get.tmp" userAgent="Apache Ant/test"/> + + <fileset id="t6" file="get.tmp" /> + <pathconvert property="t6" refid="t6" setonempty="false" /> + + <fail message="get failed"> + <condition> + <not> + <isset property="t6" /> + </not> + </condition> + </fail> + </target> + + <target name="test7"> + <get src="" dest="" userAgent=""/> + </target> + + <target name="testUseTimestamp" depends="-90s,-timestamp" /> + + <target name="-90s"> + <property name="off" value="-90" /> + <property name="unit" value="second" /> + </target> + + <target name="testUseTomorrow" depends="+1d,-timestamp" /> + + <target name="+1d"> + <property name="off" value="1" /> + <property name="unit" value="day" /> + </target> + + <target name="-timestamp"> + <property name="pat" value="yyyyMMddHHmm" /> + + <tstamp> + <format property="dt" pattern="${pat}" offset="${off}" unit="${unit}" /> + </tstamp> + + <touch file="get.tmp" datetime="${dt}" pattern="${pat}" /> + + <get src="http://www.w3.org/MarkUp" dest="get.tmp" + usetimestamp="true" verbose="true" /> + + <fileset id="ts" file="get.tmp"> + <date when="equal" datetime="${dt}" pattern="${pat}" /> + </fileset> + + <pathconvert property="ts" refid="ts" setonempty="false" /> + + <fail message="get w/ timestamp should have failed."> + <condition> + <not> + <isset property="ts" /> + </not> + </condition> + </fail> + </target> + + <target name="cleanup"> + <delete> + <fileset dir="${basedir}" includes="get.tmp" /> + </delete> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/gunzip.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/gunzip.xml new file mode 100644 index 00000000..ea75d54d --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/gunzip.xml @@ -0,0 +1,58 @@ +<?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="xxx-test" basedir="." default="test1"> + + <target name="test1"> + <gunzip/> + </target> + + <target name="test2"> + <gunzip src=""/> + </target> + + <target name="cleanup"> + <delete file="asf-logo.gif" /> + </target> + + <target name="testGzipTask"> + <ant antfile="gzip.xml" target="realTest" /> + <gunzip src="asf-logo.gif.gz" dest="asf-logo.gif" /> + <ant antfile="gzip.xml" target="cleanup" /> + </target> + + <target name="realTest"> + <gunzip src="expected/asf-logo.gif.gz" dest="asf-logo.gif" /> + </target> + + <target name="realTestWithResource"> + <gunzip dest="asf-logo.gif"> + <file file="expected/asf-logo.gif.gz"/> + </gunzip> + </target> + + <target name="testDocumentationClaimsOnCopy"> + <copy todir="."> + <gzipresource> + <file file="expected/asf-logo.gif.gz"/> + </gzipresource> + <mapper type="glob" from="*.gz" to="*"/> + </copy> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/gzip.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/gzip.xml new file mode 100644 index 00000000..f1c42623 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/gzip.xml @@ -0,0 +1,56 @@ +<?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="xxx-test" basedir="." default="test1"> + + <target name="test1"> + <gzip/> + </target> + + <target name="test2"> + <gzip src=""/> + </target> + + <target name="test3"> + <gzip zipfile=""/> + </target> + + <target name="test4"> + <gzip src="gzip.xml" zipfile="." /> + </target> + + <target name="realTest"> + <gzip src="../asf-logo.gif" zipfile="asf-logo.gif.gz" /> + </target> + + <target name="realTestWithResource"> + <gzip zipfile="asf-logo.gif.gz"> + <file file="../asf-logo.gif"/> + </gzip> + </target> + + <target name="testDateCheck"> + <touch file="asf-logo.gif.gz"/> + <gzip src="../asf-logo.gif" zipfile="asf-logo.gif.gz" /> + </target> + + <target name="cleanup"> + <delete file="asf-logo.gif.gz" /> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/a.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/a.xml new file mode 100644 index 00000000..cf4e7a5c --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/a.xml @@ -0,0 +1,20 @@ +<?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="A"> + <target name="x"/> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/b.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/b.xml new file mode 100644 index 00000000..f95cf010 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/b.xml @@ -0,0 +1,21 @@ +<?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="B"> + <import file="a.xml"/> + <target name="x" depends="A.x"/> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/bad.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/bad.xml new file mode 100644 index 00000000..a3a06479 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/bad.xml @@ -0,0 +1,20 @@ +<?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> +<<< +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/c.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/c.xml new file mode 100644 index 00000000..d92fbc7f --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/c.xml @@ -0,0 +1,21 @@ +<?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="C"> + <import file="a.xml"/> + <import file="b.xml"/> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/import.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/import.xml new file mode 100644 index 00000000..f84d8e33 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/import.xml @@ -0,0 +1,34 @@ +<?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="import-test" default="main" basedir="."> + <echo>Before import</echo> + + <import file="imported.xml"/> + + <echo message="After import"/> + + <target name="import-init"> + <echo message="In import-init" /> + </target> + + <target name="main" depends="imported"> + <echo message="In main"/> + </target> + + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/import_bad_import.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/import_bad_import.xml new file mode 100644 index 00000000..8ff53672 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/import_bad_import.xml @@ -0,0 +1,20 @@ +<?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> + <import file="bad.xml"/> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/import_same_target.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/import_same_target.xml new file mode 100644 index 00000000..f2b1933e --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/import_same_target.xml @@ -0,0 +1,21 @@ +<?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> + <target name="t"/> + <target name="t"/> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/imported.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/imported.xml new file mode 100644 index 00000000..19dfdb07 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/imported.xml @@ -0,0 +1,26 @@ +<?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="imported-test" default="imported" basedir="."> + + <echo message="In imported top"/> + + <target name="imported" depends="import-init" > + <echo message="In imported target" /> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/importtargetfirst.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/importtargetfirst.xml new file mode 100644 index 00000000..835191ba --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/importtargetfirst.xml @@ -0,0 +1,22 @@ +<?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> + <echo>Importing targetfirst</echo> + <import file="targetfirst.xml"/> + <echo>After importing</echo> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/recursive-selfimport.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/recursive-selfimport.xml new file mode 100644 index 00000000..d5ae3b28 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/recursive-selfimport.xml @@ -0,0 +1,22 @@ +<?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> + <echo>Before import: ${foo}</echo> + <property name="foo" value="bar"/> + <import file="./recursive-selfimport.xml"/> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/same_target.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/same_target.xml new file mode 100644 index 00000000..1a14fe59 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/same_target.xml @@ -0,0 +1,20 @@ +<?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> + <import file="import_same_target.xml"/> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/subdir/importinsequential-inner.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/subdir/importinsequential-inner.xml new file mode 100644 index 00000000..cc2a6813 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/subdir/importinsequential-inner.xml @@ -0,0 +1,25 @@ +<?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> + <target name="within-imported"> + <property name="foo" value="bar"/> + <path id="baz"> + <pathelement location="."/> + </path> + </target> +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/subdir/importinsequential.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/subdir/importinsequential.xml new file mode 100644 index 00000000..fdd68b06 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/subdir/importinsequential.xml @@ -0,0 +1,22 @@ +<?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> + <sequential> + <import file="importinsequential-inner.xml"/> + </sequential> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/subdir/importintarget-inner.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/subdir/importintarget-inner.xml new file mode 100644 index 00000000..cd5086ee --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/subdir/importintarget-inner.xml @@ -0,0 +1,23 @@ +<?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> + <property name="foo" value="bar"/> + <path id="baz"> + <pathelement location="."/> + </path> +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/subdir/importintarget.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/subdir/importintarget.xml new file mode 100644 index 00000000..2dfa370e --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/subdir/importintarget.xml @@ -0,0 +1,24 @@ +<?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> + <target name="do-import"> + <import file="importintarget-inner.xml"/> + </target> + + <target name="no-import"/> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/subdir/serial.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/subdir/serial.xml new file mode 100644 index 00000000..360f9d16 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/subdir/serial.xml @@ -0,0 +1,22 @@ +<?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="serial"> + <import file="../unnamed1.xml"/> + <import file="../unnamed2.xml"/> +</project> + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/symlinks/d1/p1.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/symlinks/d1/p1.xml new file mode 100644 index 00000000..d1b792cb --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/symlinks/d1/p1.xml @@ -0,0 +1,21 @@ +<?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="p1" default="run"> + <import file="../d2/p2.xml"/> + <import file="../d3b/p3.xml"/> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/symlinks/d2/p2.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/symlinks/d2/p2.xml new file mode 100644 index 00000000..51948c9d --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/symlinks/d2/p2.xml @@ -0,0 +1,18 @@ +<?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="p2"/> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/symlinks/d3a/p3.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/symlinks/d3a/p3.xml new file mode 100644 index 00000000..31858455 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/symlinks/d3a/p3.xml @@ -0,0 +1,18 @@ +<?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="p3"/> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/targetfirst.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/targetfirst.xml new file mode 100644 index 00000000..06c1fbed --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/targetfirst.xml @@ -0,0 +1,21 @@ +<?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> + <target name="first"/> + <echo>After target first</echo> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/unnamed1.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/unnamed1.xml new file mode 100644 index 00000000..6fc7fde5 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/unnamed1.xml @@ -0,0 +1,22 @@ +<?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="test"> + <import file="unnamed2.xml"/> + + <echo message="Unnamed1.xml" level="info"/> +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/unnamed2.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/unnamed2.xml new file mode 100644 index 00000000..c0fd7c65 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/unnamed2.xml @@ -0,0 +1,20 @@ +<?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="test"> + <echo message="Unnamed2.xml" level="info"/> +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/unnamedImport.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/unnamedImport.xml new file mode 100644 index 00000000..13b3a85c --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/import/unnamedImport.xml @@ -0,0 +1,25 @@ +<?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="unnamed-import" default="test"> + + <import file="unnamed1.xml"/> + + <target name="test"> + <echo level="info">Tests import of unnamed projects</echo> + </target> +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/initializeclass.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/initializeclass.xml new file mode 100644 index 00000000..6e079919 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/initializeclass.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + 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="test" default="all"> + <target name="all"/> + + <target name="forked"> + <java fork="true" output="forkedout" failonerror="true" + className="org.apache.tools.ant.taskdefs.dir1.B"> + + <classpath> + <pathelement path="../../../../build/testcases"/> + <pathelement location="${java.home}/lib/classes.zip" /> + </classpath> + </java> + </target> + + <target name="unforked"> + <java className="org.apache.tools.ant.taskdefs.dir1.B"> + <classpath> + <pathelement path="../../../../build/testcases"/> + <pathelement location="${java.home}/lib/classes.zip" /> + </classpath> + </java> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/input.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/input.properties new file mode 100644 index 00000000..c0025a3f --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/input.properties @@ -0,0 +1,25 @@ +# 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. +Press\ Return\ key\ to\ continue...=test +All\ data\ is\ going\ to\ be\ deleted\ from\ DB\ continue?=test +All\ data\ is\ going\ to\ be\ deleted\ from\ db\ continue\ (y/n)?=y +Please\ enter\ db-username\:=scott +# +# JDK 1.1 doesn't seem to handle blanks in the property key +# +Press_Return_key_to_continue...=test +All_data_is_going_to_be_deleted_from_DB_continue?=test +All_data_is_going_to_be_deleted_from_db_continue_(y/n)?=y +Please_enter_db_username=scott diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/input.stdin b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/input.stdin new file mode 100644 index 00000000..3bd1f0e2 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/input.stdin @@ -0,0 +1,2 @@ +foo +bar diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/input.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/input.xml new file mode 100644 index 00000000..d204b79d --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/input.xml @@ -0,0 +1,119 @@ +<?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="input-test" basedir="." default="test1"> + + <target name="test1"> + <input>Press Return key to continue...</input> + </target> + + <target name="test2"> + <input message="Press Return key to continue..." /> + </target> + + <target name="test3"> + <input message="All data is going to be deleted from DB continue?" + validargs="y,n" + /> + </target> + + <target name="test5"> + <input message="All data is going to be deleted from db continue (y/n)?" + validargs="y,n" + /> + </target> + + <target name="test6"> + <input message="Please enter db-username:" + addproperty="db.user" + /> + </target> + + <target name="testPropertyFileInlineHandler"> + <input message="Press Return key to continue..." addproperty="test"> + <handler type="propertyfile" /> + </input> + <fail> + <condition> + <not> + <equals arg1="${test}" arg2="test" /> + </not> + </condition> + </fail> + </target> + + <target name="testDefaultInlineHandler"> + <input message="Press Return key to continue..." addproperty="test"> + <handler type="default" /> + </input> + <fail message="$${test} = ${test}"> + <condition> + <not> + <equals arg1="${test}" arg2="foo" /> + </not> + </condition> + </fail> + </target> + + <target name="testGreedyInlineHandler"> + <input message="Press Return key to continue..." addproperty="test"> + <handler type="greedy" /> + </input> + <loadfile srcFile="input.stdin" property="input" /> + <fail message="$${test} = ${test}"> + <condition> + <not> + <equals arg1="${test}" arg2="${input}" /> + </not> + </condition> + </fail> + </target> + + <target name="testGreedyInlineHandlerClassname"> + <input message="Press Return key to continue..." addproperty="test"> + <handler classname="org.apache.tools.ant.input.GreedyInputHandler" /> + </input> + <loadfile srcFile="input.stdin" property="input" /> + <fail message="$${test} = ${test}"> + <condition> + <not> + <equals arg1="${test}" arg2="${input}" /> + </not> + </condition> + </fail> + </target> + + <target name="testGreedyInlineHandlerRefid"> + <typedef name="greedy" + classname="org.apache.tools.ant.input.GreedyInputHandler" /> + <greedy id="greedy" /> + + <input message="Press Return key to continue..." addproperty="test"> + <handler refid="greedy" /> + </input> + <loadfile srcFile="input.stdin" property="input" /> + <fail message="$${test} = ${test}"> + <condition> + <not> + <equals arg1="${test}" arg2="${input}" /> + </not> + </condition> + </fail> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/jar.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/jar.xml new file mode 100644 index 00000000..78d1abc6 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/jar.xml @@ -0,0 +1,285 @@ +<?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="jar-test" basedir="." default="test1"> + + <import file="../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}" /> + </target> + + <property name="tmp.jar" location="${output}/tmp.jar"/> + <property name="tmp.dir" location="${output}/jartmp"/> + <property name="tmp.zip" location="${output}/tmp.zip"/> + <property name="tmp1.dir" location="${output}/jartmp1"/> + <property name="tmp2.dir" location="${output}/jartmp2"/> + + <target name="test1"> + <jar/> + </target> + + <target name="test2"> + <jar + jarfile="jar.tmp" + manifest="none" + /> + </target> + + <target name="test3"> + <jar + destfile="jar.tmp" + whenempty="format C: /y" + /> + </target> + + <target name="test4"> + <jar + destfile="${tmp.jar}" + basedir="." + includes="jar.xml" + /> + </target> + + <target name="testNoRecreateWithUpdate"> + <jar + destfile="${tmp.jar}" + basedir="." + includes="jar.xml" + update="true" + /> + </target> + + <target name="testRecreateNewerFileSetup" depends="test4"> + <touch file="jar.xml"/> + </target> + + <target name="testRecreateWithoutUpdateAdditionalFiles"> + <jar + destfile="${tmp.jar}" + includes="*.xml" + basedir="." + /> + </target> + + <target name="testRecreateWithUpdateAdditionalFiles"> + <jar + destfile="${tmp.jar}" + basedir="." + includes="*.xml" + update="true" + /> + </target> + + <target name="testRecreateWithoutUpdateNewerFile"> + <jar + destfile="${tmp.jar}" + basedir="." + includes="jar.xml" + /> + </target> + + <target name="testRecreateWithUpdateNewerFile"> + <jar + destfile="${tmp.jar}" + basedir="." + includes="jar.xml" + update="true" + /> + </target> + + <target name="testManifestStaysIntact"> + <mkdir dir="${tmp.dir}"/> + <manifest file="${tmp.dir}/manifest"> + <attribute name="Foo" value="bar"/> + </manifest> + <jar destfile="${tmp.jar}" basedir="." includes="jar.xml" + manifest="${tmp.dir}/manifest"/> + <touch file="jar.xml"/> + <jar destfile="${tmp.jar}" basedir="." includes="jar.xml" + update="true"/> + <unjar src="${tmp.jar}" dest="${tmp.dir}"/> + </target> + + <target name="testNoRecreateBasedirExcludesWithUpdate"> + <jar + destfile="${tmp.jar}" + basedir="." + includes="j*.xml" + excludes="java.xml" + update="true" + /> + </target> + + <target name="testNoRecreateBasedirExcludesWithoutUpdate"> + <jar + destfile="${tmp.jar}" + basedir="." + includes="j*.xml" + excludes="java.xml" + /> + </target> + + <target name="makezip"> + <zip destfile="${tmp.zip}" + basedir="." includes="j*.xml"/> + </target> + + <target name="testNoRecreateZipfilesetExcludesWithUpdate" + depends="makezip"> + <jar destfile="${tmp.jar}" + update="true"> + <zipfileset src="${tmp.zip}" excludes="java.xml"/> + </jar> + </target> + + <target name="testNoRecreateZipfilesetExcludesWithoutUpdate" + depends="makezip"> + <jar destfile="${tmp.jar}"> + <zipfileset src="${tmp.zip}" excludes="java.xml"/> + </jar> + </target> + + <target name="testRecreateZipfilesetWithoutUpdateAdditionalFiles" + depends="makezip"> + <jar destfile="${tmp.jar}"> + <zipfileset src="${tmp.zip}"/> + </jar> + </target> + + <target name="testRecreateZipfilesetWithUpdateAdditionalFiles" + depends="makezip"> + <jar destfile="${tmp.jar}" + update="true"> + <zipfileset src="${tmp.zip}"/> + </jar> + </target> + + <target name="testRecreateZipfilesetWithoutUpdateNewerFile" + depends="makezip"> + <jar destfile="${tmp.jar}"> + <zipfileset src="${tmp.zip}" includes="jar.xml"/> + </jar> + </target> + + <target name="testRecreateZipfilesetWithUpdateNewerFile" + depends="makezip"> + <jar destfile="${tmp.jar}" + update="true"> + <zipfileset src="${tmp.zip}" includes="jar.xml"/> + </jar> + </target> + + <target name="testCreateWithEmptyFilesetSetUp"> + <mkdir dir="${tmp1.dir}"/> + <mkdir dir="${tmp2.dir}"/> + <echo file="${tmp2.dir}/foo.txt" message="foo"/> + </target> + + <target name="testCreateWithEmptyFileset"> + <jar destfile="${tmp.jar}"> + <fileset dir="${tmp1.dir}"> + <include name="**/*.doesNotExist"/> + </fileset> + <fileset dir="${tmp2.dir}"> + <include name="**/foo.txt"/> + </fileset> + </jar> + </target> + + <!-- bug 17780 --> + <target name="testUpdateIfOnlyManifestHasChanged" + depends="test4"> + <jar destfile="${tmp.jar}" update="true"> + <manifest> + <attribute name="Foo" value="bar"/> + </manifest> + </jar> + <mkdir dir="${tmp.dir}"/> + <unzip src="${tmp.jar}" dest="${tmp.dir}"/> + </target> + + <!-- bugs 10262 and 16972 --> + <target name="testIndexTests"> + <mkdir dir="${tmp.dir}/META-INF"/> + <touch file="${tmp.dir}/META-INF/INDEX.LIST"/> + <touch file="${tmp.dir}/foo"/> + <mkdir dir="${tmp.dir}/sub"/> + <touch file="${tmp.dir}/sub/foo"/> + <jar destfile="${tmp.jar}" index="yes" basedir="${tmp.dir}"/> + </target> + <!-- bug 32802 --> + <target name="testManifestOnlyJar"> + <mkdir dir="${tmp.dir}"/> + <jar destfile="${tmp.jar}" duplicate="preserve"> + <manifest> + <attribute name="Foo" value="bar"/> + </manifest> + </jar> + <mkdir dir="${tmp.dir}"/> + <unzip src="${tmp.jar}" dest="${tmp.dir}"/> + + </target> + + <!-- bug 37237 --> + <target name="testIndexJarsPlusJarMarker"> + <mkdir dir="${tmp.dir}/a/b/c"/> + <jar destfile="${tmp.jar}" basedir="${tmp.dir}"/> + <delete dir="${tmp.dir}/a" quiet="true"/> + <mkdir dir="${tmp.dir}/d/e/f"/> + <jar destfile="${tmp.jar}2" basedir="${tmp.dir}" index="true"> + <indexjars> + <fileset file="${tmp.jar}"/> + </indexjars> + </jar> + </target> + + <target name="testNoVersionInfoNoStrict"> + <mkdir dir="${tmp.dir}"/> + <jar destfile="${tmp.jar}" basedir="${tmp.dir}"/> + </target> + + <target name="testNoVersionInfoFail"> + <mkdir dir="${tmp.dir}"/> + <jar destfile="${tmp.jar}" basedir="${tmp.dir}" strict="fail"/> + </target> + + <target name="testNoVersionInfoIgnore"> + <mkdir dir="${tmp.dir}"/> + <jar destfile="${tmp.jar}" basedir="${tmp.dir}" strict="ignore"/> + </target> + + <target name="testNoVersionInfoWarn"> + <mkdir dir="${tmp.dir}"/> + <jar destfile="${tmp.jar}" basedir="${tmp.dir}" strict="warn"/> + </target> + + <!-- see http://java.sun.com/j2se/1.3/docs/guide/versioning/spec/VersioningSpecification.html#PackageVersioning --> + <target name="testHasVersionInfo"> + <mkdir dir="${tmp.dir}"/> + <jar destfile="${tmp.jar}" basedir="${tmp.dir}" strict="fail"> + <manifest> + <attribute name="Implementation-Title" value="Packaging Version Test"/> + <attribute name="Implementation-Version" value="1.0"/> + <attribute name="Implementation-Vendor" value="Apache Software Foundation"/> + </manifest> + </jar> + </target> + + +</project> 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> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/javadoc/java/ClassToJavadoc.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/javadoc/java/ClassToJavadoc.java new file mode 100644 index 00000000..a41bdc15 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/javadoc/java/ClassToJavadoc.java @@ -0,0 +1,39 @@ +/* + * 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. + * + */ +package etc.testcases.taskdefs.javadoc.java; + +/** + * This is a simple class to provide grist for the javadoc mill + * while testing it. + */ +public class ClassToJavadoc { + /** + * @param anArgument A String that is ignored + */ + public void methodToJavadoc(String anArgument) { } + + /** + * @see java.lang.Object#toString() + */ + public String toString() { return this.getClass().getName(); } + + /** + * @return An arbitrary string. + */ + public String anotherString() {return "An arbitrary string.";} +} diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/javadoc/javadoc.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/javadoc/javadoc.xml new file mode 100644 index 00000000..2a05ec0f --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/javadoc/javadoc.xml @@ -0,0 +1,155 @@ +<?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="javadoc" basedir="."> + <import file="../../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}"/> + </target> + + <path id="path.dirset"> + <dirset dir="." /> + </path> + + + <target name="dirsetPath"> + <javadoc sourcepathref="path.dirset" packagenames="*" destdir="${output}" /> + </target> + + <target name="dirsetPathWithoutPackagenames"> + <javadoc sourcepathref="path.dirset" destdir="${output}" /> + </target> + + <target name="nestedDirsetPath"> + <javadoc packagenames="*" destdir="${output}"> + <sourcepath refid="path.dirset" /> + </javadoc> + </target> + + <path id="path.fileset"> + <pathelement location="."/> + <fileset dir="java/" id="fileset.inpath"> + <include name="**/*.java" /> + </fileset> + </path> + + <target name="filesetPath"> + <javadoc sourcepathref="path.fileset" packagenames="*" destdir="${output}" /> + </target> + + <target name="nestedFilesetPath"> + <javadoc packagenames="*" destdir="${output}"> + <sourcepath refid="path.fileset" /> + </javadoc> + </target> + + <target name="nestedFilesetRefInPath"> + <javadoc packagenames="*" destdir="${output}"> + <fileset refid="fileset.inpath" /> + </javadoc> + </target> + + <target name="nestedFilesetNoPatterns"> + <javadoc packagenames="*" destdir="${output}"> + <fileset dir="java/"/> + </javadoc> + </target> + + <target name="doublyNestedFileset"> + <javadoc packagenames="*" destdir="${output}"> + <sourcefiles> + <fileset dir="java/" includes="**/*.java"/> + </sourcefiles> + </javadoc> + </target> + + <target name="doublyNestedFilesetNoPatterns"> + <javadoc packagenames="*" destdir="${output}"> + <sourcefiles> + <fileset dir="java/"/> + </sourcefiles> + </javadoc> + </target> + + <path id="path.filelist"> + <pathelement location="."/> + <filelist dir="java/"> + <file name="ClassToJavadoc.java" /> + </filelist> + </path> + + <target name="filelistPath"> + <javadoc sourcepathref="path.filelist" packagenames="*" + destdir="${output}" /> + </target> + + <target name="nestedFilelistPath"> + <javadoc packagenames="*" destdir="${output}"> + <sourcepath refid="path.filelist" /> + </javadoc> + </target> + + <!-- this property is set when the tests are run using ant's build.xml --> + <property name="root" location="../../../../.."/> + + <path id="path.pathelement.path"> + <pathelement path="${root}/src" /> + </path> + + <target name="pathelementPath"> + <javadoc sourcepathref="path.pathelement.path" + packagenames="etc.testcases.taskdefs.javadoc.*" destdir="${output}" /> + </target> + + <path id="path.pathelement.location"> + <pathelement location="."/> + <pathelement path="java/ClassToJavadoc.java" /> + </path> + + <target name="pathelementLocationPath"> + <javadoc sourcepathref="path.pathelement.location" + packagenames="*" destdir="${output}" /> + </target> + + <target name="nestedSource"> + <javadoc destdir="${output}"> + <source file="java/ClassToJavadoc.java" /> + </javadoc> + </target> + + <fileset dir="java/" id="fileset.simple"> + <include name="**/*.java" /> + </fileset> + + <target name="nestedFilesetRef"> + <javadoc destdir="${output}"> + <fileset refid="fileset.simple" /> + </javadoc> + </target> + + <target name="nonJavaIncludes"> + <echo file="${output}/stuff1.java">public class stuff1 {}</echo> + <echo file="${output}/stuff2.java">public class stuff2 {}</echo> + <echo file="${output}/stuff.properties">x=4</echo> + <javadoc destdir="${output}" failonerror="true"> + <fileset dir="${output}"/> + </javadoc> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/loadfile.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/loadfile.xml new file mode 100644 index 00000000..66c9ce4f --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/loadfile.xml @@ -0,0 +1,163 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + 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="loadfile-test" basedir="." default="testLoadAFile"> + + + <target name="init"> + </target> + + <target name="testNoSourcefileDefined" depends="init"> + <loadfile property="foo" /> + </target> + + <target name="testNoPropertyDefined" + depends="init"> + <loadfile srcFile="somefile" /> + </target> + + + <target name="testNoSourcefilefound" + depends="init"> + <loadfile property="missing" srcFile="somefile" /> + </target> + + <target name="testFailOnError" + depends="init"> + <loadfile + property="testFailOnError" + srcFile="somefile" + failonerror="false"/> + </target> + + <target name="testLoadAFile" + depends="init"> + <echo + message="What's it going to be then, eh?" + file="loadfile1.tmp" + /> + <loadfile property="testLoadAFile" srcFile="loadfile1.tmp" /> + <echo>${testLoadAFile}</echo> + </target> + + <target name="testLoadAFileEnc" + depends="init"> + <loadfile property="testLoadAFileEnc" + srcFile="loadfile.xml" + encoding="ISO-8859-1"/> + </target> + + <target name="testEvalProps" + depends="init"> + <property name="weather" value="rain" /> + <echo + message="All these moments will be lost in time, like teardrops in the ${weather}" + file="loadfile1.tmp" + /> + <loadfile property="testEvalProps" + srcFile="loadfile1.tmp"> + <filterchain> + <expandproperties/> + </filterchain> + </loadfile> + <echo>${testEvalProps}</echo> + </target> + + <target name="testFilterChain" + depends="init"> + <echo file="loadfile1.tmp">#Line 1 +REM Line 2 +--Line 3 +Line 4 +Hello World!</echo> + <loadfile srcFile="loadfile1.tmp" + property="testFilterChain"> + <filterchain> + <headfilter lines="5"/> + <striplinecomments> + <comment value="--"/> + <comment value="REM "/> + <comment value="#"/> + </striplinecomments> + <filterreader classname="org.apache.tools.ant.filters.TailFilter"> + <param name="lines" value="1"/> + </filterreader> + <linecontains> + <contains value="World!"/> + </linecontains> + </filterchain> + </loadfile> + </target> + + <target name="testStripJavaComments" + depends="init"> + <echo file="loadfile1.tmp"> +/* +Comment "1" +*/ +public class test1 { + //Some comment + int x = 1/2; + private static final String GREETING="*/Hello/*"; + private static final String GREETING1="/*Hello*/"; + + public static void main( String args[] ) { + } +}</echo> + <echo file="nocomments.tmp"> + +public class test1 { + + int x = 1/2; + private static final String GREETING="*/Hello/*"; + private static final String GREETING1="/*Hello*/"; + + public static void main( String args[] ) { + } +}</echo> + <loadfile srcFile="loadfile1.tmp" + property="testStripJavaComments"> + <filterchain> + <stripjavacomments/> + </filterchain> + </loadfile> + <loadfile srcFile="nocomments.tmp" + property="expected"/> + </target> + + <target name="testOneLine" + depends="init"> + <echo + message="1, 2, 3, 4" + file="loadfile1.tmp" + /> + <loadfile property="testOneLine" + srcFile="loadfile1.tmp"> + <filterchain> + <striplinebreaks/> + </filterchain> + </loadfile> + <echo>${testOneLine}</echo> + </target> + + + <target name="cleanup"> + <delete file="loadfile1.tmp"/> + <delete file="nocomments.tmp"/> + </target> + + </project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/macrodef.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/macrodef.xml new file mode 100644 index 00000000..f7a356fc --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/macrodef.xml @@ -0,0 +1,290 @@ +<?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> + + <target name="simple"> + <macrodef name="my.echo"> + <attribute name="text"/> + <sequential> + <echo message="@{text}"/> + </sequential> + </macrodef> + <my.echo text="Hello World"/> + </target> + + <target name="text"> + <macrodef name="my.echo"> + <attribute name="text"/> + <sequential> + <echo>@{text}</echo> + </sequential> + </macrodef> + <my.echo text="Inner Text"/> + </target> + + <target name="duplicate.attribute"> + <macrodef name="my.echo"> + <attribute name="text"/> + <attribute name="text"/> + <sequential> + <echo>@{text}</echo> + </sequential> + </macrodef> + </target> + + <target name="duplicate.element"> + <macrodef name="my.echo"> + <element name="text"/> + <element name="text"/> + <sequential> + <text/> + </sequential> + </macrodef> + </target> + + <target name="uri"> + <macrodef name="echo" uri="abc"> + <attribute name="text"/> + <sequential> + <echo message="@{text}"/> + </sequential> + </macrodef> + <x:echo xmlns:x="abc" text="Hello World"/> + </target> + + <target name="nested"> + <macrodef name="nested"> + <element name="nested"/> + <sequential> + <nested/> + </sequential> + </macrodef> + + <nested> + <nested> + <echo>A nested element</echo> + </nested> + </nested> + </target> + + <target name="double"> + <macrodef name="double"> + <attribute name="prop"/> + <sequential> + <echo>@@{prop} is '@{prop}', value of $${@{prop}} is '${@{prop}}'</echo> + </sequential> + </macrodef> + <property name="property" value="A property value"/> + <double prop="property"/> + </target> + + <target name="ignorecase"> + <macrodef name="ignore"> + <attribute name="MyAttribute"/> + <sequential> + <echo>@{myattribute} is @{MYATTRIBUTE}</echo> + </sequential> + </macrodef> + <ignore myattribute="a"/> + <ignore Myattribute="b"/> + </target> + + <target name="ignore-element-case"> + <macrodef name="ignore"> + <element name="MyElement"/> + <sequential> + <myElement/> + <MyElEmEnT/> + </sequential> + </macrodef> + <ignore> + <MYELEMENT> + <echo>nested element</echo> + </MYELEMENT> + </ignore> + </target> + + <target name="textelement"> + <macrodef name="echotest"> + <text name="text" optional="yes"/> + <sequential> + <echo>@{text}</echo> + </sequential> + </macrodef> + <echotest> + Hello world + </echotest> + </target> + + <target name="text.trim"> + <macrodef name="echotest"> + <text name="text" trim="yes"/> + <sequential> + <echo>[@{text}]</echo> + </sequential> + </macrodef> + <echotest> + Hello world + </echotest> + </target> + + <target name="duplicatetextname"> + <macrodef name="echotest"> + <attribute name="text"/> + <text name="text"/> + <sequential> + <echo>@{text}</echo> + </sequential> + </macrodef> + </target> + + <target name="duplicatetextname2"> + <macrodef name="echotest"> + <text name="text"/> + <attribute name="text"/> + <sequential> + <echo>@{text}</echo> + </sequential> + </macrodef> + </target> + + <target name="escape"> + <macrodef name="escape"> + <attribute name="a"/> + <attribute name="b"/> + <sequential> + <echo>a@b or a@@b is @{a}@@@{b}</echo> + </sequential> + </macrodef> + <escape a="avalue" b="bvalue"/> + </target> + + <target name="attribute.description"> + <macrodef name="d"> + <attribute name="description"/> + <attribute name="d" default="p"/> + <sequential> + <echo>description is @{description}</echo> + </sequential> + </macrodef> + <d description="hello world"/> + </target> + + <target name="implicit"> + <macrodef name="implicit"> + <element name="implicit" implicit="yes"/> + <sequential> + <echo>Before implicit</echo> + <implicit/> + <echo>After implicit</echo> + </sequential> + </macrodef> + + <implicit> + <echo>In implicit</echo> + </implicit> + </target> + + <target name="implicit.notoptional"> + <macrodef name="implicit"> + <element name="implicit" implicit="yes"/> + <sequential> + <echo>Before implicit</echo> + <implicit/> + <echo>After implicit</echo> + </sequential> + </macrodef> + + <implicit> + </implicit> + </target> + + <target name="implicit.optional"> + <macrodef name="implicit"> + <element name="implicit" optional="yes" implicit="yes"/> + <sequential> + <echo>Before implicit</echo> + <implicit/> + <echo>After implicit</echo> + </sequential> + </macrodef> + + <implicit> + </implicit> + </target> + + <target name="implicit.explicit"> + <macrodef name="implicit"> + <element name="explicit" optional="yes"/> + <element name="implicit" optional="yes" implicit="yes"/> + <sequential> + <implicit/> + <explicit/> + </sequential> + </macrodef> + </target> + + <property name="default.override" value="old"/> + <macrodef name="simple.override"> + <attribute name="attr" default="${default.override}"/> + <sequential> + <echo>value is @{attr}</echo> + </sequential> + </macrodef> + + <target name="override.default"> + <antcall target="override.call"> + <param name="default.override" value="new"/> + </antcall> + </target> + + <target name="override.call"> + <simple.override/> + </target> + + <target name="backtraceoff"> + <macrodef name="nobacktrace" backtrace="false"> + <sequential> + <fail>This is a failure</fail> + </sequential> + </macrodef> + <nobacktrace/> + </target> + <target name="backtraceon"> + <macrodef name="nobacktrace" backtrace="true"> + <sequential> + <fail>This is a failure</fail> + </sequential> + </macrodef> + <nobacktrace/> + </target> + + <target name="top-level-text"> + <macrodef name="top"> + <element name="em"/> + <sequential> + <echo><em/></echo> + </sequential> + </macrodef> + <top> + <em> + Hello World + </em> + </top> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/makeurl.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/makeurl.xml new file mode 100644 index 00000000..dafd00a2 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/makeurl.xml @@ -0,0 +1,79 @@ +<?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="to-url" > + + + <target name="testEmpty"> + <makeurl/> + </target> + + <target name="testNoProperty"> + <makeurl file="foo"/> + </target> + + <target name="testNoFile"> + <makeurl property="foo"/> + </target> + + <target name="testWorks"> + <makeurl property="testWorks" file="foo" validate="false"/> + <fail unless="testWorks" /> + </target> + + <target name="testIllegalChars"> + <makeurl property="testIllegalChars" file="fo o%" validate="false"/> + </target> + + <target name="testRoundTrip"> + <makeurl property="testRoundTrip" file="${ant.file}"/> + </target> + + <target name="testIllegalCombinations"> + <makeurl property="testIllegalCombinations" file="foo" validate="false"> + <fileset dir="." includes="*.xml" /> + </makeurl> + </target> + + + <target name="testFileset"> + <makeurl property="testFileset"> + <fileset dir="." includes="*.xml" /> + </makeurl> + </target> + + <target name="testFilesetSeparator"> + <makeurl property="testFilesetSeparator" separator='","'> + <fileset dir="." includes="*.xml" /> + </makeurl> + </target> + + <target name="testValidation"> + <makeurl property="testValidation" file="absent" validate="true"/> + </target> + + <target name="testPath"> + <path id="test.path"> + <pathelement location="." /> + <fileset dir="." includes="*.xml"/> + </path> + <makeurl property="testPath"> + <path refid="test.path" /> + </makeurl> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifest.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifest.xml new file mode 100644 index 00000000..aecaf967 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifest.xml @@ -0,0 +1,267 @@ +<?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. +--> + +<!-- Manifest tests build file --> +<project name="manifest-test" basedir="." default="test1"> + <import file="../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}/manifests"/> + </target> + + <target name="test1" depends="setUp"> + <jar file="${output}/mftest1.jar" manifest="manifests/test1.mf"/> + <unjar src="${output}/mftest1.jar" dest="${output}/manifests"> + <patternset> + <include name="META-INF/MANIFEST.MF"/> + </patternset> + </unjar> + </target> + + <target name="test2" depends="setUp"> + <jar file="${output}/mftest2.jar" manifest="manifests/test2.mf"/> + <unjar src="${output}/mftest2.jar" dest="${output}/manifests"> + <patternset> + <include name="META-INF/MANIFEST.MF"/> + </patternset> + </unjar> + </target> + + <target name="test3" depends="setUp"> + <jar file="${output}/mftest3.jar" manifest="manifests/test3.mf"/> + </target> + + <target name="test4" depends="setUp"> + <jar file="${output}/mftest4.jar" manifest="manifests/test4.mf"/> + </target> + + <target name="test5" depends="setUp"> + <jar file="${output}/mftest5.jar" manifest="manifests/test5.mf"/> + </target> + + <target name="test6" depends="setUp"> + <jar file="${output}/mftest6.jar" manifest="manifests/test6.mf"/> + </target> + + <target name="test7" depends="setUp"> + <jar file="${output}/mftest7.jar" manifest="manifests/test7.mf"/> + </target> + + <target name="test8" depends="setUp"> + <jar file="${output}/mftest8.jar"> + <manifest> + <attribute name="Class-Path" value="fubar"/> + <section name="Test"> + <attribute name="TestAttr" value="Test"/> + </section> + </manifest> + </jar> + <unjar src="${output}/mftest8.jar" dest="${output}/manifests"> + <patternset> + <include name="META-INF/MANIFEST.MF"/> + </patternset> + </unjar> + </target> + + <target name="test9" depends="setUp"> + <jar file="${output}/mftest9.jar"> + <manifest> + <attribute name="Class-Path" value="fubar"/> + <section name="Test"> + <attribute name="Name" value="Test"/> + </section> + </manifest> + </jar> + </target> + + <target name="test10" depends="setUp"> + <jar file="${output}/mftest10.jar"> + <manifest> + <attribute value="fubar"/> + </manifest> + </jar> + </target> + + <target name="test11" depends="setUp"> + <jar file="${output}/mftest11.jar"> + <manifest> + <attribute name="Test"/> + </manifest> + </jar> + </target> + + <target name="test12" depends="setUp"> + <jar file="${output}/mftest12.jar"> + <manifest> + <section> + <attribute name="TestAttr" value="Test"/> + </section> + </manifest> + </jar> + </target> + + <target name="test13" depends="setUp"> + <jar file="${output}/mftest13.jar"> + <manifest> + <attribute name="Test" value="Test1"/> + <attribute name="Test" value="Test2"/> + </manifest> + </jar> + </target> + + <target name="test14" depends="setUp"> + <jar file="${output}/mftest14.jar"> + <manifest> + <attribute name="Class-path" value="Test1"/> + <attribute name="Class-path" value="Test2"/> + <attribute name="Class-Path" value="Test3"/> + <attribute name="class-Path" value="Test4"/> + </manifest> + </jar> + <unjar src="${output}/mftest14.jar" dest="${output}/manifests"> + <patternset> + <include name="META-INF/MANIFEST.MF"/> + </patternset> + </unjar> + </target> + + <target name="testNoFile"> + <manifest /> + </target> + + <target name="testLongLine" depends="setUp"> + <jar file="${output}/mftestLongLine.jar"> + <manifest> + <attribute name="Class-path" + value="${test.longline}"/> + <attribute name="${test.long68name}" value="${test.value}" /> + <attribute name="${test.long70name}" value="${test.value}" /> + <attribute name="${test.notlongname}" value="${test.value}" /> + </manifest> + </jar> + <unjar src="${output}/mftestLongLine.jar" dest="${output}/manifests"> + <patternset> + <include name="META-INF/MANIFEST.MF"/> + </patternset> + </unjar> + </target> + + <target name="testOrder1" depends="setUp"> + <jar file="${output}/mftestOrder1.jar"> + <manifest> + <section name="Test1"> + <attribute name="TestAttr1" value="Test1"/> + <attribute name="TestAttr2" value="Test2"/> + </section> + <section name="Test2"> + <attribute name="TestAttrx" value="Testx"/> + </section> + </manifest> + </jar> + <unjar src="${output}/mftestOrder1.jar" dest="${output}/manifests"> + <patternset> + <include name="META-INF/MANIFEST.MF"/> + </patternset> + </unjar> + </target> + + <target name="testOrder2" depends="setUp"> + <jar file="${output}/mftestOrder2.jar"> + <manifest> + <section name="Test2"> + <attribute name="TestAttrx" value="Testx"/> + </section> + <section name="Test1"> + <attribute name="TestAttr2" value="Test2"/> + <attribute name="TestAttr1" value="Test1"/> + </section> + </manifest> + </jar> + <unjar src="${output}/mftestOrder2.jar" dest="${output}/manifests"> + <patternset> + <include name="META-INF/MANIFEST.MF"/> + </patternset> + </unjar> + </target> + + <target name="testReplace" depends="setUp"> + <copy file="manifests/test2.mf" toFile="${output}/mftest.mf" /> + <manifest file="${output}/mftest.mf" /> + </target> + + <target name="testUpdate" depends="setUp"> + <copy file="manifests/test2.mf" toFile="${output}/mftest.mf" /> + <manifest file="${output}/mftest.mf" mode="update"> + <attribute name="Foo" value="Bar" /> + </manifest> + + <copy file="manifests/test2.mf" toFile="${output}/mftest2.mf" /> + <manifest file="${output}/mftest2.mf" mode="update"> + <section name="Test"> + <attribute name="Foo" value="Bar" /> + </section> + </manifest> + <manifest file="${output}/mftest2.mf" mode="update"> + <section name="Test"> + <attribute name="Foo" value="Baz" /> + </section> + </manifest> + </target> + + <target name="testFrom" depends="setUp"> + <manifest file="${output}/mftestfrom.mf" > + <section name="Test"> + <attribute name="before" value="before" /> + <attribute name="From" value="illegal"/> + <attribute name="after" value="after" /> + </section> + </manifest> + </target> + + <target name="testIllegalName" depends="setUp"> + <manifest file="${output}/mftestillegalname.mf"> + <attribute name="has blank" value="value"/> + </manifest> + </target> + + <target name="testIllegalNameInSection" depends="setUp"> + <manifest file="${output}/mftestillegalnameinsection.mf"> + <section name="s1"> + <attribute name="has blank" value="value"/> + </section> + </manifest> + </target> + + <target name="testIllegalNameBegin" depends="setUp"> + <manifest file="${output}/mftestillegalnamebegin.mf"> + <attribute name="-name" value="value"/> + </manifest> + </target> + + <target name="testIllegalName2" depends="setUp"> + <manifest file="${output}/mftestillegalnamebegin.mf"> + <attribute name="has.point" value="value"/> + </manifest> + </target> + + <target name="testIllegalName3" depends="setUp"> + <manifest file="${output}/mftestillegalnamebegin.mf"> + <attribute name="has*star" value="value"/> + </manifest> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifestclasspath.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifestclasspath.xml new file mode 100644 index 00000000..f8a47951 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifestclasspath.xml @@ -0,0 +1,238 @@ +<?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="manifestclasspath" default="tearDown"> + + <import file="../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}" /> + </target> + + <!-- hebrew --> + <property name="jom" value="םוי"/> + <!-- german --> + <property name="aent" value="ãnt"/> + <target name="fullSetUp" depends="setUp"> + <mkdir dir="${output}/lib" /> + <touch file="${output}/lib/acme-core.jar" /> + <touch file="${output}/lib/acme-pres.jar" /> + + <mkdir dir="${output}/classes/dsp-core/com/lgc/infra/core" /> + <mkdir dir="${output}/classes/dsp-pres/com/lgc/infra/pres" /> + <mkdir dir="${output}/classes/dsp-void" /> + <mkdir dir="${output}/generated/dsp-core/com/lgc/infra/core/generated" /> + <mkdir dir="${output}/generated/dsp-pres" /> + <mkdir dir="${output}/generated/dsp-void" /> + <mkdir dir="${output}/resources/dsp-core/com/lgc/infra/core" /> + <mkdir dir="${output}/resources/dsp-pres/com/lgc/infra/pres" /> + <mkdir dir="${output}/resources/dsp-void" /> + </target> + + <target name="test-bad-directory"> + <manifestclasspath property="jar.classpath" + jarfile="${output}/classpath.jar"> + <classpath /> + </manifestclasspath> + </target> + + <target name="test-bad-no-property" depends="setUp"> + <manifestclasspath jarfile="${output}/classpath.jar"> + <classpath /> + </manifestclasspath> + </target> + + <target name="test-bad-property-exists" depends="setUp"> + <property name="jar.classpath" value="exists" /> + <manifestclasspath property="jar.classpath" + jarfile="${output}/classpath.jar"> + <classpath /> + </manifestclasspath> + </target> + + <target name="test-bad-no-jarfile" depends="setUp"> + <manifestclasspath property="jar.classpath"> + <classpath /> + </manifestclasspath> + </target> + + <target name="test-bad-no-classpath" depends="setUp"> + <manifestclasspath property="jar.classpath" + jarfile="${output}/classpath.jar" /> + </target> + + <target name="test-pseudo-tahoe-refid" depends="fullSetUp"> + <path id="classpath"> + <!-- All the classes/ directories --> + <dirset dir="${output}/classes" includes="dsp-*" /> + + <!-- All the JAXB generated/ directories --> + <dirset dir="${output}/generated" includes="dsp-*"> + <!-- Add only non-empty directories to the classpath --> + <present targetdir="${output}/generated" present="both"> + <mapper type="regexp" from="(.*)" to="\1/com" /> + </present> + </dirset> + + <!-- All the resources/ directories --> + <dirset dir="${output}/resources" includes="dsp-*"> + <!-- Add only non-empty directories to the classpath --> + <present targetdir="${output}/resources" present="both"> + <mapper type="regexp" from="(.*)" to="\1/com" /> + </present> + </dirset> + </path> + + <manifestclasspath property="jar.classpath" + jarfile="${output}/classpath.jar"> + <classpath refid="classpath" /> + </manifestclasspath> + </target> + + <target name="test-pseudo-tahoe-nested" depends="fullSetUp"> + <manifestclasspath property="jar.classpath" + jarfile="${output}/classpath.jar"> + <classpath> + <!-- All the classes/ directories --> + <dirset dir="${output}/classes" includes="dsp-*" /> + + <!-- All the JAXB generated/ directories --> + <dirset dir="${output}/generated" includes="dsp-*"> + <!-- Add only non-empty directories to the classpath --> + <present targetdir="${output}/generated" present="both"> + <mapper type="regexp" from="(.*)" to="\1/com" /> + </present> + </dirset> + + <!-- All the resources/ directories --> + <dirset dir="${output}/resources" includes="dsp-*"> + <!-- Add only non-empty directories to the classpath --> + <present targetdir="${output}/resources" present="both"> + <mapper type="regexp" from="(.*)" to="\1/com" /> + </present> + </dirset> + </classpath> + </manifestclasspath> + </target> + + <target name="test-parent-level1" depends="fullSetUp"> + <manifestclasspath property="jar.classpath" + jarfile="${output}/classes/classpath.jar"> + <classpath> + <dirset dir="${output}/classes" includes="dsp-*" /> + <dirset dir="${output}/generated" includes="dsp-*" /> + <dirset dir="${output}/resources" includes="dsp-*" /> + </classpath> + </manifestclasspath> + </target> + + <target name="test-parent-level2" depends="fullSetUp"> + <mkdir dir="${output}/classes/level2" /> + <manifestclasspath property="jar.classpath" + jarfile="${output}/classes/level2/classpath.jar"> + <classpath> + <dirset dir="${output}/classes" includes="dsp-*" /> + <dirset dir="${output}/generated" includes="dsp-*" /> + <dirset dir="${output}/resources" includes="dsp-*" /> + </classpath> + </manifestclasspath> + </target> + + <target name="test-parent-level2-too-deep" depends="fullSetUp"> + <mkdir dir="${output}/classes/level2" /> + <manifestclasspath property="jar.classpath" maxParentLevels="1" + jarfile="${output}/classes/level2/classpath.jar"> + <classpath> + <dirset dir="${output}/classes" includes="dsp-*" /> + <dirset dir="${output}/generated" includes="dsp-*" /> + <dirset dir="${output}/resources" includes="dsp-*" /> + </classpath> + </manifestclasspath> + </target> + + <target name="test-parent-level2-with-jars" depends="fullSetUp"> + <mkdir dir="${output}/classes/level2" /> + <manifestclasspath property="jar.classpath" + jarfile="${output}/classes/level2/classpath.jar"> + <classpath> + <fileset dir="${output}/lib" includes="*.jar" /> + <dirset dir="${output}/classes" includes="dsp-*" /> + <dirset dir="${output}/generated" includes="dsp-*" /> + <dirset dir="${output}/resources" includes="dsp-*" /> + </classpath> + </manifestclasspath> + </target> + + <target name="international-german" depends="setUp"> + <antcall target="run-two-jars"> + <param name="ext.dir" value="${aent}"/> + </antcall> + </target> + <target name="international-hebrew" depends="setUp"> + <antcall target="run-two-jars"> + <param name="ext.dir" value="${jom}"/> + </antcall> + </target> + <target name="run-two-jars"> + <mkdir dir="${output}/${ext.dir}"/> + <javac srcdir="manifestclasspath" destdir="${output}" /> + <jar destfile="${output}/${ext.dir}/alpha.jar"> + <fileset dir="${output}"> + <include name="Alpha.class"/> + </fileset> + </jar> + <manifestclasspath property="jar.classpath" + jarfile="${output}/beta.jar"> + <classpath> + <pathelement location="${output}/beta.jar"/> + <pathelement location="${output}/${ext.dir}/alpha.jar"/> + </classpath> + </manifestclasspath> + <jar destfile="${output}/beta.jar" > + <fileset dir="${output}"> + <include name="Beta.class"/> + </fileset> + <manifest> + <attribute name="Main-Class" value="Beta"/> + <attribute name="Class-Path" value="${jar.classpath}"/> + </manifest> + </jar> + <java fork="true" jar="${output}/beta.jar"/> + </target> + + <target name="testSameDrive"> + <property name="temp" location="${java.io.tmpdir}"/> + <manifestclasspath jarfile="${temp}\e.jar" + maxParentLevels="99" property="cp"> + <classpath> + <pathelement location="${temp}\..\a\b\x.jar"/> + </classpath> + </manifestclasspath> + </target> + + <target name="testDifferentDrive"> + <property name="temp" location="${java.io.tmpdir}"/> + <!-- the property altDriveLetter gets defined in Java --> + <manifestclasspath jarfile="${temp}\e.jar" + maxParentLevels="99" property="cp"> + <classpath> + <pathelement location="${altDriveLetter}:\a\b\x.jar"/> + </classpath> + </manifestclasspath> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifestclasspath/Alpha.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifestclasspath/Alpha.java new file mode 100644 index 00000000..96124d54 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifestclasspath/Alpha.java @@ -0,0 +1,21 @@ +/* +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. +*/ +public class Alpha { + public String toString() { + return "alpha"; + } +} diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifestclasspath/Beta.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifestclasspath/Beta.java new file mode 100644 index 00000000..c1b446f1 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifestclasspath/Beta.java @@ -0,0 +1,25 @@ +/* +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. +*/ +public class Beta extends Alpha { + public String toString() { + return "beta " + super.toString(); + } + public static void main(String [] args) { + Beta myBeta = new Beta(); + System.out.println(myBeta.toString()); + } +} diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifests/test1.mf b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifests/test1.mf new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifests/test1.mf @@ -0,0 +1 @@ + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifests/test2.mf b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifests/test2.mf new file mode 100644 index 00000000..b8a88bd3 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifests/test2.mf @@ -0,0 +1,2 @@ +Manifest-Version: 2.0 + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifests/test3.mf b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifests/test3.mf new file mode 100644 index 00000000..6aa82cca --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifests/test3.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Header-without-colon maybe mistyped + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifests/test4.mf b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifests/test4.mf new file mode 100644 index 00000000..27afb189 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifests/test4.mf @@ -0,0 +1,4 @@ +Manifest-Version: 1.0 + + Can't start with a continuation line + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifests/test5.mf b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifests/test5.mf new file mode 100644 index 00000000..0fb8deae --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifests/test5.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Name: test5 + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifests/test6.mf b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifests/test6.mf new file mode 100644 index 00000000..97988c69 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifests/test6.mf @@ -0,0 +1,5 @@ +Manifest-Version: 1.0 + +Test: test6 +Class-Path: fubar + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifests/test7.mf b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifests/test7.mf new file mode 100644 index 00000000..72aace0b --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/manifests/test7.mf @@ -0,0 +1,4 @@ +Manifest-Version: 1.0 +Class-Path: fubar +From: Jack + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/mkdir.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/mkdir.xml new file mode 100644 index 00000000..1ecc274d --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/mkdir.xml @@ -0,0 +1,39 @@ +<?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="xxx-test" basedir="." default="test1"> + + <import file="../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}" /> + </target> + + <target name="test1"> + <mkdir/> + </target> + + <target name="test2"> + <mkdir dir="template.xml"/> + </target> + + <target name="test3"> + <mkdir dir="${output}/testdir.tmp"/> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/move.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/move.xml new file mode 100644 index 00000000..8b4a6c8e --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/move.xml @@ -0,0 +1,263 @@ +<?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="move-test" basedir="." default="testFilterSet"> + + <import file="../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}" /> + </target> + + <target name="testFilterSet"> + <copy file="copy.filterset" tofile="${output}/move.filterset"/> + <move file="${output}/move.filterset" tofile="${output}/move.filterset.tmp"> + <filterset> + <filter token="TITLE" value="Apache Ant Project"/> + </filterset> + </move> + </target> + + <target name="testFilterChain"> + <copy file="copy.filterset" tofile="${output}/move.filterchain"/> + <move file="${output}/move.filterchain" tofile="${output}/move.filterchain.tmp"> + <filterchain> + <replacetokens> + <token key="TITLE" value="Apache Ant Project"/> + </replacetokens> + </filterchain> + </move> + </target> + + <!-- Bugzilla Report 11732 --> + <target name="testDirectoryRemoval"> + <mkdir dir="${output}/A/B"/> + <mkdir dir="${output}/A/C"/> + <mkdir dir="${output}/A/D"/> + <touch file="${output}/A/B/1"/> + <touch file="${output}/A/C/2"/> + <touch file="${output}/A/D/3"/> + <mkdir dir="${output}/E"/> + <move todir="${output}/E" includeemptydirs="true"> + <fileset dir="${output}/A"> + <include name="C"/> + <include name="D"/> + <include name="C/**"/> + <include name="D/**"/> + </fileset> + </move> + </target> + + <!-- Bugzilla Report 18886 --> + <target name="testDirectoryRetaining"> + <mkdir dir="${output}/A"/> + <touch file="${output}/A/1"/> + <mkdir dir="${output}/E"/> + <move todir="${output}/E" includeemptydirs="true"> + <fileset dir="${output}/A" includes="1"/> + </move> + </target> + + <target name="testCompleteDirectoryMove"> + <mkdir dir="${output}/A"/> + <touch file="${output}/A/1"/> + <move todir="${output}/E"> + <fileset dir="${output}/A"/> + </move> + </target> + + <target name="testCompleteDirectoryMove2"> + <mkdir dir="${output}/A"/> + <touch file="${output}/A/1"/> + <move todir="${output}/E"> + <path> + <fileset dir="${output}/A"/> + </path> + </move> + </target> + + <target name="testPathElementMove"> + <mkdir dir="${output}/A"/> + <touch file="${output}/A/1"/> + <move todir="${output}/E" flatten="true"> + <path> + <pathelement location="${output}/A/1"/> + </path> + </move> + </target> + + <target name="testMoveFileAndFileset"> + <mkdir dir="${output}/A" /> + <touch> + <filelist dir="${output}/A" files="1,2,3" /> + </touch> + <move todir="${output}/E" file="${output}/A/1"> + <fileset dir="${output}/A" includes="2,3" /> + </move> + <fail message="A unavailable"> + <condition> + <not> + <available file="${output}/A" type="dir" /> + </not> + </condition> + </fail> + <fail message="${output}/A/1 not moved"> + <condition> + <or> + <available file="${output}/A/1" type="file" /> + <not> + <available file="${output}/E/1" type="file" /> + </not> + </or> + </condition> + </fail> + <fail message="${output}/A/2 not moved"> + <condition> + <or> + <available file="${output}/A/2" type="file" /> + <not> + <available file="${output}/E/2" type="file" /> + </not> + </or> + </condition> + </fail> + <fail message="${output}/A/3 not moved"> + <condition> + <or> + <available file="${output}/A/3" type="file" /> + <not> + <available file="${output}/E/3" type="file" /> + </not> + </or> + </condition> + </fail> + </target> + + <macrodef name="verifymove"> + <attribute name="newfile" /> + <attribute name="olddir" /> + <sequential> + <fail message="@{newfile} not available"> + <condition> + <not> + <available file="@{newfile}" type="file" /> + </not> + </condition> + </fail> + <fail message="@{olddir} remains"> + <condition> + <available file="@{olddir}" type="dir" /> + </condition> + </fail> + </sequential> + </macrodef> + + <target name="testCompleteDirectoryMoveToExistingDir"> + <mkdir dir="${output}/A" /> + <touch file="${output}/A/1" /> + <mkdir dir="${output}/E" /> + <touch file="${output}/E/2" /> + <move todir="${output}/E"> + <fileset dir="${output}/A" /> + </move> + <verifymove newfile="${output}/E/1" olddir="${output}/A" /> + <fail message="E/2 unavailable"> + <condition> + <not> + <available file="${output}/E/2" type="file" /> + </not> + </condition> + </fail> + </target> + + <target name="testCompleteDirectoryMoveFileToFile"> + <mkdir dir="${output}/A"/> + <touch file="${output}/A/1"/> + <move file="${output}/A" tofile="${output}/E" /> + <verifymove newfile="${output}/E/1" olddir="${output}/A" /> + </target> + + <target name="testCompleteDirectoryMoveFileToDir"> + <mkdir dir="${output}/A"/> + <touch file="${output}/A/1"/> + <move file="${output}/A" todir="${output}/E" /> + <verifymove newfile="${output}/E/A/1" olddir="${output}/A" /> + </target> + + <target name="testCompleteDirectoryMoveFileAndFileset"> + <mkdir dir="${output}/A/1" /> + <touch file="${output}/A/2" /> + <move file="${output}/A/1" todir="${output}/E"> + <fileset dir="${output}/A" includes="2" /> + </move> + <fail message="A unavailable"> + <condition> + <not> + <available file="${output}/A" type="dir" /> + </not> + </condition> + </fail> + <fail message="E/1 unavailable"> + <condition> + <not> + <available file="${output}/E/1" type="dir" /> + </not> + </condition> + </fail> + <fail message="E/2 unavailable"> + <condition> + <not> + <available file="${output}/E/2" type="file" /> + </not> + </condition> + </fail> + </target> + + <target name="testCompleteDirectoryMoveFileToExistingFile"> + <mkdir dir="${output}/A"/> + <touch file="${output}/A/1"/> + <touch file="${output}/E"/> + <move file="${output}/A" tofile="${output}/E" /> + </target> + + <target name="testCompleteDirectoryMoveFileToExistingDir"> + <mkdir dir="${output}/A"/> + <touch file="${output}/A/1"/> + <mkdir dir="${output}/E"/> + <move file="${output}/A" tofile="${output}/E" /> + <verifymove newfile="${output}/E/1" olddir="${output}/A" /> + </target> + + <target name="testCompleteDirectoryMoveFileToDirWithExistingFile"> + <mkdir dir="${output}/A"/> + <touch file="${output}/A/1"/> + <mkdir dir="${output}/E"/> + <touch file="${output}/E/A"/> + <move file="${output}/A" todir="${output}/E" /> + </target> + + <target name="testCompleteDirectoryMoveFileToDirWithExistingDir"> + <mkdir dir="${output}/A"/> + <touch file="${output}/A/1"/> + <mkdir dir="${output}/E"/> + <mkdir dir="${output}/E/A"/> + <move file="${output}/A" todir="${output}/E" /> + <verifymove newfile="${output}/E/A/1" olddir="${output}/A" /> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/multimap.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/multimap.xml new file mode 100644 index 00000000..ce4b1218 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/multimap.xml @@ -0,0 +1,192 @@ +<?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="test" basedir="."> + + <import file="../buildfiletest-base.xml"/> + + <path id="testclasses"> + <pathelement location="../../../../build/testcases" /> + <pathelement path="${java.class.path}" /> + </path> + + <mapper id="testmapper" + classname="org.apache.tools.ant.taskdefs.MultiMapTest$TestMapper" + classpathref="testclasses"/> + + <property name="map.ext" value=".copy2"/> + <property name="rootScratchDir" value="${output}/test_multi_mapper_scratch_area"/> + <property name="baseScratchSrc" value="${rootScratchDir}/src"/> + <property name="baseScratchDest" value="${rootScratchDir}/dest"/> + + <target name="setUp"> + <delete dir="${baseScratchSrc}"/> + <mkdir dir="${baseScratchSrc}"/> + <delete dir="${baseScratchDest}"/> + <mkdir dir="${baseScratchDest}"/> + <touch file="${baseScratchSrc}/somefile.txt"/> + </target> + + <!-- test simple single file to multiple file move --> + <target name="multicopy" depends="setUp"> + <copy todir="${baseScratchDest}" enablemultiplemappings="true"> + <fileset dir="${baseScratchSrc}" includes="somefile.txt"/> + <mapper refid="testmapper"/> + </copy> + <condition property="multicopy.outcome"> + <and> + <available file="${baseScratchDest}/somefile.txt"/> + <available file="${baseScratchDest}/somefile.txt${map.ext}"/> + </and> + </condition> + <fail unless="multicopy.outcome">multicopy failed</fail> + </target> + + <target name="multimove" depends="setUp"> + <move todir="${baseScratchDest}" enablemultiplemappings="true"> + <fileset dir="${baseScratchSrc}" includes="somefile.txt"/> + <mapper refid="testmapper"/> + </move> + <condition property="test2.outcome"> + <and> + <available file="${baseScratchDest}/somefile.txt"/> + <available file="${baseScratchDest}/somefile.txt${map.ext}"/> + <not> + <available file="${baseScratchSrc}/somefile.txt"/> + </not> + <not> + <available file="${baseScratchSrc}/somefile.txt${map.ext}"/> + </not> + </and> + </condition> + <fail unless="test2.outcome">mulitmove failed</fail> + </target> + + <!-- + test traditional single file to single file copy explicitly telling + task to ignore multiple mappings + --> + + <target name="singlecopy" depends="setUp"> + <copy todir="${baseScratchDest}" enablemultiplemappings="false"> + <fileset dir="${baseScratchSrc}" includes="somefile.txt"/> + <mapper refid="testmapper"/> + </copy> + <condition property="singlecopy.outcome"> + <and> + <available file="${baseScratchDest}/somefile.txt"/> + <not> + <available file="${baseScratchDest}/somefile.txt${map.ext}"/> + </not> + <available file="${baseScratchSrc}/somefile.txt"/> + </and> + </condition> + <fail unless="singlecopy.outcome">singlecopy failed</fail> + </target> + + <target name="singlemove" depends="setUp"> + <move todir="${baseScratchDest}" enablemultiplemappings="false"> + <fileset dir="${baseScratchSrc}" includes="somefile.txt"/> + <mapper refid="testmapper"/> + </move> + <condition property="singlemove.outcome"> + <and> + <available file="${baseScratchDest}/somefile.txt"/> + <not> + <available file="${baseScratchDest}/somefile.txt${map.ext}"/> + </not> + <not> + <available file="${baseScratchSrc}/somefile.txt"/> + </not> + </and> + </condition> + <fail unless="singlemove.outcome">singlemove failed</fail> + </target> + + <!-- test dir w/ file + empty dir multimap copy --> + <target name="copywithempty"> + <delete dir="${baseScratchSrc}"/> + <mkdir dir="${baseScratchSrc}/dirwithfile"/> + <mkdir dir="${baseScratchSrc}/emptydir"/> + <touch file="${baseScratchSrc}/dirwithfile/somefile.txt"/> + + <delete dir="${baseScratchDest}"/> + <mkdir dir="${baseScratchDest}"/> + + <copy todir="${baseScratchDest}" enablemultiplemappings="true"> + <fileset dir="${baseScratchSrc}" includes="**/*"/> + <mapper refid="testmapper"/> + </copy> + <condition property="copywithempty.outcome"> + <and> + <available file="${baseScratchDest}/dirwithfile"/> + <available file="${baseScratchDest}/dirwithfile${map.ext}"/> + <available file="${baseScratchDest}/dirwithfile/somefile.txt"/> + <available file="${baseScratchDest}/dirwithfile/somefile.txt${map.ext}"/> + <not> + <available file="${baseScratchDest}/dirwithfile${map.ext}/somefile.txt"/> + </not> + <not> + <available file="${baseScratchDest}/dirwithfile${map.ext}/somefile.txt${map.ext}"/> + </not> + <available file="${baseScratchDest}/emptydir"/> + <available file="${baseScratchDest}/emptydir${map.ext}"/> + </and> + </condition> + <fail unless="copywithempty.outcome">copywithempty failed</fail> + </target> + <!-- test dir w/ file + empty dir multimap move --> + <target name="movewithempty"> + <delete dir="${baseScratchSrc}"/> + <mkdir dir="${baseScratchSrc}/dirwithfile"/> + <mkdir dir="${baseScratchSrc}/emptydir"/> + <touch file="${baseScratchSrc}/dirwithfile/somefile.txt"/> + + <delete dir="${baseScratchDest}"/> + <mkdir dir="${baseScratchDest}"/> + + <move todir="${baseScratchDest}" enablemultiplemappings="true"> + <fileset dir="${baseScratchSrc}" includes="**/*"/> + <mapper refid="testmapper"/> + </move> + <condition property="movewithempty.outcome"> + <and> + <available file="${baseScratchDest}/dirwithfile"/> + <available file="${baseScratchDest}/dirwithfile${map.ext}"/> + <available file="${baseScratchDest}/dirwithfile/somefile.txt"/> + <available file="${baseScratchDest}/dirwithfile/somefile.txt${map.ext}"/> + <not> + <available file="${baseScratchDest}/dirwithfile${map.ext}/somefile.txt"/> + </not> + <not> + <available file="${baseScratchDest}/dirwithfile${map.ext}/somefile.txt${map.ext}"/> + </not> + <available file="${baseScratchDest}/emptydir"/> + <available file="${baseScratchDest}/emptydir${map.ext}"/> + <not> + <available file="${baseScratchSrc}/dirwithfile"/> + </not> + <not> + <available file="${baseScratchSrc}/emptydir"/> + </not> + </and> + </condition> + <fail unless="movewithempty.outcome">movewithempty failed</fail> + </target> + + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/nice.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/nice.xml new file mode 100644 index 00000000..e67ee19c --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/nice.xml @@ -0,0 +1,66 @@ +<?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="nice" basedir="."> + +<description> +Test nicing. To make the test more complex we may be running in a nice mode +to start with, and we want to restore that value at the end. So every test +that succeeds must restore the saved value. +</description> + <target name="noop"> + <nice/> + </target> + + <target name="current"> + <nice currentPriority="nice.now"/> + <fail unless="nice.now"/> + </target> + + <target name="faster"> + <nice newPriority="8" currentPriority="nice.old"/> + <nice currentPriority="nice.now"/> + <condition property="test.succeeded"> + <equals arg1="${nice.now}" arg2="8" /> + </condition> + <nice newPriority="${nice.old}"/> + <fail unless="test.succeeded"/> + </target> + + <target name="slower"> + <nice newPriority="3" currentPriority="nice.old"/> + <nice currentPriority="nice.now"/> + <condition property="test.succeeded"> + <equals arg1="${nice.now}" arg2="3" /> + </condition> + <nice newPriority="${nice.old}"/> + <fail unless="test.succeeded"/> + </target> + + <target name="too_slow"> + <nice currentPriority="nice.old"/> + <nice newPriority="0"/> + <nice newPriority="${nice.old}"/> + </target> + + <target name="too_fast"> + <nice currentPriority="nice.old"/> + <nice newPriority="20"/> + <nice newPriority="${nice.old}"/> + </target> + +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/nopermissions.zip b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/nopermissions.zip Binary files differnew file mode 100644 index 00000000..979ee68b --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/nopermissions.zip diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/antlr/antlr.g b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/antlr/antlr.g new file mode 100644 index 00000000..9f724936 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/antlr/antlr.g @@ -0,0 +1,76 @@ +/* +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. +*/ +class CalcParser extends Parser; +options { + buildAST = true; // uses CommonAST by default +} + +expr + : mexpr (PLUS^ mexpr)* SEMI! + ; + +mexpr + : atom (STAR^ atom)* + ; + +atom: INT + ; + +class CalcLexer extends Lexer; + +WS : (' ' + | '\t' + | '\n' + | '\r') + { _ttype = Token.SKIP; } + ; + +LPAREN: '(' + ; + +RPAREN: ')' + ; + +STAR: '*' + ; + +PLUS: '+' + ; + +SEMI: ';' + ; + +protected +DIGIT + : '0'..'9' + ; + +INT : (DIGIT)+ + ; + +class CalcTreeWalker extends TreeParser; + +expr returns [float r] +{ + float a,b; + r=0; +} + : #(PLUS a=expr b=expr) {r = a+b;} + | #(STAR a=expr b=expr) {r = a*b;} + | i:INT {r = (float)Integer.parseInt(i.getText());} + ; + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/antlr/antlr.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/antlr/antlr.xml new file mode 100644 index 00000000..c136d061 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/antlr/antlr.xml @@ -0,0 +1,128 @@ +<?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="antlr-test" basedir="." default="test1"> + + <import file="../../../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}" /> + </target> + + <target name="test1"> + <antlr/> + </target> + + <target name="test2"> + <antlr target="antlr.g" outputdirectory="${output}"/> + </target> + + <target name="test3" depends="setUp"> + <antlr target="antlr.g" outputdirectory="${output}"/> + <fail> + <condition> + <!-- to prove each of these files exists; + ANTLR >= 2.7.6 leaves behind new (.smap) files as well. --> + <resourcecount when="ne" count="5"> + <fileset dir="${output}"> + <include name="CalcParserTokenTypes.txt" /> + <include name="CalcParserTokenTypes.java" /> + <include name="CalcLexer.java" /> + <include name="CalcParser.java" /> + <include name="CalcTreeWalker.java" /> + </fileset> + </resourcecount> + </condition> + </fail> + </target> + + <target name="test4" depends="setUp"> + <antlr target="java.g" outputdirectory="${output}"/> + <antlr dir="${output}" target="java.tree.g" outputdirectory="${output}"/> + </target> + + <target name="test5" depends="setUp"> + <antlr target="java.tree.g" outputdirectory="${output}" fork="yes"/> + </target> + + <target name="test6" depends="setUp"> + <antlr target="java.g" outputdirectory="${output}" /> + <antlr dir="${output}" + target="java.tree.g" + outputdirectory="${output}" + fork="yes"/> + </target> + + <target name="test7"> + <antlr target="antlr.xml"/> + </target> + + <target name="test8" depends="setUp"> + <antlr target="extended.calc.g" outputdirectory="${output}" glib="non-existent-file.g"/> + </target> + + <target name="test9" depends="setUp"> + <!-- Note that I had to copy the grammars over to the temporary directory. --> + <!-- This is because ANTLR expects the super grammar and its generated java --> + <!-- files to be in the same directory, which won't be the case if I use --> + <!-- the output directory option. --> + <copy file="antlr.g" todir="${output}"/> + <copy file="extended.calc.g" todir="${output}"/> + <antlr target="${output}/antlr.g"/> + <antlr target="${output}/extended.calc.g" glib="${output}/antlr.g"/> + </target> + + <target name="test10" depends="setUp"> + <antlr target="antlr.g" outputdirectory="${output}" html="yes"/> + </target> + + <target name="test11" depends="setUp"> + <antlr target="antlr.g" outputdirectory="${output}" diagnostic="yes"/> + </target> + + <target name="test12" depends="setUp"> + <antlr target="antlr.g" outputdirectory="${output}" trace="yes"/> + </target> + + <target name="test13" depends="setUp"> + <antlr target="antlr.g" outputdirectory="${output}" traceLexer="yes" traceParser="yes" traceTreeWalker="yes"/> + </target> + + <!-- test9 will have been run before that --> + <target name="noRecompile"> + <antlr target="${output}/extended.calc.g" glib="${output}/antlr.g"/> + </target> + + <!-- test9 will have been run before that --> + <target name="normalRecompile"> + <touch file="${output}/extended.calc.g"/> + <antlr target="${output}/extended.calc.g" glib="${output}/antlr.g"/> + </target> + + <!-- test9 will have been run before that --> + <target name="supergrammarChangeRecompile"> + <touch file="${output}/antlr.g"/> + <antlr target="${output}/extended.calc.g" glib="${output}/antlr.g"/> + </target> + + <target name="tearDown"> + <delete dir="${output}" /> + <delete file="../../../../../../CalcParserTokenTypes.txt"/> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/antlr/extended.calc.g b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/antlr/extended.calc.g new file mode 100644 index 00000000..00c1993f --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/antlr/extended.calc.g @@ -0,0 +1,23 @@ +/* +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. +*/ +// Not really a great extension, but it is only a test after all! + +class ExtendedCalcParser extends CalcParser; + +exprList + : LPAREN (expr)* RPAREN + ; diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/antlr/java.g b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/antlr/java.g new file mode 100644 index 00000000..e5857502 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/antlr/java.g @@ -0,0 +1,1162 @@ +/** Java 1.2 Recognizer + * + * Run 'java Main <directory full of java files>' + * + * Contributing authors: + * John Mitchell johnm@non.net + * Terence Parr parrt@magelang.com + * John Lilley jlilley@empathy.com + * Scott Stanchfield thetick@magelang.com + * Markus Mohnen mohnen@informatik.rwth-aachen.de + * Peter Williams pwilliams@netdynamics.com + * + * Version 1.00 December 9, 1997 -- initial release + * Version 1.01 December 10, 1997 + * fixed bug in octal def (0..7 not 0..8) + * Version 1.10 August 1998 (parrt) + * added tree construction + * fixed definition of WS,comments for mac,pc,unix newlines + * added unary plus + * Version 1.11 (Nov 20, 1998) + * Added "shutup" option to turn off last ambig warning. + * Fixed inner class def to allow named class defs as statements + * synchronized requires compound not simple statement + * add [] after builtInType DOT class in primaryExpression + * "const" is reserved but not valid..removed from modifiers + * Version 1.12 (Feb 2, 1999) + * Changed LITERAL_xxx to xxx in tree grammar. + * Updated java.g to use tokens {...} now for 2.6.0 (new feature). + * + * Version 1.13 (Apr 23, 1999) + * Didn't have (stat)? for else clause in tree parser. + * Didn't gen ASTs for interface extends. Updated tree parser too. + * Updated to 2.6.0. + * Version 1.14 (Jun 20, 1999) + * Allowed final/abstract on local classes. + * Removed local interfaces from methods + * Put instanceof precedence where it belongs...in relationalExpr + * It also had expr not type as arg; fixed it. + * Missing ! on SEMI in classBlock + * fixed: (expr) + "string" was parsed incorrectly (+ as unary plus). + * fixed: didn't like Object[].class in parser or tree parser + * Version 1.15 (Jun 26, 1999) + * Screwed up rule with instanceof in it. :( Fixed. + * Tree parser didn't like (expr).something; fixed. + * Allowed multiple inheritance in tree grammar. oops. + * Version 1.16 (August 22, 1999) + * Extending an interface built a wacky tree: had extra EXTENDS. + * Tree grammar didn't allow multiple superinterfaces. + * Tree grammar didn't allow empty var initializer: {} + * Version 1.17 (October 12, 1999) + * ESC lexer rule allowed 399 max not 377 max. + * java.tree.g didn't handle the expression of synchronized + * statements. + * + * BUG: + * Doesn't like boolean.class! + * + * class Test { + * public static void main( String args[] ) { + * if (boolean.class.equals(boolean.class)) { + * System.out.println("works"); + * } + * } + * } + * + * This grammar is in the PUBLIC DOMAIN + */ +class JavaRecognizer extends Parser; +options { + k = 2; // two token lookahead + exportVocab=Java; // Call its vocabulary "Java" + codeGenMakeSwitchThreshold = 2; // Some optimizations + codeGenBitsetTestThreshold = 3; + defaultErrorHandler = false; // Don't generate parser error handlers + buildAST = true; +} + +tokens { + BLOCK; MODIFIERS; OBJBLOCK; SLIST; CTOR_DEF; METHOD_DEF; VARIABLE_DEF; + INSTANCE_INIT; STATIC_INIT; TYPE; CLASS_DEF; INTERFACE_DEF; + PACKAGE_DEF; ARRAY_DECLARATOR; EXTENDS_CLAUSE; IMPLEMENTS_CLAUSE; + PARAMETERS; PARAMETER_DEF; LABELED_STAT; TYPECAST; INDEX_OP; + POST_INC; POST_DEC; METHOD_CALL; EXPR; ARRAY_INIT; + IMPORT; UNARY_MINUS; UNARY_PLUS; CASE_GROUP; ELIST; FOR_INIT; FOR_CONDITION; + FOR_ITERATOR; EMPTY_STAT; FINAL="final"; ABSTRACT="abstract"; +} + +// Compilation Unit: In Java, this is a single file. This is the start +// rule for this parser +compilationUnit + : // A compilation unit starts with an optional package definition + ( packageDefinition + | /* nothing */ + ) + + // Next we have a series of zero or more import statements + ( importDefinition )* + + // Wrapping things up with any number of class or interface + // definitions + ( typeDefinition )* + + EOF! + ; + + +// Package statement: "package" followed by an identifier. +packageDefinition + options {defaultErrorHandler = true;} // let ANTLR handle errors + : p:"package"^ {#p.setType(PACKAGE_DEF);} identifier SEMI! + ; + + +// Import statement: import followed by a package or class name +importDefinition + options {defaultErrorHandler = true;} + : i:"import"^ {#i.setType(IMPORT);} identifierStar SEMI! + ; + +// A type definition in a file is either a class or interface definition. +typeDefinition + options {defaultErrorHandler = true;} + : m:modifiers! + ( classDefinition[#m] + | interfaceDefinition[#m] + ) + | SEMI! + ; + +/** A declaration is the creation of a reference or primitive-type variable + * Create a separate Type/Var tree for each var in the var list. + */ +declaration! + : m:modifiers t:typeSpec[false] v:variableDefinitions[#m,#t] + {#declaration = #v;} + ; + +// A list of zero or more modifiers. We could have used (modifier)* in +// place of a call to modifiers, but I thought it was a good idea to keep +// this rule separate so they can easily be collected in a Vector if +// someone so desires +modifiers + : ( modifier )* + {#modifiers = #([MODIFIERS, "MODIFIERS"], #modifiers);} + ; + + +// A type specification is a type name with possible brackets afterwards +// (which would make it an array type). +typeSpec[boolean addImagNode] + : classTypeSpec[addImagNode] + | builtInTypeSpec[addImagNode] + ; + +// A class type specification is a class type with possible brackets afterwards +// (which would make it an array type). +classTypeSpec[boolean addImagNode] + : identifier (lb:LBRACK^ {#lb.setType(ARRAY_DECLARATOR);} RBRACK!)* + { + if ( addImagNode ) { + #classTypeSpec = #(#[TYPE,"TYPE"], #classTypeSpec); + } + } + ; + +// A builtin type specification is a builtin type with possible brackets +// afterwards (which would make it an array type). +builtInTypeSpec[boolean addImagNode] + : builtInType (lb:LBRACK^ {#lb.setType(ARRAY_DECLARATOR);} RBRACK!)* + { + if ( addImagNode ) { + #builtInTypeSpec = #(#[TYPE,"TYPE"], #builtInTypeSpec); + } + } + ; + +// A type name. which is either a (possibly qualified) class name or +// a primitive (builtin) type +type + : identifier + | builtInType + ; + +// The primitive types. +builtInType + : "void" + | "boolean" + | "byte" + | "char" + | "short" + | "int" + | "float" + | "long" + | "double" + ; + +// A (possibly-qualified) java identifier. We start with the first IDENT +// and expand its name by adding dots and following IDENTS +identifier + : IDENT ( DOT^ IDENT )* + ; + +identifierStar + : IDENT + ( DOT^ IDENT )* + ( DOT^ STAR )? + ; + + +// modifiers for Java classes, interfaces, class/instance vars and methods +modifier + : "private" + | "public" + | "protected" + | "static" + | "transient" + | "final" + | "abstract" + | "native" + | "threadsafe" + | "synchronized" +// | "const" // reserved word; leave out + | "volatile" + ; + + +// Definition of a Java class +classDefinition![AST modifiers] + : "class" IDENT + // it _might_ have a superclass... + sc:superClassClause + // it might implement some interfaces... + ic:implementsClause + // now parse the body of the class + cb:classBlock + {#classDefinition = #(#[CLASS_DEF,"CLASS_DEF"], + modifiers,IDENT,sc,ic,cb);} + ; + +superClassClause! + : ( "extends" id:identifier )? + {#superClassClause = #(#[EXTENDS_CLAUSE,"EXTENDS_CLAUSE"],id);} + ; + +// Definition of a Java Interface +interfaceDefinition![AST modifiers] + : "interface" IDENT + // it might extend some other interfaces + ie:interfaceExtends + // now parse the body of the interface (looks like a class...) + cb:classBlock + {#interfaceDefinition = #(#[INTERFACE_DEF,"INTERFACE_DEF"], + modifiers,IDENT,ie,cb);} + ; + + +// This is the body of a class. You can have fields and extra semicolons, +// That's about it (until you see what a field is...) +classBlock + : LCURLY! + ( field | SEMI! )* + RCURLY! + {#classBlock = #([OBJBLOCK, "OBJBLOCK"], #classBlock);} + ; + +// An interface can extend several other interfaces... +interfaceExtends + : ( + e:"extends"! + identifier ( COMMA! identifier )* + )? + {#interfaceExtends = #(#[EXTENDS_CLAUSE,"EXTENDS_CLAUSE"], + #interfaceExtends);} + ; + +// A class can implement several interfaces... +implementsClause + : ( + i:"implements"! identifier ( COMMA! identifier )* + )? + {#implementsClause = #(#[IMPLEMENTS_CLAUSE,"IMPLEMENTS_CLAUSE"], + #implementsClause);} + ; + +// Now the various things that can be defined inside a class or interface... +// Note that not all of these are really valid in an interface (constructors, +// for example), and if this grammar were used for a compiler there would +// need to be some semantic checks to make sure we're doing the right thing... +field! + : // method, constructor, or variable declaration + mods:modifiers + ( h:ctorHead s:compoundStatement // constructor + {#field = #(#[CTOR_DEF,"CTOR_DEF"], mods, h, s);} + + | cd:classDefinition[#mods] // inner class + {#field = #cd;} + + | id:interfaceDefinition[#mods] // inner interface + {#field = #id;} + + | t:typeSpec[false] // method or variable declaration(s) + ( IDENT // the name of the method + + // parse the formal parameter declarations. + LPAREN! param:parameterDeclarationList RPAREN! + + rt:returnTypeBrackersOnEndOfMethodHead[#t] + + // get the list of exceptions that this method is declared to throw + (tc:throwsClause)? + + ( s2:compoundStatement | SEMI ) + {#field = #(#[METHOD_DEF,"METHOD_DEF"], + mods, + #(#[TYPE,"TYPE"],rt), + IDENT, + param, + tc, + s2);} + | v:variableDefinitions[#mods,#t] SEMI +// {#field = #(#[VARIABLE_DEF,"VARIABLE_DEF"], v);} + {#field = #v;} + ) + ) + + // "static { ... }" class initializer + | "static" s3:compoundStatement + {#field = #(#[STATIC_INIT,"STATIC_INIT"], s3);} + + // "{ ... }" instance initializer + | s4:compoundStatement + {#field = #(#[INSTANCE_INIT,"INSTANCE_INIT"], s4);} + ; + +variableDefinitions[AST mods, AST t] + : variableDeclarator[getASTFactory().dupTree(mods), + getASTFactory().dupTree(t)] + ( COMMA! + variableDeclarator[getASTFactory().dupTree(mods), + getASTFactory().dupTree(t)] + )* + ; + +/** Declaration of a variable. This can be a class/instance variable, + * or a local variable in a method + * It can also include possible initialization. + */ +variableDeclarator![AST mods, AST t] + : id:IDENT d:declaratorBrackets[t] v:varInitializer + {#variableDeclarator = #(#[VARIABLE_DEF,"VARIABLE_DEF"], mods, #(#[TYPE,"TYPE"],d), id, v);} + ; + +declaratorBrackets[AST typ] + : {#declaratorBrackets=typ;} + (lb:LBRACK^ {#lb.setType(ARRAY_DECLARATOR);} RBRACK!)* + ; + +varInitializer + : ( ASSIGN^ initializer )? + ; + +// This is an initializer used to set up an array. +arrayInitializer + : lc:LCURLY^ {#lc.setType(ARRAY_INIT);} + ( initializer + ( + // CONFLICT: does a COMMA after an initializer start a new + // initializer or start the option ',' at end? + // ANTLR generates proper code by matching + // the comma as soon as possible. + options { + warnWhenFollowAmbig = false; + } + : + COMMA! initializer + )* + (COMMA!)? + )? + RCURLY! + ; + + +// The two "things" that can initialize an array element are an expression +// and another (nested) array initializer. +initializer + : expression + | arrayInitializer + ; + +// This is the header of a method. It includes the name and parameters +// for the method. +// This also watches for a list of exception classes in a "throws" clause. +ctorHead + : IDENT // the name of the method + + // parse the formal parameter declarations. + LPAREN! parameterDeclarationList RPAREN! + + // get the list of exceptions that this method is declared to throw + (throwsClause)? + ; + +// This is a list of exception classes that the method is declared to throw +throwsClause + : "throws"^ identifier ( COMMA! identifier )* + ; + + +returnTypeBrackersOnEndOfMethodHead[AST typ] + : {#returnTypeBrackersOnEndOfMethodHead = typ;} + (lb:LBRACK^ {#lb.setType(ARRAY_DECLARATOR);} RBRACK!)* + ; + +// A list of formal parameters +parameterDeclarationList + : ( parameterDeclaration ( COMMA! parameterDeclaration )* )? + {#parameterDeclarationList = #(#[PARAMETERS,"PARAMETERS"], + #parameterDeclarationList);} + ; + +// A formal parameter. +parameterDeclaration! + : pm:parameterModifier t:typeSpec[false] id:IDENT + pd:parameterDeclaratorBrackets[#t] + {#parameterDeclaration = #(#[PARAMETER_DEF,"PARAMETER_DEF"], + pm, #([TYPE,"TYPE"],pd), id);} + ; + +parameterDeclaratorBrackets[AST t] + : {#parameterDeclaratorBrackets = t;} + (lb:LBRACK^ {#lb.setType(ARRAY_DECLARATOR);} RBRACK!)* + ; + +parameterModifier + : (f:"final")? + {#parameterModifier = #(#[MODIFIERS,"MODIFIERS"], f);} + ; + +// Compound statement. This is used in many contexts: +// Inside a class definition prefixed with "static": +// it is a class initializer +// Inside a class definition without "static": +// it is an instance initializer +// As the body of a method +// As a completely indepdent braced block of code inside a method +// it starts a new scope for variable definitions + +compoundStatement + : lc:LCURLY^ {#lc.setType(SLIST);} + // include the (possibly-empty) list of statements + (statement)* + RCURLY! + ; + + +statement + // A list of statements in curly braces -- start a new scope! + : compoundStatement + + // class definition + | classDefinition[#[MODIFIERS, "MODIFIERS"]] + + // final class definition + | "final"! classDefinition[#(#[MODIFIERS, "MODIFIERS"],#[FINAL,"final"])] + + // abstract class definition + | "abstract"! classDefinition[#(#[MODIFIERS, "MODIFIERS"],#[ABSTRACT,"abstract"])] + + // declarations are ambiguous with "ID DOT" relative to expression + // statements. Must backtrack to be sure. Could use a semantic + // predicate to test symbol table to see what the type was coming + // up, but that's pretty hard without a symbol table ;) + | (declaration)=> declaration SEMI! + + // An expression statement. This could be a method call, + // assignment statement, or any other expression evaluated for + // side-effects. + | expression SEMI! + + // Attach a label to the front of a statement + | IDENT c:COLON^ {#c.setType(LABELED_STAT);} statement + + // If-else statement + | "if"^ LPAREN! expression RPAREN! statement + ( + // CONFLICT: the old "dangling-else" problem... + // ANTLR generates proper code matching + // as soon as possible. Hush warning. + options { + warnWhenFollowAmbig = false; + } + : + "else"! statement + )? + + // For statement + | "for"^ + LPAREN! + forInit SEMI! // initializer + forCond SEMI! // condition test + forIter // updater + RPAREN! + statement // statement to loop over + + // While statement + | "while"^ LPAREN! expression RPAREN! statement + + // do-while statement + | "do"^ statement "while"! LPAREN! expression RPAREN! SEMI! + + // get out of a loop (or switch) + | "break"^ (IDENT)? SEMI! + + // do next iteration of a loop + | "continue"^ (IDENT)? SEMI! + + // Return an expression + | "return"^ (expression)? SEMI! + + // switch/case statement + | "switch"^ LPAREN! expression RPAREN! LCURLY! + ( casesGroup )* + RCURLY! + + // exception try-catch block + | tryBlock + + // throw an exception + | "throw"^ expression SEMI! + + // synchronize a statement + | "synchronized"^ LPAREN! expression RPAREN! compoundStatement + + // empty statement + | s:SEMI {#s.setType(EMPTY_STAT);} + ; + + +casesGroup + : ( // CONFLICT: to which case group do the statements bind? + // ANTLR generates proper code: it groups the + // many "case"/"default" labels together then + // follows them with the statements + options { + warnWhenFollowAmbig = false; + } + : + aCase + )+ + caseSList + {#casesGroup = #([CASE_GROUP, "CASE_GROUP"], #casesGroup);} + ; + +aCase + : ("case"^ expression | "default") COLON! + ; + +caseSList + : (statement)* + {#caseSList = #(#[SLIST,"SLIST"],#caseSList);} + ; + +// The initializer for a for loop +forInit + // if it looks like a declaration, it is + : ( (declaration)=> declaration + // otherwise it could be an expression list... + | expressionList + )? + {#forInit = #(#[FOR_INIT,"FOR_INIT"],#forInit);} + ; + +forCond + : (expression)? + {#forCond = #(#[FOR_CONDITION,"FOR_CONDITION"],#forCond);} + ; + +forIter + : (expressionList)? + {#forIter = #(#[FOR_ITERATOR,"FOR_ITERATOR"],#forIter);} + ; + +// an exception handler try/catch block +tryBlock + : "try"^ compoundStatement + (handler)* + ( "finally"^ compoundStatement )? + ; + + +// an exception handler +handler + : "catch"^ LPAREN! parameterDeclaration RPAREN! compoundStatement + ; + + +// expressions +// Note that most of these expressions follow the pattern +// thisLevelExpression : +// nextHigherPrecedenceExpression +// (OPERATOR nextHigherPrecedenceExpression)* +// which is a standard recursive definition for a parsing an expression. +// The operators in java have the following precedences: +// lowest (13) = *= /= %= += -= <<= >>= >>>= &= ^= |= +// (12) ?: +// (11) || +// (10) && +// ( 9) | +// ( 8) ^ +// ( 7) & +// ( 6) == != +// ( 5) < <= > >= +// ( 4) << >> +// ( 3) +(binary) -(binary) +// ( 2) * / % +// ( 1) ++ -- +(unary) -(unary) ~ ! (type) +// [] () (method call) . (dot -- identifier qualification) +// new () (explicit parenthesis) +// +// the last two are not usually on a precedence chart; I put them in +// to point out that new has a higher precedence than '.', so you +// can validy use +// new Frame().show() +// +// Note that the above precedence levels map to the rules below... +// Once you have a precedence chart, writing the appropriate rules as below +// is usually very straightfoward + + + +// the mother of all expressions +expression + : assignmentExpression + {#expression = #(#[EXPR,"EXPR"],#expression);} + ; + + +// This is a list of expressions. +expressionList + : expression (COMMA! expression)* + {#expressionList = #(#[ELIST,"ELIST"], expressionList);} + ; + + +// assignment expression (level 13) +assignmentExpression + : conditionalExpression + ( ( ASSIGN^ + | PLUS_ASSIGN^ + | MINUS_ASSIGN^ + | STAR_ASSIGN^ + | DIV_ASSIGN^ + | MOD_ASSIGN^ + | SR_ASSIGN^ + | BSR_ASSIGN^ + | SL_ASSIGN^ + | BAND_ASSIGN^ + | BXOR_ASSIGN^ + | BOR_ASSIGN^ + ) + assignmentExpression + )? + ; + + +// conditional test (level 12) +conditionalExpression + : logicalOrExpression + ( QUESTION^ assignmentExpression COLON! conditionalExpression )? + ; + + +// logical or (||) (level 11) +logicalOrExpression + : logicalAndExpression (LOR^ logicalAndExpression)* + ; + + +// logical and (&&) (level 10) +logicalAndExpression + : inclusiveOrExpression (LAND^ inclusiveOrExpression)* + ; + + +// bitwise or non-short-circuiting or (|) (level 9) +inclusiveOrExpression + : exclusiveOrExpression (BOR^ exclusiveOrExpression)* + ; + + +// exclusive or (^) (level 8) +exclusiveOrExpression + : andExpression (BXOR^ andExpression)* + ; + + +// bitwise or non-short-circuiting and (&) (level 7) +andExpression + : equalityExpression (BAND^ equalityExpression)* + ; + + +// equality/inequality (==/!=) (level 6) +equalityExpression + : relationalExpression ((NOT_EQUAL^ | EQUAL^) relationalExpression)* + ; + + +// boolean relational expressions (level 5) +relationalExpression + : shiftExpression + ( ( ( LT^ + | GT^ + | LE^ + | GE^ + ) + shiftExpression + )* + | "instanceof"^ typeSpec[true] + ) + ; + + +// bit shift expressions (level 4) +shiftExpression + : additiveExpression ((SL^ | SR^ | BSR^) additiveExpression)* + ; + + +// binary addition/subtraction (level 3) +additiveExpression + : multiplicativeExpression ((PLUS^ | MINUS^) multiplicativeExpression)* + ; + + +// multiplication/division/modulo (level 2) +multiplicativeExpression + : unaryExpression ((STAR^ | DIV^ | MOD^ ) unaryExpression)* + ; + +unaryExpression + : INC^ unaryExpression + | DEC^ unaryExpression + | MINUS^ {#MINUS.setType(UNARY_MINUS);} unaryExpression + | PLUS^ {#PLUS.setType(UNARY_PLUS);} unaryExpression + | unaryExpressionNotPlusMinus + ; + +unaryExpressionNotPlusMinus + : BNOT^ unaryExpression + | LNOT^ unaryExpression + + | ( // subrule allows option to shut off warnings + options { + // "(int" ambig with postfixExpr due to lack of sequence + // info in linear approximate LL(k). It's ok. Shut up. + generateAmbigWarnings=false; + } + : // If typecast is built in type, must be numeric operand + // Also, no reason to backtrack if type keyword like int, float... + lpb:LPAREN^ {#lpb.setType(TYPECAST);} builtInTypeSpec[true] RPAREN! + unaryExpression + + // Have to backtrack to see if operator follows. If no operator + // follows, it's a typecast. No semantic checking needed to parse. + // if it _looks_ like a cast, it _is_ a cast; else it's a "(expr)" + | (LPAREN classTypeSpec[true] RPAREN unaryExpressionNotPlusMinus)=> + lp:LPAREN^ {#lp.setType(TYPECAST);} classTypeSpec[true] RPAREN! + unaryExpressionNotPlusMinus + + | postfixExpression + ) + ; + +// qualified names, array expressions, method invocation, post inc/dec +postfixExpression + : primaryExpression // start with a primary + + ( // qualified id (id.id.id.id...) -- build the name + DOT^ ( IDENT + | "this" + | "class" + | newExpression + | "super" LPAREN ( expressionList )? RPAREN + ) + // the above line needs a semantic check to make sure "class" + // is the _last_ qualifier. + + // allow ClassName[].class + | ( lbc:LBRACK^ {#lbc.setType(ARRAY_DECLARATOR);} RBRACK! )+ + DOT^ "class" + + // an array indexing operation + | lb:LBRACK^ {#lb.setType(INDEX_OP);} expression RBRACK! + + // method invocation + // The next line is not strictly proper; it allows x(3)(4) or + // x[2](4) which are not valid in Java. If this grammar were used + // to validate a Java program a semantic check would be needed, or + // this rule would get really ugly... + | lp:LPAREN^ {#lp.setType(METHOD_CALL);} + argList + RPAREN! + )* + + // possibly add on a post-increment or post-decrement. + // allows INC/DEC on too much, but semantics can check + ( in:INC^ {#in.setType(POST_INC);} + | de:DEC^ {#de.setType(POST_DEC);} + | // nothing + ) + + // look for int.class and int[].class + | builtInType + ( lbt:LBRACK^ {#lbt.setType(ARRAY_DECLARATOR);} RBRACK! )* + DOT^ "class" + ; + +// the basic element of an expression +primaryExpression + : IDENT + | newExpression + | constant + | "super" + | "true" + | "false" + | "this" + | "null" + | LPAREN! assignmentExpression RPAREN! + ; + +/** object instantiation. + * Trees are built as illustrated by the following input/tree pairs: + * + * new T() + * + * new + * | + * T -- ELIST + * | + * arg1 -- arg2 -- .. -- argn + * + * new int[] + * + * new + * | + * int -- ARRAY_DECLARATOR + * + * new int[] {1,2} + * + * new + * | + * int -- ARRAY_DECLARATOR -- ARRAY_INIT + * | + * EXPR -- EXPR + * | | + * 1 2 + * + * new int[3] + * new + * | + * int -- ARRAY_DECLARATOR + * | + * EXPR + * | + * 3 + * + * new int[1][2] + * + * new + * | + * int -- ARRAY_DECLARATOR + * | + * ARRAY_DECLARATOR -- EXPR + * | | + * EXPR 1 + * | + * 2 + * + */ +newExpression + : "new"^ type + ( LPAREN! argList RPAREN! (classBlock)? + + //java 1.1 + // Note: This will allow bad constructs like + // new int[4][][3] {exp,exp}. + // There needs to be a semantic check here... + // to make sure: + // a) [ expr ] and [ ] are not mixed + // b) [ expr ] and an init are not used together + + | newArrayDeclarator (arrayInitializer)? + ) + ; + +argList + : ( expressionList + | /*nothing*/ + {#argList = #[ELIST,"ELIST"];} + ) + ; + +newArrayDeclarator + : ( + // CONFLICT: + // newExpression is a primaryExpression which can be + // followed by an array index reference. This is ok, + // as the generated code will stay in this loop as + // long as it sees an LBRACK (proper behavior) + options { + warnWhenFollowAmbig = false; + } + : + lb:LBRACK^ {#lb.setType(ARRAY_DECLARATOR);} + (expression)? + RBRACK! + )+ + ; + +constant + : NUM_INT + | CHAR_LITERAL + | STRING_LITERAL + | NUM_FLOAT + ; + + +//---------------------------------------------------------------------------- +// The Java scanner +//---------------------------------------------------------------------------- +class JavaLexer extends Lexer; + +options { + exportVocab=Java; // call the vocabulary "Java" + testLiterals=false; // don't automatically test for literals + k=4; // four characters of lookahead +} + + + +// OPERATORS +QUESTION : '?' ; +LPAREN : '(' ; +RPAREN : ')' ; +LBRACK : '[' ; +RBRACK : ']' ; +LCURLY : '{' ; +RCURLY : '}' ; +COLON : ':' ; +COMMA : ',' ; +//DOT : '.' ; +ASSIGN : '=' ; +EQUAL : "==" ; +LNOT : '!' ; +BNOT : '~' ; +NOT_EQUAL : "!=" ; +DIV : '/' ; +DIV_ASSIGN : "/=" ; +PLUS : '+' ; +PLUS_ASSIGN : "+=" ; +INC : "++" ; +MINUS : '-' ; +MINUS_ASSIGN : "-=" ; +DEC : "--" ; +STAR : '*' ; +STAR_ASSIGN : "*=" ; +MOD : '%' ; +MOD_ASSIGN : "%=" ; +SR : ">>" ; +SR_ASSIGN : ">>=" ; +BSR : ">>>" ; +BSR_ASSIGN : ">>>=" ; +GE : ">=" ; +GT : ">" ; +SL : "<<" ; +SL_ASSIGN : "<<=" ; +LE : "<=" ; +LT : '<' ; +BXOR : '^' ; +BXOR_ASSIGN : "^=" ; +BOR : '|' ; +BOR_ASSIGN : "|=" ; +LOR : "||" ; +BAND : '&' ; +BAND_ASSIGN : "&=" ; +LAND : "&&" ; +SEMI : ';' ; + + +// Whitespace -- ignored +WS : ( ' ' + | '\t' + | '\f' + // handle newlines + | ( "\r\n" // Evil DOS + | '\r' // Macintosh + | '\n' // Unix (the right way) + ) + { newline(); } + ) + { _ttype = Token.SKIP; } + ; + +// Single-line comments +SL_COMMENT + : "//" + (~('\n'|'\r'))* ('\n'|'\r'('\n')?) + {$setType(Token.SKIP); newline();} + ; + +// multiple-line comments +ML_COMMENT + : "/*" + ( /* '\r' '\n' can be matched in one alternative or by matching + '\r' in one iteration and '\n' in another. I am trying to + handle any flavor of newline that comes in, but the language + that allows both "\r\n" and "\r" and "\n" to all be valid + newline is ambiguous. Consequently, the resulting grammar + must be ambiguous. I'm shutting this warning off. + */ + options { + generateAmbigWarnings=false; + } + : + { LA(2)!='/' }? '*' + | '\r' '\n' {newline();} + | '\r' {newline();} + | '\n' {newline();} + | ~('*'|'\n'|'\r') + )* + "*/" + {$setType(Token.SKIP);} + ; + + +// character literals +CHAR_LITERAL + : '\'' ( ESC | ~'\'' ) '\'' + ; + +// string literals +STRING_LITERAL + : '"' (ESC|~('"'|'\\'))* '"' + ; + + +// escape sequence -- note that this is protected; it can only be called +// from another lexer rule -- it will not ever directly return a token to +// the parser +// There are various ambiguities hushed in this rule. The optional +// '0'...'9' digit matches should be matched here rather than letting +// them go back to STRING_LITERAL to be matched. ANTLR does the +// right thing by matching immediately; hence, it's ok to shut off +// the FOLLOW ambig warnings. +protected +ESC + : '\\' + ( 'n' + | 'r' + | 't' + | 'b' + | 'f' + | '"' + | '\'' + | '\\' + | ('u')+ HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT + | ('0'..'3') + ( + options { + warnWhenFollowAmbig = false; + } + : ('0'..'7') + ( + options { + warnWhenFollowAmbig = false; + } + : '0'..'7' + )? + )? + | ('4'..'7') + ( + options { + warnWhenFollowAmbig = false; + } + : ('0'..'9') + )? + ) + ; + + +// hexadecimal digit (again, note it's protected!) +protected +HEX_DIGIT + : ('0'..'9'|'A'..'F'|'a'..'f') + ; + + +// a dummy rule to force vocabulary to be all characters (except special +// ones that ANTLR uses internally (0 to 2) +protected +VOCAB + : '\3'..'\377' + ; + + +// an identifier. Note that testLiterals is set to true! This means +// that after we match the rule, we look in the literals table to see +// if it's a literal or really an identifer +IDENT + options {testLiterals=true;} + : ('a'..'z'|'A'..'Z'|'_'|'$') ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'$')* + ; + + +// a numeric literal +NUM_INT + {boolean isDecimal=false;} + : '.' {_ttype = DOT;} + (('0'..'9')+ (EXPONENT)? (FLOAT_SUFFIX)? { _ttype = NUM_FLOAT; })? + | ( '0' {isDecimal = true;} // special case for just '0' + ( ('x'|'X') + ( // hex + // the 'e'|'E' and float suffix stuff look + // like hex digits, hence the (...)+ doesn't + // know when to stop: ambig. ANTLR resolves + // it correctly by matching immediately. It + // is therefor ok to hush warning. + options { + warnWhenFollowAmbig=false; + } + : HEX_DIGIT + )+ + | ('0'..'7')+ // octal + )? + | ('1'..'9') ('0'..'9')* {isDecimal=true;} // non-zero decimal + ) + ( ('l'|'L') + + // only check to see if it's a float if looks like decimal so far + | {isDecimal}? + ( '.' ('0'..'9')* (EXPONENT)? (FLOAT_SUFFIX)? + | EXPONENT (FLOAT_SUFFIX)? + | FLOAT_SUFFIX + ) + { _ttype = NUM_FLOAT; } + )? + ; + + +// a couple protected methods to assist in matching floating point numbers +protected +EXPONENT + : ('e'|'E') ('+'|'-')? ('0'..'9')+ + ; + + +protected +FLOAT_SUFFIX + : 'f'|'F'|'d'|'D' + ; + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/antlr/java.tree.g b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/antlr/java.tree.g new file mode 100644 index 00000000..f065c356 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/antlr/java.tree.g @@ -0,0 +1,312 @@ +/** Java 1.2 AST Recognizer Grammar + * + * Author: + * Terence Parr parrt@jguru.com + * + * Version tracking now done with following ID: + * + * This grammar is in the PUBLIC DOMAIN + * + * BUGS + */ +class JavaTreeParser extends TreeParser; + +options { + importVocab = Java; +} + +compilationUnit + : (packageDefinition)? + (importDefinition)* + (typeDefinition)* + ; + +packageDefinition + : #( PACKAGE_DEF identifier ) + ; + +importDefinition + : #( IMPORT identifierStar ) + ; + +typeDefinition + : #(CLASS_DEF modifiers IDENT extendsClause implementsClause objBlock ) + | #(INTERFACE_DEF modifiers IDENT extendsClause interfaceBlock ) + ; + +typeSpec + : #(TYPE typeSpecArray) + ; + +typeSpecArray + : #( ARRAY_DECLARATOR typeSpecArray ) + | type + ; + +type: identifier + | builtInType + ; + +builtInType + : "void" + | "boolean" + | "byte" + | "char" + | "short" + | "int" + | "float" + | "long" + | "double" + ; + +modifiers + : #( MODIFIERS (modifier)* ) + ; + +modifier + : "private" + | "public" + | "protected" + | "static" + | "transient" + | "final" + | "abstract" + | "native" + | "threadsafe" + | "synchronized" + | "const" + | "volatile" + ; + +extendsClause + : #(EXTENDS_CLAUSE (identifier)* ) + ; + +implementsClause + : #(IMPLEMENTS_CLAUSE (identifier)* ) + ; + + +interfaceBlock + : #( OBJBLOCK + ( methodDecl + | variableDef + )* + ) + ; + +objBlock + : #( OBJBLOCK + ( ctorDef + | methodDef + | variableDef + | typeDefinition + | #(STATIC_INIT slist) + | #(INSTANCE_INIT slist) + )* + ) + ; + +ctorDef + : #(CTOR_DEF modifiers methodHead slist) + ; + +methodDecl + : #(METHOD_DEF modifiers typeSpec methodHead) + ; + +methodDef + : #(METHOD_DEF modifiers typeSpec methodHead (slist)?) + ; + +variableDef + : #(VARIABLE_DEF modifiers typeSpec variableDeclarator varInitializer) + ; + +parameterDef + : #(PARAMETER_DEF modifiers typeSpec IDENT ) + ; + +objectinitializer + : #(INSTANCE_INIT slist) + ; + +variableDeclarator + : IDENT + | LBRACK variableDeclarator + ; + +varInitializer + : #(ASSIGN initializer) + | + ; + +initializer + : expression + | arrayInitializer + ; + +arrayInitializer + : #(ARRAY_INIT (initializer)*) + ; + +methodHead + : IDENT #( PARAMETERS (parameterDef)* ) (throwsClause)? + ; + +throwsClause + : #( "throws" (identifier)* ) + ; + +identifier + : IDENT + | #( DOT identifier IDENT ) + ; + +identifierStar + : IDENT + | #( DOT identifier (STAR|IDENT) ) + ; + +slist + : #( SLIST (stat)* ) + ; + +stat: typeDefinition + | variableDef + | expression + | #(LABELED_STAT IDENT stat) + | #("if" expression stat (stat)? ) + | #( "for" + #(FOR_INIT (variableDef | elist)?) + #(FOR_CONDITION (expression)?) + #(FOR_ITERATOR (elist)?) + stat + ) + | #("while" expression stat) + | #("do" stat expression) + | #("break" (IDENT)? ) + | #("continue" (IDENT)? ) + | #("return" (expression)? ) + | #("switch" expression (caseGroup)*) + | #("throw" expression) + | #("synchronized" expression stat) + | tryBlock + | slist // nested SLIST + | EMPTY_STAT + ; + +caseGroup + : #(CASE_GROUP (#("case" expression) | "default")+ slist) + ; + +tryBlock + : #( "try" slist (handler)* (#("finally" slist))? ) + ; + +handler + : #( "catch" parameterDef slist ) + ; + +elist + : #( ELIST (expression)* ) + ; + +expression + : #(EXPR expr) + ; + +expr: #(QUESTION expr expr expr) // trinary operator + | #(ASSIGN expr expr) // binary operators... + | #(PLUS_ASSIGN expr expr) + | #(MINUS_ASSIGN expr expr) + | #(STAR_ASSIGN expr expr) + | #(DIV_ASSIGN expr expr) + | #(MOD_ASSIGN expr expr) + | #(SR_ASSIGN expr expr) + | #(BSR_ASSIGN expr expr) + | #(SL_ASSIGN expr expr) + | #(BAND_ASSIGN expr expr) + | #(BXOR_ASSIGN expr expr) + | #(BOR_ASSIGN expr expr) + | #(LOR expr expr) + | #(LAND expr expr) + | #(BOR expr expr) + | #(BXOR expr expr) + | #(BAND expr expr) + | #(NOT_EQUAL expr expr) + | #(EQUAL expr expr) + | #(LT expr expr) + | #(GT expr expr) + | #(LE expr expr) + | #(GE expr expr) + | #(SL expr expr) + | #(SR expr expr) + | #(BSR expr expr) + | #(PLUS expr expr) + | #(MINUS expr expr) + | #(DIV expr expr) + | #(MOD expr expr) + | #(STAR expr expr) + | #(INC expr) + | #(DEC expr) + | #(POST_INC expr) + | #(POST_DEC expr) + | #(BNOT expr) + | #(LNOT expr) + | #("instanceof" expr expr) + | #(UNARY_MINUS expr) + | #(UNARY_PLUS expr) + | primaryExpression + ; + +primaryExpression + : IDENT + | #( DOT + ( expr + ( IDENT + | arrayIndex + | "this" + | "class" + | #( "new" IDENT elist ) + ) + | #(ARRAY_DECLARATOR type) + | builtInType ("class")? + ) + ) + | arrayIndex + | #(METHOD_CALL primaryExpression elist) + | #(TYPECAST typeSpec expr) + | newExpression + | constant + | "super" + | "true" + | "false" + | "this" + | "null" + | typeSpec // type name used with instanceof + ; + +arrayIndex + : #(INDEX_OP primaryExpression expression) + ; + +constant + : NUM_INT + | CHAR_LITERAL + | STRING_LITERAL + | NUM_FLOAT + ; + +newExpression + : #( "new" type + ( newArrayDeclarator (arrayInitializer)? + | elist + ) + ) + + ; + +newArrayDeclarator + : #( ARRAY_DECLARATOR (newArrayDeclarator)? (expression)? ) + ; diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/depend.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/depend.xml new file mode 100644 index 00000000..8465bb02 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/depend.xml @@ -0,0 +1,196 @@ +<?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="depend" basedir="." default="help"> + <import file="../../../buildfiletest-base.xml"/> + + <property name="tempsrc.dir" value="${output}/tempsrc.dir"/> + <property name="cache.dir" value="${output}/tempsrc.dir"/> + <property name="classes.dir" value="${output}/classes"/> + + <target name="setUp"> + <mkdir dir="${output}" /> + + </target> + + <property name="src1.dir" value="src1"/> + <property name="src2.dir" value="src2"/> + <property name="src3.dir" value="src3"/> + <property name="src4.dir" value="src4"/> + <property name="src5.dir" value="src5"/> + + <target name="help"> + <echo>This buildfile is used as part of Ant's test suite.</echo> + </target> + + <target name="src1setup" depends="setUp"> + <copy todir="${tempsrc.dir}"> + <fileset dir="${src1.dir}"/> + </copy> + </target> + + <target name="src2setup" depends="setUp"> + <copy todir="${tempsrc.dir}"> + <fileset dir="${src2.dir}"/> + </copy> + </target> + + <target name="src3setup" depends="setUp"> + <copy todir="${tempsrc.dir}"> + <fileset dir="${src3.dir}"/> + </copy> + </target> + + <target name="src4setup" depends="setUp"> + <copy todir="${tempsrc.dir}"> + <fileset dir="${src4.dir}"/> + </copy> + </target> + + <target name="src5setup" depends="setUp"> + <copy todir="${tempsrc.dir}"> + <fileset dir="${src5.dir}"/> + </copy> + </target> + + <target name="compile"> + <mkdir dir="${classes.dir}"/> + <javac srcdir="${tempsrc.dir}" destdir="${classes.dir}"/> + </target> + + <target name="testdirect"> + <delete file="${tempsrc.dir}/C.java"/> + <copy file="${src1.dir}/C.java" tofile="${tempsrc.dir}/C.java"/> + <depend srcdir="${tempsrc.dir}" destdir="${classes.dir}"/> + <fileset id="result" dir="${classes.dir}"/> + </target> + + <target name="testclosure"> + <delete file="${tempsrc.dir}/C.java"/> + <copy file="${src1.dir}/C.java" tofile="${tempsrc.dir}/C.java"/> + <depend srcdir="${tempsrc.dir}" destdir="${classes.dir}" closure="yes"/> + <fileset id="result" dir="${classes.dir}"/> + </target> + + <target name="testbasicset" depends="src1setup, compile"> + <classfileset id="result" dir="${classes.dir}" rootclass="A"/> + </target> + + <target name="testsmallset" depends="src1setup, compile"> + <classfileset id="result" dir="${classes.dir}" rootclass="B"/> + </target> + + <target name="testresourcecollection" depends="testsmallset"> + <fail> + <condition> + <not> + <and> + <resourcecount count="2" refid="result" /> + <resourcecount count="1"> + <intersect> + <resources refid="result" /> + <file file="${classes.dir}/B.class" /> + </intersect> + </resourcecount> + <resourcecount count="1"> + <intersect> + <resources refid="result" /> + <file file="${classes.dir}/C.class" /> + </intersect> + </resourcecount> + </and> + </not> + </condition> + </fail> + </target> + + <target name="testcomboset" depends="src1setup, compile"> + <classfileset id="result" dir="${classes.dir}" rootclass="B"> + <include name="**/C.class"/> + </classfileset> + </target> + + <target name="testbyreference" depends="src1setup, compile"> + <classfileset id="classSet" dir="${classes.dir}" rootclass="A"> + <include name="**/C.class"/> + </classfileset> + <jar destfile="${tempsrc.dir}/test.jar"> + <fileset refid="classSet"/> + </jar> + </target> + + <target name="testmethodparam" depends="src1setup, compile"> + <classfileset id="result" dir="${classes.dir}" rootclass="E"/> + </target> + + <target name="testinner"> + <delete file="${tempsrc.dir}/B.java"/> + <copy file="${src2.dir}/B.java" tofile="${tempsrc.dir}/B.java"/> + <depend srcdir="${tempsrc.dir}" destdir="${classes.dir}" closure="yes"/> + <fileset id="result" dir="${classes.dir}"/> + </target> + + <target name="testinnerinner"> + <delete file="${tempsrc.dir}/B.java"/> + <copy file="${src3.dir}/B.java" tofile="${tempsrc.dir}/B.java"/> + <depend srcdir="${tempsrc.dir}" destdir="${classes.dir}" closure="yes"/> + <fileset id="result" dir="${classes.dir}"/> + </target> + + <target name="testmethodparaminner" depends="src4setup, compile"> + <classfileset id="result" dir="${classes.dir}" rootclass="test.MethodParam"/> + </target> + + <target name="testnosource" depends="src1setup, compile"> + <depend destdir="${classes.dir}" closure="yes"/> + </target> + + <target name="testemptysource" depends="src1setup, compile"> + <depend srcdir="" destdir="${classes.dir}" closure="yes"/> + </target> + + <target name="testinnerclosure" depends="src4setup"> + <mkdir dir="${classes.dir}"/> + <path id="path.compile"> + <pathelement location="${classes.dir}"/> + </path> + + <javac srcdir="${tempsrc.dir}" destdir="${classes.dir}" + classpathref="path.compile" fork="false" /> + + <depend srcdir="${tempsrc.dir}" destdir="${classes.dir}" + closure="yes" dump="yes" + classpathref="path.compile"/> + + <fileset id="result" dir="${classes.dir}"/> + </target> + + <target name="testcache" depends="src1setup, compile"> + <depend cache="${cache.dir}" srcdir="${tempsrc.dir}" + destdir="${classes.dir}" closure="yes"/> + <depend cache="${cache.dir}" srcdir="${tempsrc.dir}" + destdir="${classes.dir}" closure="yes"/> + </target> + + <target name="testnonpublic"> + <delete file="${tempsrc.dir}/B.java"/> + <copy file="${src2.dir}/B.java" tofile="${tempsrc.dir}/B.java"/> + <depend srcdir="${tempsrc.dir}" destdir="${classes.dir}" closure="yes"/> + <fileset id="result" dir="${classes.dir}"/> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src1/A.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src1/A.java new file mode 100644 index 00000000..dc6df231 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src1/A.java @@ -0,0 +1,20 @@ +/* +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. +*/ +public class A extends B { + private D d = new D(); +} + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src1/B.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src1/B.java new file mode 100644 index 00000000..4be51f78 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src1/B.java @@ -0,0 +1,19 @@ +/* +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. +*/ +public class B extends C { +} + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src1/C.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src1/C.java new file mode 100644 index 00000000..d2bfca9d --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src1/C.java @@ -0,0 +1,19 @@ +/* +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. +*/ +public class C { +} + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src1/D.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src1/D.java new file mode 100644 index 00000000..127de573 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src1/D.java @@ -0,0 +1,19 @@ +/* +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. +*/ +public class D { +} + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src1/E.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src1/E.java new file mode 100644 index 00000000..0efd6134 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src1/E.java @@ -0,0 +1,22 @@ +/* +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. +*/ +public class E { + E() { + System.out.println(A.class); + } +} + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src2/A.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src2/A.java new file mode 100644 index 00000000..02b35be7 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src2/A.java @@ -0,0 +1,21 @@ +/* +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. +*/ +public class A { + static private class Inner extends B { + } +} + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src2/B.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src2/B.java new file mode 100644 index 00000000..bc7b7d24 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src2/B.java @@ -0,0 +1,19 @@ +/* +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. +*/ +public class B { +} + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src3/A.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src3/A.java new file mode 100644 index 00000000..1d973b15 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src3/A.java @@ -0,0 +1,23 @@ +/* +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. +*/ +public class A { + static private class Inner { + static private class Inner2 extends B { + } + } +} + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src3/B.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src3/B.java new file mode 100644 index 00000000..bc7b7d24 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src3/B.java @@ -0,0 +1,19 @@ +/* +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. +*/ +public class B { +} + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src4/test/ContainsOnlyInner.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src4/test/ContainsOnlyInner.java new file mode 100644 index 00000000..d00254b9 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src4/test/ContainsOnlyInner.java @@ -0,0 +1,24 @@ +/* +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. +*/ +package test; + +public class ContainsOnlyInner { + void method1() { + System.out.println(Outer.Inner.class); + } +} + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src4/test/MethodParam.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src4/test/MethodParam.java new file mode 100644 index 00000000..276f0163 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src4/test/MethodParam.java @@ -0,0 +1,24 @@ +/* +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. +*/ +package test; + +public class MethodParam { + void method1() { + System.out.print(ContainsOnlyInner.class); + } +} + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src4/test/Outer.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src4/test/Outer.java new file mode 100644 index 00000000..0b709002 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src4/test/Outer.java @@ -0,0 +1,23 @@ +/* +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. +*/ +package test; + +public class Outer { + static class Inner { + } +} + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src5/A.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src5/A.java new file mode 100644 index 00000000..19521a14 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src5/A.java @@ -0,0 +1,22 @@ +/* +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. +*/ +public class A { + APrivate dependency = new APrivate(); +} + +class APrivate extends B { +} diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src5/B.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src5/B.java new file mode 100644 index 00000000..bc7b7d24 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/depend/src5/B.java @@ -0,0 +1,19 @@ +/* +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. +*/ +public class B { +} + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/echoproperties.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/echoproperties.properties new file mode 100644 index 00000000..4c970e7e --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/echoproperties.properties @@ -0,0 +1,15 @@ +# 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. +test.infile=true
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/echoproperties.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/echoproperties.xml new file mode 100644 index 00000000..7b1b8bb8 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/echoproperties.xml @@ -0,0 +1,133 @@ +<?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="test" default="def" basedir="."> + + <target name="def"> + </target> + + <target name="setup"> + <property name="a.set" value="true" /> + <property name="b.set" value="false" /> + </target> + + <target name="testEchoToLog" depends="setup"> + <echoproperties /> + </target> + + <target name="testEchoWithEmptyPrefixToLog" depends="setup"> + <echoproperties prefix=""/> + </target> + + <target name="testEchoToLogXml" depends="setup"> + <echoproperties format="xml" /> + </target> + + <target name="testReadAndEchoToLog" depends="setup"> + <echoproperties srcfile="echoproperties.properties" /> + </target> + + <target name="testReadBadFile" depends="setup"> + <echoproperties srcfile="." /> + </target> + + <target name="testReadBadFileFail" depends="setup"> + <echoproperties srcfile="." failonerror="yes" /> + </target> + + <target name="testReadBadFileNoFail" depends="setup"> + <echoproperties srcfile="." failonerror="no" /> + </target> + + <target name="testEchoToBadFile" depends="setup"> + <echoproperties destfile="." /> + </target> + + <target name="testEchoToBadFileFail" depends="setup"> + <echoproperties destfile="." failonerror="yes" /> + </target> + + <target name="testEchoToBadFileNoFail" depends="setup"> + <echoproperties destfile="." failonerror="no" /> + </target> + + <target name="testEchoToGoodFile" depends="setup"> + <echoproperties destfile="test.properties" /> + </target> + + <target name="testEchoToGoodFileXml" depends="setup"> + <echoproperties destfile="test.xml" format="xml" /> + </target> + + <target name="testEchoToGoodFileFail" depends="setup"> + <echoproperties destfile="test.properties" failonerror="yes" /> + </target> + + <target name="testEchoToGoodFileNoFail" depends="setup"> + <echoproperties destfile="test.properties" failonerror="no" /> + </target> + + <target name="testEchoPrefix" depends="setup"> + <echoproperties destfile="test-prefix.properties" prefix="a." /> + </target> + + <target name="testEchoPrefixAsPropertyset" depends="setup"> + <echoproperties destfile="test-prefix.properties"> + <propertyset> + <propertyref prefix="a."/> + </propertyset> + </echoproperties> + </target> + + <target name="testEchoPrefixAsNegatedPropertyset" depends="setup"> + <echoproperties destfile="test-prefix.properties"> + <propertyset negate="true"> + <propertyref prefix="b."/> + </propertyset> + </echoproperties> + </target> + + <target name="testEchoPrefixAsDoublyNegatedPropertyset" depends="setup"> + <echoproperties destfile="test-prefix.properties"> + <propertyset negate="true"> + <propertyset negate="true"> + <propertyref prefix="a."/> + </propertyset> + </propertyset> + </echoproperties> + </target> + + <target name="testWithPrefixAndRegex" depends="setup"> + <echoproperties prefix="ant." regex=".*ant.*"/> + </target> + + <target name="testWithEmptyPrefixAndRegex" depends="setup"> + <echoproperties prefix="" regex=""/> + </target> + + <target name="testWithRegex" depends="setup"> + <echoproperties regex=".*ant.*"/> + </target> + + <target name="cleanup"> + <delete file="test.properties" failonerror="no" /> + <delete file="test-prefix.properties" failonerror="no" /> + <delete file="test.xml" failonerror="no" /> + </target> + +</project> + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/i18n/translate/expected/de/template.txt b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/i18n/translate/expected/de/template.txt new file mode 100644 index 00000000..9a7af4e2 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/i18n/translate/expected/de/template.txt @@ -0,0 +1 @@ +Diese ist eine Demo Datei für die translate_Aufgabe @missing_token@. diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/i18n/translate/input/resources_ger_DE.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/i18n/translate/input/resources_ger_DE.properties new file mode 100644 index 00000000..7efe9b0a --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/i18n/translate/input/resources_ger_DE.properties @@ -0,0 +1,24 @@ +# 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. +This=Diese +is=ist +a=eine +demo=Demo +file=Datei +#note for people understanding german +# \u00fc = u umlaut +for=für +the=die +_task=_Aufgabe diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/i18n/translate/input/template.txt b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/i18n/translate/input/template.txt new file mode 100644 index 00000000..cda413bd --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/i18n/translate/input/template.txt @@ -0,0 +1 @@ +@This@ @is@ @a@ @demo@ @file@ @for@ @the@ translate@_task@ @missing_token@. diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/i18n/translate/translate.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/i18n/translate/translate.xml new file mode 100644 index 00000000..e6debd50 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/i18n/translate/translate.xml @@ -0,0 +1,44 @@ +<?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="translate-test" default="test1" basedir="."> + <property name="input.dir" value="input"/> + <property name="expected.dir" value="expected"/> + <import file="../../../../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}/de"/> + </target> + + <target name="test1" depends="setUp"> + <translate toDir="${output}/de" + starttoken="@" + endtoken="@" + bundle="${input.dir}/resources" + bundlecountry="DE" + bundlelanguage="ger" + forceoverwrite="yes" + srcencoding="ISO8859_1" + destencoding="ISO8859_1" + bundleencoding="Cp1252"> + <fileset dir="${input.dir}"> + <include name="template.txt"/> + </fileset> + </translate> + </target> +</project> + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/image/image.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/image/image.xml new file mode 100644 index 00000000..2fefa04c --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/image/image.xml @@ -0,0 +1,73 @@ +<?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="image-test" default="main" basedir="."> + + <import file="../../../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}"/> + <property name="src.dir" location="${basedir}/src"/> + </target> + + <target name="main" depends="testSimpleScale"> + </target> + + <!-- this should produce a single file in the dest dir --> + <target name="testSimpleScale" depends="setUp"> + <image includes="*.jpg" srcdir="${src.dir}" destdir="${output}" overwrite="no" failonerror="no"> + <scale width="300" proportions="width"/> + </image> + </target> + + <!-- this should put some text in the log --> + <target name="testEchoToLog" depends="setUp"> + <image includes="*.jpg" srcdir="${src.dir}" destdir="${output}" overwrite="no" failonerror="no"> + <scale width="300" proportions="width"/> + </image> + </target> + + <!-- this should produce a single file in the dest dir --> + <target name="testFailOnError" depends="setUp"> + <image includes="*.jpg" srcdir="${src.dir}" destdir="${output}" overwrite="no" failonerror="yes"> + <scale width="300" proportions="width"/> + </image> + </target> + + <!-- this should produce a single file in the dest dir, overwriting any existing file --> + <target name="testOverwriteTrue" depends="setUp"> + <image includes="*.jpg" srcdir="${src.dir}" destdir="${output}" overwrite="true" failonerror="no"> + <scale width="300" proportions="width"/> + </image> + </target> + + <!-- this should not overwrite the existing file --> + <target name="testOverwriteFalse" depends="setUp"> + <image includes="*.jpg" srcdir="${src.dir}" destdir="${output}" overwrite="false" failonerror="no"> + <scale width="300" proportions="width"/> + </image> + </target> + + <target name="testSimpleScaleWithMapper" depends="setUp"> + <image includes="*.jpg" srcdir="${src.dir}" + destdir="${output}" overwrite="no" failonerror="no"> + <scale width="300" proportions="width"/> + <globmapper from="*" to="scaled-*"/> + </image> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/image/src/badimage.jpg b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/image/src/badimage.jpg Binary files differnew file mode 100644 index 00000000..43a786e1 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/image/src/badimage.jpg diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/image/src/largeimage.jpg b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/image/src/largeimage.jpg Binary files differnew file mode 100644 index 00000000..91040552 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/image/src/largeimage.jpg diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/javah/build.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/javah/build.xml new file mode 100644 index 00000000..ea70b9e5 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/javah/build.xml @@ -0,0 +1,56 @@ +<?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="no"> + + <import file="../../../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}"/> + </target> + + <property name="in" location="input"/> + + <target name="no"> + <fail>For tests only</fail> + </target> + + <target name="compile" depends="setUp"> + <javac srcdir="${in}" destdir="${output}"/> + </target> + + <target name="simple-compile" depends="compile"> + <javah destdir="${output}"> + <class name="org.example.Foo"/> + <classpath> + <pathelement location="${output}"/> + </classpath> + </javah> + </target> + + <target name="test-fileset" depends="compile"> + <javah destdir="${output}"> + <fileset dir="${output}"> + <include name="**/*.class"/> + </fileset> + <classpath> + <pathelement location="${output}"/> + </classpath> + </javah> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/javah/input/org/example/Foo.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/javah/input/org/example/Foo.java new file mode 100644 index 00000000..59d03f70 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/javah/input/org/example/Foo.java @@ -0,0 +1,26 @@ +/* + * 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. + * + */ +package org.example; + +public class Foo { + + public Foo() {} + + public native String bar(Object baz); + +} diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jdepend/jdepend.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jdepend/jdepend.xml new file mode 100644 index 00000000..8418226b --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jdepend/jdepend.xml @@ -0,0 +1,70 @@ +<?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> + <property name="testclasses" location="../../../../../../build/testcases"/> + + <path id="all-test-classes.id"> + <pathelement location="../../../../build/testcases" /> + <pathelement path="${java.class.path}" /> + </path> + + <path id="example-classes.id"> + <pathelement location="${testclasses}/org/apache/tools/ant/util/facade" /> + </path> + + <path id="test-classes.id"> + <pathelement location="${testclasses}" /> + </path> + + <target name="simple"> + <jdepend> + <classespath refid="example-classes.id"/> + </jdepend> + </target> + + <target name="xml"> + <jdepend format="xml"> + <classespath refid="example-classes.id"/> + </jdepend> + </target> + + <target name="fork"> + <jdepend fork="yes" includeruntime="yes"> + <classespath refid="example-classes.id"/> + </jdepend> + </target> + + <target name="fork-xml"> + <jdepend fork="yes" format="xml" includeruntime="yes"> + <classespath refid="example-classes.id"/> + </jdepend> + </target> + + <target name="fork-timeout"> + <jdepend fork="yes" timeout="10" includeruntime="yes"> + <classespath refid="test-classes.id"/> + </jdepend> + </target> + + <target name="fork-timeout-not"> + <jdepend fork="yes" timeout="100000" includeruntime="yes"> + <classespath refid="example-classes.id"/> + </jdepend> + </target> + +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jsp/1nvalid-classname.jsp b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jsp/1nvalid-classname.jsp new file mode 100644 index 00000000..f5b42e2b --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jsp/1nvalid-classname.jsp @@ -0,0 +1,25 @@ +<!-- + 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. +--> +<%@ page language="java" %> +<html> +<head/> +<body> + +my name is <%= this.getClass().getName() %> + +</body> +</html> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jsp/WEB-INF/web.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jsp/WEB-INF/web.xml new file mode 100644 index 00000000..2ef199d0 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jsp/WEB-INF/web.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + 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. +--> +<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" + "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> +<web-app/> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jsp/default.jsp b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jsp/default.jsp new file mode 100644 index 00000000..c7296b2c --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jsp/default.jsp @@ -0,0 +1,25 @@ +<!-- + 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. +--> +<%@ page language="java" %> +<html> +<head/> +<body> + +It is now <%= System.currentTimeMillis() %> + +</body> +</html> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jsp/missing_tld.jsp b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jsp/missing_tld.jsp new file mode 100644 index 00000000..b837fb1f --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jsp/missing_tld.jsp @@ -0,0 +1,32 @@ +<!-- + 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. +--> +<%@ page language="java" %> +<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %> +<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %> +<%@ taglib uri="/WEB-INF/tlds/struts-template.tld" prefix="template" %> +<html:html locale="true"> +<head> +<title>shouldnt compile</title> +<html:base/> +</head> +<body> + +This page should not compile because refers to TLDs that arent around. + +</body> + +</html:html> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jsp/simple.jsp b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jsp/simple.jsp new file mode 100644 index 00000000..c7296b2c --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jsp/simple.jsp @@ -0,0 +1,25 @@ +<!-- + 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. +--> +<%@ page language="java" %> +<html> +<head/> +<body> + +It is now <%= System.currentTimeMillis() %> + +</body> +</html> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jsp/uriroot.jsp b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jsp/uriroot.jsp new file mode 100644 index 00000000..c7296b2c --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jsp/uriroot.jsp @@ -0,0 +1,25 @@ +<!-- + 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. +--> +<%@ page language="java" %> +<html> +<head/> +<body> + +It is now <%= System.currentTimeMillis() %> + +</body> +</html> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jsp/xml.jsp b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jsp/xml.jsp new file mode 100644 index 00000000..7bb9e49c --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jsp/xml.jsp @@ -0,0 +1,32 @@ +<?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. +--> +<!-- :mode=xml:indentSize=2 --> +<!-- note the lack of a language setting here. crimson whined when ISO-8859-1 was set, + that it thought it was loading a file of type ISO_8859_1 and + so there was a mismatch, even though the mismatch is only + between hyphen types --> +<jsp:root + xmlns:jsp="http://java.sun.com/JSP/Page" + version="1.2" + > +<jsp:directive.page language="java" /> +<jsp:directive.page contentType="application/xml" /> +<timestamp> +<jsp:expression>System.currentTimeMillis()</jsp:expression> +</timestamp> +</jsp:root> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jspc.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jspc.xml new file mode 100644 index 00000000..f1207908 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/jspc.xml @@ -0,0 +1,133 @@ +<?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="jspc-test" default="main" basedir="."> + + <import file="../../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}"/> + <property name="jsp.dir" location="jsp"/> + <property name="jsp.output.dir" location="${output}"/> + <property name="jsp.verbosity" value="3"/> + <property name="jsp.compiler" value="jasper41"/> + <mkdir dir="${jsp.output.dir}"/> + </target> + + <target name="main" depends="testSimple"> + </target> + + + <!-- this should fail --> + <!-- it should not create an output file, but it does, which needs + cleanup --> + <target name="testNoTld" depends="setUp"> + <jspc + destdir="${jsp.output.dir}" + srcdir="${jsp.dir}" + compiler="${jsp.compiler}" + verbose="${jsp.verbosity}"> + <include + name="missing_tld.jsp"/> + </jspc> + </target> + + <!-- this should compile to simple.java --> + <!-- also, stick to the default compiler here to ensure it still works--> + <target name="testSimple" depends="setUp"> + <jspc + destdir="${jsp.output.dir}" + srcdir="${jsp.dir}" + verbose="${jsp.verbosity}"> + <include + name="simple.jsp"/> + </jspc> + </target> + + <!-- this should compile to uriroot.java --> + <target name="testUriroot" depends="setUp"> + <jspc + destdir="${jsp.output.dir}" + uriroot="${jsp.dir}" + srcdir="${jsp.dir}" + compiler="${jsp.compiler}" + verbose="${jsp.verbosity}"> + <include + name="uriroot.jsp"/> + </jspc> + </target> + + <!-- this should compile an xml format jsp page to xml.java --> + <target name="testXml" depends="setUp"> + <jspc + destdir="${jsp.output.dir}" + uriroot="${jsp.dir}" + srcdir="${jsp.dir}" + compiler="${jsp.compiler}" + verbose="${jsp.verbosity}"> + <include name="xml.jsp"/> + </jspc> + </target> + + <!-- this should compile default.jsp to mangled(%default).java --> + <target name="testKeyword" depends="setUp"> + <jspc + destdir="${jsp.output.dir}" + srcdir="${jsp.dir}" + compiler="${jsp.compiler}" + verbose="${jsp.verbosity}"> + <include + name="default.jsp"/> + </jspc> + </target> + + <!-- this should compile default.jsp to mangled(%default).java --> + <target name="testInvalidClassname" depends="setUp"> + <jspc + destdir="${jsp.output.dir}" + srcdir="${jsp.dir}" + compiler="${jsp.compiler}" + verbose="${jsp.verbosity}"> + <include + name="1nvalid-classname.jsp"/> + </jspc> + </target> + + <!-- non jsp pages should be ignored --> + <target name="testNotAJspFile" depends="setUp"> + <jspc + destdir="${jsp.output.dir}" + srcdir="${jsp.dir}" + compiler="${jsp.compiler}" + verbose="${jsp.verbosity}"> + <include + name="wrong_type.txt"/> + </jspc> + </target> + + <!-- test for webapp compilation --> + <target name="testWebapp" depends="setUp"> + <jspc + destdir="${jsp.output.dir}" + compiler="${jsp.compiler}" + verbose="${jsp.verbosity}"> + <webapp basedir="${jsp.dir}"/> + </jspc> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junit.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junit.xml new file mode 100644 index 00000000..cc66e20e --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junit.xml @@ -0,0 +1,361 @@ +<?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="junit-test" basedir="." default="outputTests"> + <import file="../../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}" /> + </target> + + <property name="showoutput" value="false" /> + <path id="test"> + <pathelement path="${java.class.path}" /> + <pathelement location="../../../../../build/testcases" /> + </path> + + <target name="testForkedOutput"> + <junit fork="yes" haltonerror="true" haltonfailure="true" + showoutput="${showoutput}"> + <test name="org.example.junit.Output" /> + <classpath refid="test" /> + </junit> + </target> + + <target name="testNonForkedOutput"> + <junit fork="false" haltonerror="true" haltonfailure="true" + showoutput="${showoutput}"> + <test name="org.example.junit.Output" /> + <classpath refid="test" /> + </junit> + </target> + + <target name="testForkedThreadedOutput"> + <junit fork="yes" haltonerror="true" haltonfailure="true" + showoutput="${showoutput}"> + <test name="org.example.junit.ThreadedOutput" /> + <classpath refid="test" /> + </junit> + </target> + + <target name="testNonForkedThreadedOutput"> + <junit fork="false" haltonerror="true" haltonfailure="true" + showoutput="${showoutput}"> + <test name="org.example.junit.ThreadedOutput" /> + <classpath refid="test" /> + </junit> + </target> + + <target name="outputTests" + depends="testForkedOutput,testNonForkedOutput,testForkedThreadedOutput,testNonForkedThreadedOutput" /> + + <target name="crash"> + <junit fork="true" errorproperty="crashed"> + <test name="org.apache.tools.ant.taskdefs.optional.junit.VmCrash"/> + <classpath refid="test" /> + </junit> + </target> + + <target name="nocrash"> + <junit fork="true" errorproperty="crashed"> + <test name="org.apache.tools.ant.taskdefs.optional.junit.NoVmCrash"/> + <classpath refid="test" /> + </junit> + </target> + + <target name="timeout"> + <junit fork="true" errorproperty="timeout" timeout="1000"> + <test name="org.apache.tools.ant.taskdefs.optional.junit.Sleeper"/> + <classpath refid="test" /> + </junit> + </target> + + <target name="notimeout"> + <junit fork="true" errorproperty="timeout" timeout="15000"> + <test name="org.apache.tools.ant.taskdefs.optional.junit.Sleeper"/> + <classpath refid="test" /> + </junit> + </target> + + <target name="capture" depends="setUp"> + <property name="fork" value="false"/> + <junit fork="${fork}"> + <test + name="org.apache.tools.ant.taskdefs.optional.junit.Printer" + todir="${output}" + outfile="testlog"/> + <formatter type="plain"/> + <classpath refid="test"/> + </junit> + </target> + + <target name="captureToSummary"> + <property name="fork" value="true"/> + <property name="enableEvents" value="false"/> + <junit fork="${fork}" printSummary="withOutAndErr" + enableTestListenerEvents="${enableEvents}"> + <test name="org.apache.tools.ant.taskdefs.optional.junit.Printer"/> + <classpath refid="test"/> + </junit> + </target> + + <target name="testBatchTestForkOnceToDir" depends="setUp"> + <junit fork="true" forkmode="once"> + <formatter type="xml"/> + <classpath refid="test"/> + <batchtest todir="${output}"> + <fileset dir="../../../../tests/junit"> + <include + name="org/apache/tools/ant/taskdefs/optional/junit/*Test.java"/> + <!-- tests remove out-dir on tearDown --> + <exclude name="**/JUnitTestListenerTest.java"/> + <exclude name="**/JUnitTaskTest.java"/> + <exclude name="**/JUnitReportTest.java"/> + </fileset> + </batchtest> + </junit> + </target> + + <!-- Bugzilla Report 32973 --> + <target name="testBatchTestForkOnceExtension"> + <mkdir dir="${output}"/> + <junit fork="true" forkmode="once"> + <formatter type="xml" extension=".foo"/> + <classpath refid="test"/> + <batchtest todir="${output}"> + <fileset dir="../../../../tests/junit"> + <include + name="org/apache/tools/ant/taskdefs/optional/junit/*Test.java"/> + <!-- tests remove out-dir on tearDown --> + <exclude name="**/JUnitTestListenerTest.java"/> + <exclude name="**/JUnitTaskTest.java"/> + <exclude name="**/JUnitReportTest.java"/> + </fileset> + </batchtest> + </junit> + </target> + + <target name="testBatchTestForkOnceCustomFormatter"> + <mkdir dir="${output}"/> + <junit fork="true" forkmode="once"> + <formatter extension="foo" + classname="org.apache.tools.ant.taskdefs.optional.junit.TestFormatter"/> + <classpath refid="test"/> + <batchtest todir="${output}"> + <fileset dir="../../../../tests/junit"> + <include + name="org/apache/tools/ant/taskdefs/optional/junit/*Test.java"/> + <!-- tests remove out-dir on tearDown --> + <exclude name="**/JUnitTestListenerTest.java"/> + <exclude name="**/JUnitTaskTest.java"/> + <exclude name="**/JUnitReportTest.java"/> + </fileset> + </batchtest> + </junit> + </target> + + <target name="failureRecorder.prepare"> + <property name="tmp.dir" value="${output}"/> + <mkdir dir="${tmp.dir}/org"/> + <echo file="${tmp.dir}/A.java"> + import junit.framework.*; + public class A extends TestCase { + public A(String s) { super(s); } + public void test01() { System.out.println("A.test01"); } + public void test02() { System.out.println("A.test02"); fail(); } + public void test03() { System.out.println("A.test03"); fail(); } + } + </echo> + <echo file="${tmp.dir}/B.java"> + import junit.framework.*; + public class B extends TestCase { + public B(String s) { super(s); } + public void test04() { System.out.println("B.test04"); fail(); } + public void test05() { System.out.println("B.test05"); } + public void test06() { System.out.println("B.test06"); } + } + </echo> + <echo file="${tmp.dir}/C.java"> + import junit.framework.*; + public class C extends TestCase { + public C(String s) { super(s); } + public void test07() { System.out.println("C.test07"); } + public void test08() { System.out.println("C.test08"); } + public void test09() { System.out.println("C.test09"); } + } + </echo> + <echo file="${tmp.dir}/org/D.java"> + package org; + import junit.framework.*; + public class D extends TestCase { + public D(String s) { super(s); } + public void test10() { System.out.println("D.test10"); fail(); } + } + </echo> + <javac srcdir="${tmp.dir}" destdir="${tmp.dir}"/> + </target> + + <target name="failureRecorder.internal"> + <property name="tmp.dir" value="${output}"/> + <delete> + <fileset dir="${tmp.dir}" includes="FailedTests*.class"/> + </delete> + <!-- compile the FailedTests class if present --> + <javac srcdir="${tmp.dir}" destdir="${tmp.dir}"/> + <available file="${tmp.dir}/FailedTests.class" property="hasFailingTests"/> + + <property name="ant.junit.failureCollector" value="${tmp.dir}/FailedTests"/> + <junit haltonerror="false" haltonfailure="false"> + <classpath> + <pathelement location="${tmp.dir}"/> + </classpath> + <batchtest todir="${tmp.dir}" unless="hasFailingTests"> + <fileset dir="${tmp.dir}" includes="**/*.java" excludes="**/FailedTests.*"/> + <!-- for initial creation of the FailingTests.java --> + <formatter type="failure"/> + <!-- I want to see something ... --> + <formatter type="plain" usefile="false"/> + </batchtest> + <test name="FailedTests" if="hasFailingTests" todir="${tmp.dir}"> + <!-- update the FailingTests.java --> + <formatter type="failure"/> + <!-- again, I want to see something --> + <formatter type="plain" usefile="false"/> + </test> + </junit> + </target> + + <target name="failureRecorder.runtest"> + <ant target="failureRecorder.internal" + antfile="junit.xml" + inheritAll="false" + inheritRefs="false" + /> + </target> + + <target name="failureRecorder.fixing"> + <property name="tmp.dir" value="${output}"/> + <echo file="${tmp.dir}/A.java"> + import junit.framework.*; + public class A extends TestCase { + public A(String s) { super(s); } + public void test01() { System.out.println("A.test01"); } + public void test02() { System.out.println("A.test02"); } + public void test03() { System.out.println("A.test03"); } + } + </echo> + </target> + + <!-- Bugzilla Issue 45411 --> + <target name="testMultilineAssertsNoFork"> + <junit> + <test name="org.example.junit.MultilineAsserts"/> + <classpath refid="test"/> + </junit> + </target> + + <!-- Bugzilla Issue 45411 --> + <target name="testMultilineAssertsFork"> + <junit fork="true"> + <test name="org.example.junit.MultilineAsserts"/> + <classpath refid="test"/> + </junit> + </target> + + <!-- JUnit4 Ignore and Assume for skipping tests --> + <target name="testSkippableTests"> + <mkdir dir="${output}"/> + <junit> + <formatter type="xml"/> + <classpath refid="test"/> + <batchtest todir="${output}"> + <fileset dir="../../../../tests/junit"> + <include name="org/example/junit/JUnit4Skippable.java"/> + <!-- tests remove out-dir on tearDown --> + </fileset> + </batchtest> + </junit> + </target> + + + <!-- Skipping classes that are not tests --> + <target name="testNonTests"> + <mkdir dir="${output}"/> + <junit> + <formatter type="xml"/> + <classpath refid="test"/> + <batchtest todir="${output}" skipNonTests="true"> + <fileset dir="../../../../tests/junit"> + <include name="org/example/junit/*Missed.java"/> + <!-- tests remove out-dir on tearDown --> + </fileset> + </batchtest> + </junit> + </target> + + <!-- Not skipping classes that are not tests --> + <target name="testNonTestsRun"> + <mkdir dir="${output}"/> + <junit> + <formatter type="xml"/> + <classpath refid="test"/> + <batchtest todir="${output}" skipNonTests="false"> + <fileset dir="../../../../tests/junit"> + <include name="org/example/junit/*Missed.java"/> + <!-- tests remove out-dir on tearDown --> + </fileset> + </batchtest> + </junit> + </target> + + <target name="testTestMethods" > + <property name="tmp.dir" value="${output}"/> + <echo file="${tmp.dir}/T1.java">public class T1 extends + junit.framework.TestCase { + public void testOK() {} + public void testBad() {throw new RuntimeException("failed");} + }</echo> + <echo file="${tmp.dir}/T2.java"> + import org.junit.Test; + public class T2 { + @Test + public void ok() {} + @Test + public void bad() { + throw new RuntimeException("failed");} + }</echo> + <available property="jdk1.6+" classname="java.net.CookieStore"/> + <condition property="source" value="6"> + <isset property="jdk1.6+"/> + </condition> + <property name="source" value="5"/> + <javac srcdir="${tmp.dir}" destdir="${tmp.dir}" includes="T1.java,T2.java" + source="${source}"> + + </javac> + <junit fork="false" printsummary="true" haltonerror="true"> + <classpath> + <pathelement location="${tmp.dir}" /> + <path refid="test" /> + </classpath> + <test name="T1" methods="testOK" /> + <test name="T2" methods="ok" /> + </junit> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junit/cdataoutput.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junit/cdataoutput.xml new file mode 100644 index 00000000..ab5409b3 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junit/cdataoutput.xml @@ -0,0 +1,28 @@ +<?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 basedir="."> + <target name="run-junit"> + <junit fork="true"> + <classpath path="${tests-classpath.value}"/> + <sysproperty key="cdata.inner" value="true"/> + <test + name="org.apache.tools.ant.taskdefs.optional.junit.XMLFormatterWithCDATAOnSystemOut"/> + <formatter type="xml"/> + </junit> + </target> +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junit/matches.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junit/matches.xml new file mode 100644 index 00000000..2451cf89 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junit/matches.xml @@ -0,0 +1,25 @@ +<?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. +--> +<matches> + <foo> + <abc> + <foo/> + <foo/> + </abc> + </foo> +</matches>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junit/teardownlistener.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junit/teardownlistener.xml new file mode 100644 index 00000000..abb6a410 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junit/teardownlistener.xml @@ -0,0 +1,50 @@ +<?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> + + <path id="test"> + <pathelement path="${java.class.path}" /> + <pathelement location="../../../../../../build/testcases" /> + </path> + + <target name="testNoTeardown"> + <junit haltonerror="false" errorproperty="error" fork="true" timeout="1000"> + <formatter type="plain" usefile="false"/> + <batchtest> + <fileset dir="../../../../../../build/testcases"> + <include name="org/example/junit/Timeout*"/> + </fileset> + </batchtest> + <classpath refid="test"/> + </junit> + </target> + + <target name="testTeardown"> + <junit haltonerror="false" errorproperty="error" fork="true" timeout="1000"> + <formatter type="plain" usefile="false"/> + <formatter classname="org.apache.tools.ant.taskdefs.optional.junit.TearDownOnVmCrash" + usefile="false"/> + <batchtest> + <fileset dir="../../../../../../build/testcases"> + <include name="org/example/junit/Timeout*"/> + </fileset> + </batchtest> + <classpath refid="test"/> + </junit> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport-with-include/junit-frames.xsl b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport-with-include/junit-frames.xsl new file mode 100644 index 00000000..3c0d85aa --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport-with-include/junit-frames.xsl @@ -0,0 +1,879 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns:lxslt="http://xml.apache.org/xslt" + xmlns:redirect="http://xml.apache.org/xalan/redirect" + xmlns:stringutils="xalan://org.apache.tools.ant.util.StringUtils" + extension-element-prefixes="redirect"> +<xsl:import href="junit-import.xsl"/> +<xsl:output method="html" indent="yes" encoding="US-ASCII"/> +<xsl:decimal-format decimal-separator="." grouping-separator=","/> +<!-- + 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. + --> + +<!-- + + Sample stylesheet to be used with Ant JUnitReport output. + + It creates a set of HTML files a la javadoc where you can browse easily + through all packages and classes. + +--> +<xsl:param name="output.dir" select="'.'"/> +<xsl:param name="key1" select="'defaultValue1'"/> +<xsl:param name="key2" select="'defaultValue2'"/> + +<xsl:template match="testsuites"> + <!-- create the index.html --> + <redirect:write file="{$output.dir}/index.html"> + <xsl:call-template name="index.html"/> + </redirect:write> + + <!-- create the stylesheet.css --> + <redirect:write file="{$output.dir}/stylesheet.css"> + <xsl:call-template name="stylesheet.css"/> + </redirect:write> + + <!-- create the overview-packages.html at the root --> + <redirect:write file="{$output.dir}/overview-summary.html"> + <xsl:apply-templates select="." mode="overview.packages"/> + </redirect:write> + + <!-- create the all-packages.html at the root --> + <redirect:write file="{$output.dir}/overview-frame.html"> + <xsl:apply-templates select="." mode="all.packages"/> + </redirect:write> + + <!-- create the all-classes.html at the root --> + <redirect:write file="{$output.dir}/allclasses-frame.html"> + <xsl:apply-templates select="." mode="all.classes"/> + </redirect:write> + + <!-- create the all-tests.html at the root --> + <redirect:write file="{$output.dir}/all-tests.html"> + <xsl:apply-templates select="." mode="all.tests"/> + </redirect:write> + + <!-- create the alltests-fails.html at the root --> + <redirect:write file="{$output.dir}/alltests-fails.html"> + <xsl:apply-templates select="." mode="all.tests"> + <xsl:with-param name="type" select="'fails'"/> + </xsl:apply-templates> + </redirect:write> + + <!-- create the alltests-errors.html at the root --> + <redirect:write file="{$output.dir}/alltests-errors.html"> + <xsl:apply-templates select="." mode="all.tests"> + <xsl:with-param name="type" select="'errors'"/> + </xsl:apply-templates> + </redirect:write> + + <!-- process all packages --> + <xsl:for-each select="./testsuite[not(./@package = preceding-sibling::testsuite/@package)]"> + <xsl:call-template name="package"> + <xsl:with-param name="name" select="@package"/> + </xsl:call-template> + </xsl:for-each> +</xsl:template> + <xsl:template name="package"> + <xsl:param name="name"/> + <xsl:variable name="package.dir"> + <xsl:if test="not($name = '')"><xsl:value-of select="translate($name,'.','/')"/></xsl:if> + <xsl:if test="$name = ''">.</xsl:if> + </xsl:variable> + <!--Processing package <xsl:value-of select="@name"/> in <xsl:value-of select="$output.dir"/> --> + <!-- create a classes-list.html in the package directory --> + <redirect:write file="{$output.dir}/{$package.dir}/package-frame.html"> + <xsl:call-template name="classes.list"> + <xsl:with-param name="name" select="$name"/> + </xsl:call-template> + </redirect:write> + + <!-- create a package-summary.html in the package directory --> + <redirect:write file="{$output.dir}/{$package.dir}/package-summary.html"> + <xsl:call-template name="package.summary"> + <xsl:with-param name="name" select="$name"/> + </xsl:call-template> + </redirect:write> + + <!-- for each class, creates a @name.html --> + <!-- @bug there will be a problem with inner classes having the same name, it will be overwritten --> + <xsl:for-each select="/testsuites/testsuite[@package = $name]"> + <redirect:write file="{$output.dir}/{$package.dir}/{@id}_{@name}.html"> + <xsl:apply-templates select="." mode="class.details"/> + </redirect:write> + <xsl:if test="string-length(./system-out)!=0"> + <redirect:write file="{$output.dir}/{$package.dir}/{@id}_{@name}-out.txt"> + <xsl:value-of disable-output-escaping="yes" select="./system-out"/> + </redirect:write> + </xsl:if> + <xsl:if test="string-length(./system-err)!=0"> + <redirect:write file="{$output.dir}/{$package.dir}/{@id}_{@name}-err.txt"> + <xsl:value-of disable-output-escaping="yes" select="./system-err"/> + </redirect:write> + </xsl:if> + <xsl:if test="@failures != 0"> + <redirect:write file="{$output.dir}/{$package.dir}/{@id}_{@name}-fails.html"> + <xsl:apply-templates select="." mode="class.details"> + <xsl:with-param name="type" select="'fails'"/> + </xsl:apply-templates> + </redirect:write> + </xsl:if> + <xsl:if test="@errors != 0"> + <redirect:write file="{$output.dir}/{$package.dir}/{@id}_{@name}-errors.html"> + <xsl:apply-templates select="." mode="class.details"> + <xsl:with-param name="type" select="'errors'"/> + </xsl:apply-templates> + </redirect:write> + </xsl:if> + </xsl:for-each> + </xsl:template> + + +<xsl:template name="index.html"> +<html> + <head> + <title> + Unit Test Results. key1=<xsl:value-of select="$key1"/>,key2=<xsl:value-of select="$key2"/> + </title> + </head> + <frameset cols="20%,80%"> + <frameset rows="30%,70%"> + <frame src="overview-frame.html" name="packageListFrame"/> + <frame src="allclasses-frame.html" name="classListFrame"/> + </frameset> + <frame src="overview-summary.html" name="classFrame"/> + <noframes> + <h2>Frame Alert</h2> + <p> + This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. + </p> + </noframes> + </frameset> +</html> +</xsl:template> + +<!-- this is the stylesheet css to use for nearly everything --> +<xsl:template name="stylesheet.css"> +body { + font:normal 68% verdana,arial,helvetica; + color:#000000; +} +table tr td, table tr th { + font-size: 68%; +} +table.details tr th{ + font-weight: bold; + text-align:left; + background:#a6caf0; +} +table.details tr td{ + background:#eeeee0; +} + +p { + line-height:1.5em; + margin-top:0.5em; margin-bottom:1.0em; +} +h1 { + margin: 0px 0px 5px; font: 165% verdana,arial,helvetica +} +h2 { + margin-top: 1em; margin-bottom: 0.5em; font: bold 125% verdana,arial,helvetica +} +h3 { + margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica +} +h4 { + margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica +} +h5 { + margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica +} +h6 { + margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica +} +.Error { + font-weight:bold; color:red; +} +.Failure { + font-weight:bold; color:purple; +} +.Properties { + text-align:right; +} +</xsl:template> + +<!-- Create list of all/failed/errored tests --> +<xsl:template match="testsuites" mode="all.tests"> + <xsl:param name="type" select="'all'"/> + <html> + <xsl:variable name="title"> + <xsl:choose> + <xsl:when test="$type = 'fails'"> + <xsl:text>All Failures</xsl:text> + </xsl:when> + <xsl:when test="$type = 'errors'"> + <xsl:text>All Errors</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>All Tests</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <head> + <title>Unit Test Results: <xsl:value-of select="$title"/></title> + <xsl:call-template name="create.stylesheet.link"> + <xsl:with-param name="package.name"/> + </xsl:call-template> + </head> + <body> + <xsl:attribute name="onload">open('allclasses-frame.html','classListFrame')</xsl:attribute> + <xsl:call-template name="pageHeader"/> + <h2><xsl:value-of select="$title"/></h2> + + <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%"> + <xsl:call-template name="testcase.test.header"> + <xsl:with-param name="show.class" select="'yes'"/> + </xsl:call-template> + <!-- + test can even not be started at all (failure to load the class) + so report the error directly + --> + <xsl:if test="./error"> + <tr class="Error"> + <td colspan="4"> + <xsl:apply-templates select="./error"/> + </td> + </tr> + </xsl:if> + <xsl:choose> + <xsl:when test="$type = 'fails'"> + <xsl:apply-templates select=".//testcase[failure]" mode="print.test"> + <xsl:with-param name="show.class" select="'yes'"/> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="$type = 'errors'"> + <xsl:apply-templates select=".//testcase[error]" mode="print.test"> + <xsl:with-param name="show.class" select="'yes'"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select=".//testcase" mode="print.test"> + <xsl:with-param name="show.class" select="'yes'"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + </table> + </body> + </html> +</xsl:template> + + +<!-- ====================================================================== + This page is created for every testsuite class. + It prints a summary of the testsuite and detailed information about + testcase methods. + ====================================================================== --> +<xsl:template match="testsuite" mode="class.details"> + <xsl:param name="type" select="'all'"/> + <xsl:variable name="package.name" select="@package"/> + <xsl:variable name="class.name"><xsl:if test="not($package.name = '')"><xsl:value-of select="$package.name"/>.</xsl:if><xsl:value-of select="@name"/></xsl:variable> + <html> + <head> + <title>Unit Test Results: <xsl:value-of select="$class.name"/></title> + <xsl:call-template name="create.stylesheet.link"> + <xsl:with-param name="package.name" select="$package.name"/> + </xsl:call-template> + <script type="text/javascript" language="JavaScript"> + var TestCases = new Array(); + var cur; + <xsl:apply-templates select="properties"/> + </script> + <script type="text/javascript" language="JavaScript"><![CDATA[ + function displayProperties (name) { + var win = window.open('','JUnitSystemProperties','scrollbars=1,resizable=1'); + var doc = win.document; + doc.open(); + doc.write("<html><head><title>Properties of " + name + "</title>"); + doc.write("<style type=\"text/css\">"); + doc.write("body {font:normal 68% verdana,arial,helvetica; color:#000000; }"); + doc.write("table tr td, table tr th { font-size: 68%; }"); + doc.write("table.properties { border-collapse:collapse; border-left:solid 1 #cccccc; border-top:solid 1 #cccccc; padding:5px; }"); + doc.write("table.properties th { text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#eeeeee; }"); + doc.write("table.properties td { font:normal; text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#fffffff; }"); + doc.write("h3 { margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica }"); + doc.write("</style>"); + doc.write("</head><body>"); + doc.write("<h3>Properties of " + name + "</h3>"); + doc.write("<div align=\"right\"><a href=\"javascript:window.close();\">Close</a></div>"); + doc.write("<table class='properties'>"); + doc.write("<tr><th>Name</th><th>Value</th></tr>"); + for (prop in TestCases[name]) { + doc.write("<tr><th>" + prop + "</th><td>" + TestCases[name][prop] + "</td></tr>"); + } + doc.write("</table>"); + doc.write("</body></html>"); + doc.close(); + win.focus(); + } + ]]> + </script> + </head> + <body> + <xsl:call-template name="pageHeader"/> + <h3>Class <xsl:value-of select="$class.name"/></h3> + + + <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%"> + <xsl:call-template name="testsuite.test.header"/> + <xsl:apply-templates select="." mode="print.test"/> + </table> + + <xsl:choose> + <xsl:when test="$type = 'fails'"> + <h2>Failures</h2> + </xsl:when> + <xsl:when test="$type = 'errors'"> + <h2>Errors</h2> + </xsl:when> + <xsl:otherwise> + <h2>Tests</h2> + </xsl:otherwise> + </xsl:choose> + <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%"> + <xsl:call-template name="testcase.test.header"/> + <!-- + test can even not be started at all (failure to load the class) + so report the error directly + --> + <xsl:if test="./error"> + <tr class="Error"> + <td colspan="4"><xsl:apply-templates select="./error"/></td> + </tr> + </xsl:if> + <xsl:choose> + <xsl:when test="$type = 'fails'"> + <xsl:apply-templates select="./testcase[failure]" mode="print.test"/> + </xsl:when> + <xsl:when test="$type = 'errors'"> + <xsl:apply-templates select="./testcase[error]" mode="print.test"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="./testcase" mode="print.test"/> + </xsl:otherwise> + </xsl:choose> + </table> + <div class="Properties"> + <a> + <xsl:attribute name="href">javascript:displayProperties('<xsl:value-of select="@package"/>.<xsl:value-of select="@name"/>');</xsl:attribute> + Properties » + </a> + </div> + <xsl:if test="string-length(./system-out)!=0"> + <div class="Properties"> + <a> + <xsl:attribute name="href">./<xsl:value-of select="@id"/>_<xsl:value-of select="@name"/>-out.txt</xsl:attribute> + System.out » + </a> + </div> + </xsl:if> + <xsl:if test="string-length(./system-err)!=0"> + <div class="Properties"> + <a> + <xsl:attribute name="href">./<xsl:value-of select="@id"/>_<xsl:value-of select="@name"/>-err.txt</xsl:attribute> + System.err » + </a> + </div> + </xsl:if> + </body> + </html> +</xsl:template> + + <!-- + Write properties into a JavaScript data structure. + This is based on the original idea by Erik Hatcher (ehatcher@apache.org) + --> + <xsl:template match="properties"> + cur = TestCases['<xsl:value-of select="../@package"/>.<xsl:value-of select="../@name"/>'] = new Array(); + <xsl:for-each select="property"> + <xsl:sort select="@name"/> + cur['<xsl:value-of select="@name"/>'] = '<xsl:call-template name="JS-escape"><xsl:with-param name="string" select="@value"/></xsl:call-template>'; + </xsl:for-each> + </xsl:template> + + +<!-- ====================================================================== + This page is created for every package. + It prints the name of all classes that belongs to this package. + @param name the package name to print classes. + ====================================================================== --> +<!-- list of classes in a package --> +<xsl:template name="classes.list"> + <xsl:param name="name"/> + <html> + <head> + <title>Unit Test Classes: <xsl:value-of select="$name"/></title> + <xsl:call-template name="create.stylesheet.link"> + <xsl:with-param name="package.name" select="$name"/> + </xsl:call-template> + </head> + <body> + <table width="100%"> + <tr> + <td nowrap="nowrap"> + <h2><a href="package-summary.html" target="classFrame"> + <xsl:value-of select="$name"/> + <xsl:if test="$name = ''"><none></xsl:if> + </a></h2> + </td> + </tr> + </table> + + <h2>Classes</h2> + <table width="100%"> + <xsl:for-each select="/testsuites/testsuite[./@package = $name]"> + <xsl:sort select="@name"/> + <tr> + <td nowrap="nowrap"> + <a href="{@id}_{@name}.html" target="classFrame"><xsl:value-of select="@name"/></a> + </td> + </tr> + </xsl:for-each> + </table> + </body> + </html> +</xsl:template> + + +<!-- + Creates an all-classes.html file that contains a link to all package-summary.html + on each class. +--> +<xsl:template match="testsuites" mode="all.classes"> + <html> + <head> + <title>All Unit Test Classes</title> + <xsl:call-template name="create.stylesheet.link"> + <xsl:with-param name="package.name"/> + </xsl:call-template> + </head> + <body> + <h2>Classes</h2> + <table width="100%"> + <xsl:apply-templates select="testsuite" mode="all.classes"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + </table> + </body> + </html> +</xsl:template> + +<xsl:template match="testsuite" mode="all.classes"> + <xsl:variable name="package.name" select="@package"/> + <tr> + <td nowrap="nowrap"> + <a target="classFrame"> + <xsl:attribute name="href"> + <xsl:if test="not($package.name='')"> + <xsl:value-of select="translate($package.name,'.','/')"/><xsl:text>/</xsl:text> + </xsl:if><xsl:value-of select="@id"/>_<xsl:value-of select="@name"/><xsl:text>.html</xsl:text> + </xsl:attribute> + <xsl:value-of select="@name"/> + </a> + </td> + </tr> +</xsl:template> + + +<!-- + Creates an html file that contains a link to all package-summary.html files on + each package existing on testsuites. + @bug there will be a problem here, I don't know yet how to handle unnamed package :( +--> +<xsl:template match="testsuites" mode="all.packages"> + <html> + <head> + <title>All Unit Test Packages</title> + <xsl:call-template name="create.stylesheet.link"> + <xsl:with-param name="package.name"/> + </xsl:call-template> + </head> + <body> + <h2><a href="overview-summary.html" target="classFrame">Home</a></h2> + <h2>Packages</h2> + <table width="100%"> + <xsl:apply-templates select="testsuite[not(./@package = preceding-sibling::testsuite/@package)]" mode="all.packages"> + <xsl:sort select="@package"/> + </xsl:apply-templates> + </table> + </body> + </html> +</xsl:template> + +<xsl:template match="testsuite" mode="all.packages"> + <tr> + <td nowrap="nowrap"> + <a href="./{translate(@package,'.','/')}/package-summary.html" target="classFrame"> + <xsl:value-of select="@package"/> + <xsl:if test="@package = ''"><none></xsl:if> + </a> + </td> + </tr> +</xsl:template> + + +<xsl:template match="testsuites" mode="overview.packages"> + <html> + <head> + <title>Unit Test Results: Summary</title> + <xsl:call-template name="create.stylesheet.link"> + <xsl:with-param name="package.name"/> + </xsl:call-template> + </head> + <body> + <xsl:attribute name="onload">open('allclasses-frame.html','classListFrame')</xsl:attribute> + <xsl:call-template name="pageHeader"/> + <h2>Summary</h2> + <xsl:variable name="testCount" select="sum(testsuite/@tests)"/> + <xsl:variable name="errorCount" select="sum(testsuite/@errors)"/> + <xsl:variable name="failureCount" select="sum(testsuite/@failures)"/> + <xsl:variable name="timeCount" select="sum(testsuite/@time)"/> + <xsl:variable name="successRate" select="($testCount - $failureCount - $errorCount) div $testCount"/> + <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%"> + <tr valign="top"> + <th>Tests</th> + <th>Failures</th> + <th>Errors</th> + <th>Success rate</th> + <th>Time</th> + </tr> + <tr valign="top"> + <xsl:attribute name="class"> + <xsl:choose> + <xsl:when test="$errorCount > 0">Error</xsl:when> + <xsl:when test="$failureCount > 0">Failure</xsl:when> + <xsl:otherwise>Pass</xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <td><a title="Display all tests" href="all-tests.html"><xsl:value-of select="$testCount"/></a></td> + <td><a title="Display all failures" href="alltests-fails.html"><xsl:value-of select="$failureCount"/></a></td> + <td><a title="Display all errors" href="alltests-errors.html"><xsl:value-of select="$errorCount"/></a></td> + <td> + <xsl:call-template name="display-percent"> + <xsl:with-param name="value" select="$successRate"/> + </xsl:call-template> + </td> + <td> + <xsl:call-template name="display-time"> + <xsl:with-param name="value" select="$timeCount"/> + </xsl:call-template> + </td> + </tr> + </table> + <table border="0" width="95%"> + <tr> + <td style="text-align: justify;"> + Note: <em>failures</em> are anticipated and checked for with assertions while <em>errors</em> are unanticipated. + </td> + </tr> + </table> + + <h2>Packages</h2> + <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%"> + <xsl:call-template name="testsuite.test.header"/> + <xsl:for-each select="testsuite[not(./@package = preceding-sibling::testsuite/@package)]"> + <xsl:sort select="@package" order="ascending"/> + <!-- get the node set containing all testsuites that have the same package --> + <xsl:variable name="insamepackage" select="/testsuites/testsuite[./@package = current()/@package]"/> + <tr valign="top"> + <!-- display a failure if there is any failure/error in the package --> + <xsl:attribute name="class"> + <xsl:choose> + <xsl:when test="sum($insamepackage/@errors) > 0">Error</xsl:when> + <xsl:when test="sum($insamepackage/@failures) > 0">Failure</xsl:when> + <xsl:otherwise>Pass</xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <td><a href="./{translate(@package,'.','/')}/package-summary.html"> + <xsl:value-of select="@package"/> + <xsl:if test="@package = ''"><none></xsl:if> + </a></td> + <td><xsl:value-of select="sum($insamepackage/@tests)"/></td> + <td><xsl:value-of select="sum($insamepackage/@errors)"/></td> + <td><xsl:value-of select="sum($insamepackage/@failures)"/></td> + <td> + <xsl:call-template name="display-time"> + <xsl:with-param name="value" select="sum($insamepackage/@time)"/> + </xsl:call-template> + </td> + <td><xsl:value-of select="$insamepackage/@timestamp"/></td> + <td><xsl:value-of select="$insamepackage/@hostname"/></td> + </tr> + </xsl:for-each> + </table> + </body> + </html> +</xsl:template> + + +<xsl:template name="package.summary"> + <xsl:param name="name"/> + <html> + <head> + <xsl:call-template name="create.stylesheet.link"> + <xsl:with-param name="package.name" select="$name"/> + </xsl:call-template> + </head> + <body> + <xsl:attribute name="onload">open('package-frame.html','classListFrame')</xsl:attribute> + <xsl:call-template name="pageHeader"/> + <h3>Package <xsl:value-of select="$name"/></h3> + + <!--table border="0" cellpadding="5" cellspacing="2" width="95%"> + <xsl:call-template name="class.metrics.header"/> + <xsl:apply-templates select="." mode="print.metrics"/> + </table--> + + <xsl:variable name="insamepackage" select="/testsuites/testsuite[./@package = $name]"/> + <xsl:if test="count($insamepackage) > 0"> + <h2>Classes</h2> + <p> + <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%"> + <xsl:call-template name="testsuite.test.header"/> + <xsl:apply-templates select="$insamepackage" mode="print.test"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + </table> + </p> + </xsl:if> + </body> + </html> +</xsl:template> + + +<!-- + transform string like a.b.c to ../../../ + @param path the path to transform into a descending directory path +--> +<xsl:template name="path"> + <xsl:param name="path"/> + <xsl:if test="contains($path,'.')"> + <xsl:text>../</xsl:text> + <xsl:call-template name="path"> + <xsl:with-param name="path"><xsl:value-of select="substring-after($path,'.')"/></xsl:with-param> + </xsl:call-template> + </xsl:if> + <xsl:if test="not(contains($path,'.')) and not($path = '')"> + <xsl:text>../</xsl:text> + </xsl:if> +</xsl:template> + + +<!-- create the link to the stylesheet based on the package name --> +<xsl:template name="create.stylesheet.link"> + <xsl:param name="package.name"/> + <link rel="stylesheet" type="text/css" title="Style"><xsl:attribute name="href"><xsl:if test="not($package.name = 'unnamed package')"><xsl:call-template name="path"><xsl:with-param name="path" select="$package.name"/></xsl:call-template></xsl:if>stylesheet.css</xsl:attribute></link> +</xsl:template> + + +<!-- Page HEADER --> +<xsl:template name="pageHeader"> + <h1>Unit Test Results</h1> + <table width="100%"> + <tr> + <td align="left"></td> + <td align="right">Designed for use with <a href="http://www.junit.org/">JUnit</a> and <a href="http://ant.apache.org/">Ant</a>.</td> + </tr> + </table> + <hr size="1"/> +</xsl:template> + + <xsl:template name="testsuite.test.header"> + <tr valign="top"> + <th width="80%">Name</th> + <th>Tests</th> + <th>Errors</th> + <th>Failures</th> + <th nowrap="nowrap">Time(s)</th> + <th nowrap="nowrap">Time Stamp</th> + <th>Host</th> + </tr> + </xsl:template> +<!-- method header --> +<xsl:template name="testcase.test.header"> + <xsl:param name="show.class" select="''"/> + <tr valign="top"> + <xsl:if test="boolean($show.class)"> + <th>Class</th> + </xsl:if> + <th>Name</th> + <th>Status</th> + <th width="80%">Type</th> + <th nowrap="nowrap">Time(s)</th> + </tr> +</xsl:template> + + +<!-- class information --> +<xsl:template match="testsuite" mode="print.test"> + <tr valign="top"> + <xsl:attribute name="class"> + <xsl:choose> + <xsl:when test="@errors[.> 0]">Error</xsl:when> + <xsl:when test="@failures[.> 0]">Failure</xsl:when> + <xsl:otherwise>Pass</xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <td><a title="Display all tests" href="{@id}_{@name}.html"><xsl:value-of select="@name"/></a></td> + <td><a title="Display all tests" href="{@id}_{@name}.html"><xsl:apply-templates select="@tests"/></a></td> + <td> + <xsl:choose> + <xsl:when test="@errors != 0"> + <a title="Display only errors" href="{@id}_{@name}-errors.html"><xsl:apply-templates select="@errors"/></a> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="@errors"/> + </xsl:otherwise> + </xsl:choose> + </td> + <td> + <xsl:choose> + <xsl:when test="@failures != 0"> + <a title="Display only failures" href="{@id}_{@name}-fails.html"><xsl:apply-templates select="@failures"/></a> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="@failures"/> + </xsl:otherwise> + </xsl:choose> + </td> + <td><xsl:call-template name="display-time"> + <xsl:with-param name="value" select="@time"/> + </xsl:call-template> + </td> + <td><xsl:apply-templates select="@timestamp"/></td> + <td><xsl:apply-templates select="@hostname"/></td> + </tr> +</xsl:template> + +<xsl:template match="testcase" mode="print.test"> + <xsl:param name="show.class" select="''"/> + <tr valign="top"> + <xsl:attribute name="class"> + <xsl:choose> + <xsl:when test="error">Error</xsl:when> + <xsl:when test="failure">Failure</xsl:when> + <xsl:otherwise>TableRowColor</xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <xsl:variable name="class.href"> + <xsl:value-of select="concat(translate(../@package,'.','/'), '/', ../@id, '_', ../@name, '.html')"/> + </xsl:variable> + <xsl:if test="boolean($show.class)"> + <td><a href="{$class.href}"><xsl:value-of select="../@name"/></a></td> + </xsl:if> + <td> + <a name="{@name}"/> + <xsl:choose> + <xsl:when test="boolean($show.class)"> + <a href="{concat($class.href, '#', @name)}"><xsl:value-of select="@name"/></a> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@name"/> + </xsl:otherwise> + </xsl:choose> + </td> + <xsl:choose> + <xsl:when test="failure"> + <td>Failure</td> + <td><xsl:apply-templates select="failure"/></td> + </xsl:when> + <xsl:when test="error"> + <td>Error</td> + <td><xsl:apply-templates select="error"/></td> + </xsl:when> + <xsl:otherwise> + <td>Success</td> + <td></td> + </xsl:otherwise> + </xsl:choose> + <td> + <xsl:call-template name="display-time"> + <xsl:with-param name="value" select="@time"/> + </xsl:call-template> + </td> + </tr> +</xsl:template> + + +<!-- Note : the below template error and failure are the same style + so just call the same style store in the toolkit template --> +<xsl:template match="failure"> + <xsl:call-template name="display-failures"/> +</xsl:template> + +<xsl:template match="error"> + <xsl:call-template name="display-failures"/> +</xsl:template> + +<!-- Style for the error and failure in the testcase template --> +<xsl:template name="display-failures"> + <xsl:choose> + <xsl:when test="not(@message)">N/A</xsl:when> + <xsl:otherwise> + <xsl:value-of select="@message"/> + </xsl:otherwise> + </xsl:choose> + <!-- display the stacktrace --> + <br/><br/> + <code> + <xsl:call-template name="br-replace"> + <xsl:with-param name="word" select="."/> + </xsl:call-template> + </code> + <!-- the latter is better but might be problematic for non-21" monitors... --> + <!--pre><xsl:value-of select="."/></pre--> +</xsl:template> + +<xsl:template name="JS-escape"> + <xsl:param name="string"/> + <xsl:param name="tmp1" select="stringutils:replace(string($string),'\','\\')"/> + <xsl:param name="tmp2" select="stringutils:replace(string($tmp1),"'","\'")"/> + <xsl:value-of select="$tmp2"/> +</xsl:template> + + +<!-- + template that will convert a carriage return into a br tag + @param word the text from which to convert CR to BR tag +--> +<xsl:template name="br-replace"> + <xsl:param name="word"/> + <xsl:value-of disable-output-escaping="yes" select='stringutils:replace(string($word),"
","<br/>")'/> +</xsl:template> + +<xsl:template name="display-time"> + <xsl:param name="value"/> + <xsl:value-of select="format-number($value,'0.000')"/> +</xsl:template> + +<xsl:template name="display-percent"> + <xsl:param name="value"/> + <xsl:value-of select="format-number($value,'0.00%')"/> +</xsl:template> + + +</xsl:stylesheet> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport-with-include/junit-import.xsl b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport-with-include/junit-import.xsl new file mode 100644 index 00000000..ecba47bb --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport-with-include/junit-import.xsl @@ -0,0 +1,24 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns:lxslt="http://xml.apache.org/xslt" + xmlns:redirect="http://xml.apache.org/xalan/redirect" + xmlns:stringutils="xalan://org.apache.tools.ant.util.StringUtils" + extension-element-prefixes="redirect"> + <!-- + 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. + --> + <!-- class header --> +</xsl:stylesheet> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport.xml new file mode 100644 index 00000000..60806625 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport.xml @@ -0,0 +1,189 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + 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="junitreport-test" basedir="." default="reports1"> + + <import file="../../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}" /> + </target> + + + <property name="jrdir" location="junitreport"/> + + <!-- 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="${output}/html"/> + <junitreport todir="${output}"> + <fileset dir="${jrdir}"> + <include name="TEST-*.xml"/> + </fileset> + <report todir="${output}/html"/> + </junitreport> + </target> + + <target name="testEmptyFile"> + <mkdir dir="${output}/html"/> + <junitreport todir="${output}"> + <fileset dir="${jrdir}"> + <include name="ZEROBYTES-*.xml"/> + <include name="TEST-*.xml"/> + </fileset> + <report todir="${output}/html"/> + </junitreport> + </target> + + <target name="testIncompleteFile"> + <mkdir dir="${output}/html"/> + <junitreport todir="${output}"> + <fileset dir="${jrdir}"> + <include name="INCOMPLETE-*.xml"/> + <include name="TEST-*.xml"/> + </fileset> + <report todir="${output}/html"/> + </junitreport> + </target> + + <target name="testWrongElement"> + <mkdir dir="${output}/html"/> + <junitreport todir="${output}"> + <fileset dir="${jrdir}"> + <include name="WRONGELEMENT-*.xml"/> + <include name="TEST-*.xml"/> + </fileset> + <report todir="${output}/html"/> + </junitreport> + </target> + + <target name="testNamespace"> + <mkdir dir="${output}/html"/> + <junitreport todir="${output}"> + <fileset dir="${jrdir}"> + <include name="NAMESPACE-*.xml"/> + <include name="TEST-*.xml"/> + </fileset> + <report todir="${output}/html"/> + </junitreport> + </target> + + <target name="testStackTraceLineBreaks"> + <mkdir dir="${output}/html"/> + <junitreport todir="${output}"> + <fileset dir="${jrdir}"> + <include name="TEST-*.xml"/> + </fileset> + <report todir="${output}/html"/> + </junitreport> + </target> + + <target name="testSpecialSignsInSrcPath"> + <mkdir dir="${output}/html"/> + <mkdir dir="${output}/test# $$%§&-!cases"/> + <copy todir="${output}/test# $$%§&-!cases"> + <fileset dir="junitreport" includes="TEST-*.xml"/> + </copy> + <junitreport todir="${output}/html"> + <fileset dir="${output}/test# $$%§&-!cases"> + <include name="TEST-*.xml"/> + </fileset> + <report todir="${output}/html"/> + </junitreport> + </target> + + <target name="testSpecialSignsInHtmlPath"> + <mkdir dir="${output}/html# $$%§&-!report"/> + <mkdir dir="${output}/test"/> + <copy todir="${output}/test"> + <fileset dir="junitreport" includes="TEST-*.xml"/> + </copy> + <junitreport todir="${output}/html# $$%§&-!report"> + <fileset dir="${output}/test"> + <include name="TEST-*.xml"/> + </fileset> + <report todir="${output}/html# $$%§&-!report"/> + </junitreport> + </target> + + <target name="testWithStyleFromClasspath"> + <mkdir dir="${output}/html"/> + <junitreport todir="${output}"> + <fileset dir="${jrdir}"> + <include name="TEST-*.xml"/> + </fileset> + <report todir="${output}/html"/> + </junitreport> + </target> + + <target name="testNoFrames"> + <mkdir dir="${output}/html"/> + <junitreport todir="${output}"> + <fileset dir="${jrdir}"> + <include name="TEST-*.xml"/> + </fileset> + <report todir="${output}/html" format="noframes"/> + </junitreport> + </target> + + <target name="testWithStyleFromDir"> + <mkdir dir="${output}/html"/> + <junitreport todir="${output}"> + <fileset dir="${jrdir}"> + <include name="TEST-*.xml"/> + </fileset> + <report todir="${output}/html" + styledir="junitreport" + format="frames"/> + </junitreport> + </target> + + <!-- bug report 40022 --> + <target name="testWithStyleFromDirAndXslImport"> + <mkdir dir="${output}/html"/> + <junitreport todir="${output}"> + <fileset dir="${jrdir}"> + <include name="TEST-*.xml"/> + </fileset> + <report todir="${output}/html" + styledir="junitreport-with-include" + format="frames"/> + </junitreport> + </target> + + <target name="testWithParams"> + <mkdir dir="${output}/html"/> + <junitreport todir="${output}"> + <fileset dir="${jrdir}"> + <include name="TEST-*.xml"/> + </fileset> + <report todir="${output}/html" + styledir="junitreport" + format="frames"> + <param name="key1" expression="value1"/> + <param name="key2" expression="value2"/> + </report> + </junitreport> + <concat> + <fileset file="${output}/html/index.html"/> + </concat> + </target> + +</project> + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport/INCOMPLETE-sampleproject.incomplete.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport/INCOMPLETE-sampleproject.incomplete.xml new file mode 100644 index 00000000..56af0146 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport/INCOMPLETE-sampleproject.incomplete.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + 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. +--> +<testsuite errors="0" failures="0" name="sampleproject.incomplete" tests="5" time="0.038"> + </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> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport/NAMESPACE-sampleproject.namespace.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport/NAMESPACE-sampleproject.namespace.xml new file mode 100644 index 00000000..41e7dbff --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport/NAMESPACE-sampleproject.namespace.xml @@ -0,0 +1,116 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + 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. +--> +<ns:testsuite errors="1" failures="1" name="sampleproject.namespace" tests="11" time="0.171" xmlns:ns="funny-namespace"> + <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> +</ns:testsuite> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport/TEST-sampleproject.coins.CoinTest.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport/TEST-sampleproject.coins.CoinTest.xml new file mode 100644 index 00000000..6bc99f29 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport/TEST-sampleproject.coins.CoinTest.xml @@ -0,0 +1,115 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + 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. +--> +<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> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport/TEST-sampleproject.util.UniqueStringTest.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport/TEST-sampleproject.util.UniqueStringTest.xml new file mode 100644 index 00000000..f4016c26 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport/TEST-sampleproject.util.UniqueStringTest.xml @@ -0,0 +1,93 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + 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. +--> +<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> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport/WRONGELEMENT-sampleproject.wrongelement.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport/WRONGELEMENT-sampleproject.wrongelement.xml new file mode 100644 index 00000000..9cb5a147 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport/WRONGELEMENT-sampleproject.wrongelement.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + 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. +--> +<wildebeast/> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport/ZEROBYTES-sampleproject.package.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport/ZEROBYTES-sampleproject.package.xml new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport/ZEROBYTES-sampleproject.package.xml diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport/junit-frames.xsl b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport/junit-frames.xsl new file mode 100644 index 00000000..ca313af9 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/junitreport/junit-frames.xsl @@ -0,0 +1,879 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns:lxslt="http://xml.apache.org/xslt" + xmlns:redirect="http://xml.apache.org/xalan/redirect" + xmlns:stringutils="xalan://org.apache.tools.ant.util.StringUtils" + extension-element-prefixes="redirect"> +<xsl:output method="html" indent="yes" encoding="US-ASCII"/> +<xsl:decimal-format decimal-separator="." grouping-separator=","/> +<!-- + 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. + --> + +<!-- + + Sample stylesheet to be used with Ant JUnitReport output. + + It creates a set of HTML files a la javadoc where you can browse easily + through all packages and classes. + +--> +<xsl:param name="output.dir" select="'.'"/> +<xsl:param name="key1" select="'defaultValue1'"/> +<xsl:param name="key2" select="'defaultValue2'"/> + +<xsl:template match="testsuites"> + <!-- create the index.html --> + <redirect:write file="{$output.dir}/index.html"> + <xsl:call-template name="index.html"/> + </redirect:write> + + <!-- create the stylesheet.css --> + <redirect:write file="{$output.dir}/stylesheet.css"> + <xsl:call-template name="stylesheet.css"/> + </redirect:write> + + <!-- create the overview-packages.html at the root --> + <redirect:write file="{$output.dir}/overview-summary.html"> + <xsl:apply-templates select="." mode="overview.packages"/> + </redirect:write> + + <!-- create the all-packages.html at the root --> + <redirect:write file="{$output.dir}/overview-frame.html"> + <xsl:apply-templates select="." mode="all.packages"/> + </redirect:write> + + <!-- create the all-classes.html at the root --> + <redirect:write file="{$output.dir}/allclasses-frame.html"> + <xsl:apply-templates select="." mode="all.classes"/> + </redirect:write> + + <!-- create the all-tests.html at the root --> + <redirect:write file="{$output.dir}/all-tests.html"> + <xsl:apply-templates select="." mode="all.tests"/> + </redirect:write> + + <!-- create the alltests-fails.html at the root --> + <redirect:write file="{$output.dir}/alltests-fails.html"> + <xsl:apply-templates select="." mode="all.tests"> + <xsl:with-param name="type" select="'fails'"/> + </xsl:apply-templates> + </redirect:write> + + <!-- create the alltests-errors.html at the root --> + <redirect:write file="{$output.dir}/alltests-errors.html"> + <xsl:apply-templates select="." mode="all.tests"> + <xsl:with-param name="type" select="'errors'"/> + </xsl:apply-templates> + </redirect:write> + + <!-- process all packages --> + <xsl:for-each select="./testsuite[not(./@package = preceding-sibling::testsuite/@package)]"> + <xsl:call-template name="package"> + <xsl:with-param name="name" select="@package"/> + </xsl:call-template> + </xsl:for-each> +</xsl:template> + + +<xsl:template name="package"> + <xsl:param name="name"/> + <xsl:variable name="package.dir"> + <xsl:if test="not($name = '')"><xsl:value-of select="translate($name,'.','/')"/></xsl:if> + <xsl:if test="$name = ''">.</xsl:if> + </xsl:variable> + <!--Processing package <xsl:value-of select="@name"/> in <xsl:value-of select="$output.dir"/> --> + <!-- create a classes-list.html in the package directory --> + <redirect:write file="{$output.dir}/{$package.dir}/package-frame.html"> + <xsl:call-template name="classes.list"> + <xsl:with-param name="name" select="$name"/> + </xsl:call-template> + </redirect:write> + + <!-- create a package-summary.html in the package directory --> + <redirect:write file="{$output.dir}/{$package.dir}/package-summary.html"> + <xsl:call-template name="package.summary"> + <xsl:with-param name="name" select="$name"/> + </xsl:call-template> + </redirect:write> + + <!-- for each class, creates a @name.html --> + <!-- @bug there will be a problem with inner classes having the same name, it will be overwritten --> + <xsl:for-each select="/testsuites/testsuite[@package = $name]"> + <redirect:write file="{$output.dir}/{$package.dir}/{@id}_{@name}.html"> + <xsl:apply-templates select="." mode="class.details"/> + </redirect:write> + <xsl:if test="string-length(./system-out)!=0"> + <redirect:write file="{$output.dir}/{$package.dir}/{@id}_{@name}-out.txt"> + <xsl:value-of disable-output-escaping="yes" select="./system-out"/> + </redirect:write> + </xsl:if> + <xsl:if test="string-length(./system-err)!=0"> + <redirect:write file="{$output.dir}/{$package.dir}/{@id}_{@name}-err.txt"> + <xsl:value-of disable-output-escaping="yes" select="./system-err"/> + </redirect:write> + </xsl:if> + <xsl:if test="@failures != 0"> + <redirect:write file="{$output.dir}/{$package.dir}/{@id}_{@name}-fails.html"> + <xsl:apply-templates select="." mode="class.details"> + <xsl:with-param name="type" select="'fails'"/> + </xsl:apply-templates> + </redirect:write> + </xsl:if> + <xsl:if test="@errors != 0"> + <redirect:write file="{$output.dir}/{$package.dir}/{@id}_{@name}-errors.html"> + <xsl:apply-templates select="." mode="class.details"> + <xsl:with-param name="type" select="'errors'"/> + </xsl:apply-templates> + </redirect:write> + </xsl:if> + </xsl:for-each> +</xsl:template> + +<xsl:template name="index.html"> +<html> + <head> + <title> + Unit Test Results. key1=<xsl:value-of select="$key1"/>,key2=<xsl:value-of select="$key2"/> + </title> + </head> + <frameset cols="20%,80%"> + <frameset rows="30%,70%"> + <frame src="overview-frame.html" name="packageListFrame"/> + <frame src="allclasses-frame.html" name="classListFrame"/> + </frameset> + <frame src="overview-summary.html" name="classFrame"/> + <noframes> + <h2>Frame Alert</h2> + <p> + This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. + </p> + </noframes> + </frameset> +</html> +</xsl:template> + +<!-- this is the stylesheet css to use for nearly everything --> +<xsl:template name="stylesheet.css"> +body { + font:normal 68% verdana,arial,helvetica; + color:#000000; +} +table tr td, table tr th { + font-size: 68%; +} +table.details tr th{ + font-weight: bold; + text-align:left; + background:#a6caf0; +} +table.details tr td{ + background:#eeeee0; +} + +p { + line-height:1.5em; + margin-top:0.5em; margin-bottom:1.0em; +} +h1 { + margin: 0px 0px 5px; font: 165% verdana,arial,helvetica +} +h2 { + margin-top: 1em; margin-bottom: 0.5em; font: bold 125% verdana,arial,helvetica +} +h3 { + margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica +} +h4 { + margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica +} +h5 { + margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica +} +h6 { + margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica +} +.Error { + font-weight:bold; color:red; +} +.Failure { + font-weight:bold; color:purple; +} +.Properties { + text-align:right; +} +</xsl:template> + +<!-- Create list of all/failed/errored tests --> +<xsl:template match="testsuites" mode="all.tests"> + <xsl:param name="type" select="'all'"/> + <html> + <xsl:variable name="title"> + <xsl:choose> + <xsl:when test="$type = 'fails'"> + <xsl:text>All Failures</xsl:text> + </xsl:when> + <xsl:when test="$type = 'errors'"> + <xsl:text>All Errors</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>All Tests</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <head> + <title>Unit Test Results: <xsl:value-of select="$title"/></title> + <xsl:call-template name="create.stylesheet.link"> + <xsl:with-param name="package.name"/> + </xsl:call-template> + </head> + <body> + <xsl:attribute name="onload">open('allclasses-frame.html','classListFrame')</xsl:attribute> + <xsl:call-template name="pageHeader"/> + <h2><xsl:value-of select="$title"/></h2> + + <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%"> + <xsl:call-template name="testcase.test.header"> + <xsl:with-param name="show.class" select="'yes'"/> + </xsl:call-template> + <!-- + test can even not be started at all (failure to load the class) + so report the error directly + --> + <xsl:if test="./error"> + <tr class="Error"> + <td colspan="4"> + <xsl:apply-templates select="./error"/> + </td> + </tr> + </xsl:if> + <xsl:choose> + <xsl:when test="$type = 'fails'"> + <xsl:apply-templates select=".//testcase[failure]" mode="print.test"> + <xsl:with-param name="show.class" select="'yes'"/> + </xsl:apply-templates> + </xsl:when> + <xsl:when test="$type = 'errors'"> + <xsl:apply-templates select=".//testcase[error]" mode="print.test"> + <xsl:with-param name="show.class" select="'yes'"/> + </xsl:apply-templates> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select=".//testcase" mode="print.test"> + <xsl:with-param name="show.class" select="'yes'"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + </table> + </body> + </html> +</xsl:template> + + +<!-- ====================================================================== + This page is created for every testsuite class. + It prints a summary of the testsuite and detailed information about + testcase methods. + ====================================================================== --> +<xsl:template match="testsuite" mode="class.details"> + <xsl:param name="type" select="'all'"/> + <xsl:variable name="package.name" select="@package"/> + <xsl:variable name="class.name"><xsl:if test="not($package.name = '')"><xsl:value-of select="$package.name"/>.</xsl:if><xsl:value-of select="@name"/></xsl:variable> + <html> + <head> + <title>Unit Test Results: <xsl:value-of select="$class.name"/></title> + <xsl:call-template name="create.stylesheet.link"> + <xsl:with-param name="package.name" select="$package.name"/> + </xsl:call-template> + <script type="text/javascript" language="JavaScript"> + var TestCases = new Array(); + var cur; + <xsl:apply-templates select="properties"/> + </script> + <script type="text/javascript" language="JavaScript"><![CDATA[ + function displayProperties (name) { + var win = window.open('','JUnitSystemProperties','scrollbars=1,resizable=1'); + var doc = win.document; + doc.open(); + doc.write("<html><head><title>Properties of " + name + "</title>"); + doc.write("<style type=\"text/css\">"); + doc.write("body {font:normal 68% verdana,arial,helvetica; color:#000000; }"); + doc.write("table tr td, table tr th { font-size: 68%; }"); + doc.write("table.properties { border-collapse:collapse; border-left:solid 1 #cccccc; border-top:solid 1 #cccccc; padding:5px; }"); + doc.write("table.properties th { text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#eeeeee; }"); + doc.write("table.properties td { font:normal; text-align:left; border-right:solid 1 #cccccc; border-bottom:solid 1 #cccccc; background-color:#fffffff; }"); + doc.write("h3 { margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica }"); + doc.write("</style>"); + doc.write("</head><body>"); + doc.write("<h3>Properties of " + name + "</h3>"); + doc.write("<div align=\"right\"><a href=\"javascript:window.close();\">Close</a></div>"); + doc.write("<table class='properties'>"); + doc.write("<tr><th>Name</th><th>Value</th></tr>"); + for (prop in TestCases[name]) { + doc.write("<tr><th>" + prop + "</th><td>" + TestCases[name][prop] + "</td></tr>"); + } + doc.write("</table>"); + doc.write("</body></html>"); + doc.close(); + win.focus(); + } + ]]> + </script> + </head> + <body> + <xsl:call-template name="pageHeader"/> + <h3>Class <xsl:value-of select="$class.name"/></h3> + + + <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%"> + <xsl:call-template name="testsuite.test.header"/> + <xsl:apply-templates select="." mode="print.test"/> + </table> + + <xsl:choose> + <xsl:when test="$type = 'fails'"> + <h2>Failures</h2> + </xsl:when> + <xsl:when test="$type = 'errors'"> + <h2>Errors</h2> + </xsl:when> + <xsl:otherwise> + <h2>Tests</h2> + </xsl:otherwise> + </xsl:choose> + <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%"> + <xsl:call-template name="testcase.test.header"/> + <!-- + test can even not be started at all (failure to load the class) + so report the error directly + --> + <xsl:if test="./error"> + <tr class="Error"> + <td colspan="4"><xsl:apply-templates select="./error"/></td> + </tr> + </xsl:if> + <xsl:choose> + <xsl:when test="$type = 'fails'"> + <xsl:apply-templates select="./testcase[failure]" mode="print.test"/> + </xsl:when> + <xsl:when test="$type = 'errors'"> + <xsl:apply-templates select="./testcase[error]" mode="print.test"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="./testcase" mode="print.test"/> + </xsl:otherwise> + </xsl:choose> + </table> + <div class="Properties"> + <a> + <xsl:attribute name="href">javascript:displayProperties('<xsl:value-of select="@package"/>.<xsl:value-of select="@name"/>');</xsl:attribute> + Properties » + </a> + </div> + <xsl:if test="string-length(./system-out)!=0"> + <div class="Properties"> + <a> + <xsl:attribute name="href">./<xsl:value-of select="@id"/>_<xsl:value-of select="@name"/>-out.txt</xsl:attribute> + System.out » + </a> + </div> + </xsl:if> + <xsl:if test="string-length(./system-err)!=0"> + <div class="Properties"> + <a> + <xsl:attribute name="href">./<xsl:value-of select="@id"/>_<xsl:value-of select="@name"/>-err.txt</xsl:attribute> + System.err » + </a> + </div> + </xsl:if> + </body> + </html> +</xsl:template> + + <!-- + Write properties into a JavaScript data structure. + This is based on the original idea by Erik Hatcher (ehatcher@apache.org) + --> + <xsl:template match="properties"> + cur = TestCases['<xsl:value-of select="../@package"/>.<xsl:value-of select="../@name"/>'] = new Array(); + <xsl:for-each select="property"> + <xsl:sort select="@name"/> + cur['<xsl:value-of select="@name"/>'] = '<xsl:call-template name="JS-escape"><xsl:with-param name="string" select="@value"/></xsl:call-template>'; + </xsl:for-each> + </xsl:template> + + +<!-- ====================================================================== + This page is created for every package. + It prints the name of all classes that belongs to this package. + @param name the package name to print classes. + ====================================================================== --> +<!-- list of classes in a package --> +<xsl:template name="classes.list"> + <xsl:param name="name"/> + <html> + <head> + <title>Unit Test Classes: <xsl:value-of select="$name"/></title> + <xsl:call-template name="create.stylesheet.link"> + <xsl:with-param name="package.name" select="$name"/> + </xsl:call-template> + </head> + <body> + <table width="100%"> + <tr> + <td nowrap="nowrap"> + <h2><a href="package-summary.html" target="classFrame"> + <xsl:value-of select="$name"/> + <xsl:if test="$name = ''"><none></xsl:if> + </a></h2> + </td> + </tr> + </table> + + <h2>Classes</h2> + <table width="100%"> + <xsl:for-each select="/testsuites/testsuite[./@package = $name]"> + <xsl:sort select="@name"/> + <tr> + <td nowrap="nowrap"> + <a href="{@id}_{@name}.html" target="classFrame"><xsl:value-of select="@name"/></a> + </td> + </tr> + </xsl:for-each> + </table> + </body> + </html> +</xsl:template> + + +<!-- + Creates an all-classes.html file that contains a link to all package-summary.html + on each class. +--> +<xsl:template match="testsuites" mode="all.classes"> + <html> + <head> + <title>All Unit Test Classes</title> + <xsl:call-template name="create.stylesheet.link"> + <xsl:with-param name="package.name"/> + </xsl:call-template> + </head> + <body> + <h2>Classes</h2> + <table width="100%"> + <xsl:apply-templates select="testsuite" mode="all.classes"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + </table> + </body> + </html> +</xsl:template> + +<xsl:template match="testsuite" mode="all.classes"> + <xsl:variable name="package.name" select="@package"/> + <tr> + <td nowrap="nowrap"> + <a target="classFrame"> + <xsl:attribute name="href"> + <xsl:if test="not($package.name='')"> + <xsl:value-of select="translate($package.name,'.','/')"/><xsl:text>/</xsl:text> + </xsl:if><xsl:value-of select="@id"/>_<xsl:value-of select="@name"/><xsl:text>.html</xsl:text> + </xsl:attribute> + <xsl:value-of select="@name"/> + </a> + </td> + </tr> +</xsl:template> + + +<!-- + Creates an html file that contains a link to all package-summary.html files on + each package existing on testsuites. + @bug there will be a problem here, I don't know yet how to handle unnamed package :( +--> +<xsl:template match="testsuites" mode="all.packages"> + <html> + <head> + <title>All Unit Test Packages</title> + <xsl:call-template name="create.stylesheet.link"> + <xsl:with-param name="package.name"/> + </xsl:call-template> + </head> + <body> + <h2><a href="overview-summary.html" target="classFrame">Home</a></h2> + <h2>Packages</h2> + <table width="100%"> + <xsl:apply-templates select="testsuite[not(./@package = preceding-sibling::testsuite/@package)]" mode="all.packages"> + <xsl:sort select="@package"/> + </xsl:apply-templates> + </table> + </body> + </html> +</xsl:template> + +<xsl:template match="testsuite" mode="all.packages"> + <tr> + <td nowrap="nowrap"> + <a href="./{translate(@package,'.','/')}/package-summary.html" target="classFrame"> + <xsl:value-of select="@package"/> + <xsl:if test="@package = ''"><none></xsl:if> + </a> + </td> + </tr> +</xsl:template> + + +<xsl:template match="testsuites" mode="overview.packages"> + <html> + <head> + <title>Unit Test Results: Summary</title> + <xsl:call-template name="create.stylesheet.link"> + <xsl:with-param name="package.name"/> + </xsl:call-template> + </head> + <body> + <xsl:attribute name="onload">open('allclasses-frame.html','classListFrame')</xsl:attribute> + <xsl:call-template name="pageHeader"/> + <h2>Summary</h2> + <xsl:variable name="testCount" select="sum(testsuite/@tests)"/> + <xsl:variable name="errorCount" select="sum(testsuite/@errors)"/> + <xsl:variable name="failureCount" select="sum(testsuite/@failures)"/> + <xsl:variable name="timeCount" select="sum(testsuite/@time)"/> + <xsl:variable name="successRate" select="($testCount - $failureCount - $errorCount) div $testCount"/> + <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%"> + <tr valign="top"> + <th>Tests</th> + <th>Failures</th> + <th>Errors</th> + <th>Success rate</th> + <th>Time</th> + </tr> + <tr valign="top"> + <xsl:attribute name="class"> + <xsl:choose> + <xsl:when test="$errorCount > 0">Error</xsl:when> + <xsl:when test="$failureCount > 0">Failure</xsl:when> + <xsl:otherwise>Pass</xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <td><a title="Display all tests" href="all-tests.html"><xsl:value-of select="$testCount"/></a></td> + <td><a title="Display all failures" href="alltests-fails.html"><xsl:value-of select="$failureCount"/></a></td> + <td><a title="Display all errors" href="alltests-errors.html"><xsl:value-of select="$errorCount"/></a></td> + <td> + <xsl:call-template name="display-percent"> + <xsl:with-param name="value" select="$successRate"/> + </xsl:call-template> + </td> + <td> + <xsl:call-template name="display-time"> + <xsl:with-param name="value" select="$timeCount"/> + </xsl:call-template> + </td> + </tr> + </table> + <table border="0" width="95%"> + <tr> + <td style="text-align: justify;"> + Note: <em>failures</em> are anticipated and checked for with assertions while <em>errors</em> are unanticipated. + </td> + </tr> + </table> + + <h2>Packages</h2> + <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%"> + <xsl:call-template name="testsuite.test.header"/> + <xsl:for-each select="testsuite[not(./@package = preceding-sibling::testsuite/@package)]"> + <xsl:sort select="@package" order="ascending"/> + <!-- get the node set containing all testsuites that have the same package --> + <xsl:variable name="insamepackage" select="/testsuites/testsuite[./@package = current()/@package]"/> + <tr valign="top"> + <!-- display a failure if there is any failure/error in the package --> + <xsl:attribute name="class"> + <xsl:choose> + <xsl:when test="sum($insamepackage/@errors) > 0">Error</xsl:when> + <xsl:when test="sum($insamepackage/@failures) > 0">Failure</xsl:when> + <xsl:otherwise>Pass</xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <td><a href="./{translate(@package,'.','/')}/package-summary.html"> + <xsl:value-of select="@package"/> + <xsl:if test="@package = ''"><none></xsl:if> + </a></td> + <td><xsl:value-of select="sum($insamepackage/@tests)"/></td> + <td><xsl:value-of select="sum($insamepackage/@errors)"/></td> + <td><xsl:value-of select="sum($insamepackage/@failures)"/></td> + <td> + <xsl:call-template name="display-time"> + <xsl:with-param name="value" select="sum($insamepackage/@time)"/> + </xsl:call-template> + </td> + <td><xsl:value-of select="$insamepackage/@timestamp"/></td> + <td><xsl:value-of select="$insamepackage/@hostname"/></td> + </tr> + </xsl:for-each> + </table> + </body> + </html> +</xsl:template> + + +<xsl:template name="package.summary"> + <xsl:param name="name"/> + <html> + <head> + <xsl:call-template name="create.stylesheet.link"> + <xsl:with-param name="package.name" select="$name"/> + </xsl:call-template> + </head> + <body> + <xsl:attribute name="onload">open('package-frame.html','classListFrame')</xsl:attribute> + <xsl:call-template name="pageHeader"/> + <h3>Package <xsl:value-of select="$name"/></h3> + + <!--table border="0" cellpadding="5" cellspacing="2" width="95%"> + <xsl:call-template name="class.metrics.header"/> + <xsl:apply-templates select="." mode="print.metrics"/> + </table--> + + <xsl:variable name="insamepackage" select="/testsuites/testsuite[./@package = $name]"/> + <xsl:if test="count($insamepackage) > 0"> + <h2>Classes</h2> + <p> + <table class="details" border="0" cellpadding="5" cellspacing="2" width="95%"> + <xsl:call-template name="testsuite.test.header"/> + <xsl:apply-templates select="$insamepackage" mode="print.test"> + <xsl:sort select="@name"/> + </xsl:apply-templates> + </table> + </p> + </xsl:if> + </body> + </html> +</xsl:template> + + +<!-- + transform string like a.b.c to ../../../ + @param path the path to transform into a descending directory path +--> +<xsl:template name="path"> + <xsl:param name="path"/> + <xsl:if test="contains($path,'.')"> + <xsl:text>../</xsl:text> + <xsl:call-template name="path"> + <xsl:with-param name="path"><xsl:value-of select="substring-after($path,'.')"/></xsl:with-param> + </xsl:call-template> + </xsl:if> + <xsl:if test="not(contains($path,'.')) and not($path = '')"> + <xsl:text>../</xsl:text> + </xsl:if> +</xsl:template> + + +<!-- create the link to the stylesheet based on the package name --> +<xsl:template name="create.stylesheet.link"> + <xsl:param name="package.name"/> + <link rel="stylesheet" type="text/css" title="Style"><xsl:attribute name="href"><xsl:if test="not($package.name = 'unnamed package')"><xsl:call-template name="path"><xsl:with-param name="path" select="$package.name"/></xsl:call-template></xsl:if>stylesheet.css</xsl:attribute></link> +</xsl:template> + + +<!-- Page HEADER --> +<xsl:template name="pageHeader"> + <h1>Unit Test Results</h1> + <table width="100%"> + <tr> + <td align="left"></td> + <td align="right">Designed for use with <a href="http://www.junit.org/">JUnit</a> and <a href="http://ant.apache.org/">Ant</a>.</td> + </tr> + </table> + <hr size="1"/> +</xsl:template> + +<!-- class header --> +<xsl:template name="testsuite.test.header"> + <tr valign="top"> + <th width="80%">Name</th> + <th>Tests</th> + <th>Errors</th> + <th>Failures</th> + <th nowrap="nowrap">Time(s)</th> + <th nowrap="nowrap">Time Stamp</th> + <th>Host</th> + </tr> +</xsl:template> + +<!-- method header --> +<xsl:template name="testcase.test.header"> + <xsl:param name="show.class" select="''"/> + <tr valign="top"> + <xsl:if test="boolean($show.class)"> + <th>Class</th> + </xsl:if> + <th>Name</th> + <th>Status</th> + <th width="80%">Type</th> + <th nowrap="nowrap">Time(s)</th> + </tr> +</xsl:template> + + +<!-- class information --> +<xsl:template match="testsuite" mode="print.test"> + <tr valign="top"> + <xsl:attribute name="class"> + <xsl:choose> + <xsl:when test="@errors[.> 0]">Error</xsl:when> + <xsl:when test="@failures[.> 0]">Failure</xsl:when> + <xsl:otherwise>Pass</xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <td><a title="Display all tests" href="{@id}_{@name}.html"><xsl:value-of select="@name"/></a></td> + <td><a title="Display all tests" href="{@id}_{@name}.html"><xsl:apply-templates select="@tests"/></a></td> + <td> + <xsl:choose> + <xsl:when test="@errors != 0"> + <a title="Display only errors" href="{@id}_{@name}-errors.html"><xsl:apply-templates select="@errors"/></a> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="@errors"/> + </xsl:otherwise> + </xsl:choose> + </td> + <td> + <xsl:choose> + <xsl:when test="@failures != 0"> + <a title="Display only failures" href="{@id}_{@name}-fails.html"><xsl:apply-templates select="@failures"/></a> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="@failures"/> + </xsl:otherwise> + </xsl:choose> + </td> + <td><xsl:call-template name="display-time"> + <xsl:with-param name="value" select="@time"/> + </xsl:call-template> + </td> + <td><xsl:apply-templates select="@timestamp"/></td> + <td><xsl:apply-templates select="@hostname"/></td> + </tr> +</xsl:template> + +<xsl:template match="testcase" mode="print.test"> + <xsl:param name="show.class" select="''"/> + <tr valign="top"> + <xsl:attribute name="class"> + <xsl:choose> + <xsl:when test="error">Error</xsl:when> + <xsl:when test="failure">Failure</xsl:when> + <xsl:otherwise>TableRowColor</xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <xsl:variable name="class.href"> + <xsl:value-of select="concat(translate(../@package,'.','/'), '/', ../@id, '_', ../@name, '.html')"/> + </xsl:variable> + <xsl:if test="boolean($show.class)"> + <td><a href="{$class.href}"><xsl:value-of select="../@name"/></a></td> + </xsl:if> + <td> + <a name="{@name}"/> + <xsl:choose> + <xsl:when test="boolean($show.class)"> + <a href="{concat($class.href, '#', @name)}"><xsl:value-of select="@name"/></a> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@name"/> + </xsl:otherwise> + </xsl:choose> + </td> + <xsl:choose> + <xsl:when test="failure"> + <td>Failure</td> + <td><xsl:apply-templates select="failure"/></td> + </xsl:when> + <xsl:when test="error"> + <td>Error</td> + <td><xsl:apply-templates select="error"/></td> + </xsl:when> + <xsl:otherwise> + <td>Success</td> + <td></td> + </xsl:otherwise> + </xsl:choose> + <td> + <xsl:call-template name="display-time"> + <xsl:with-param name="value" select="@time"/> + </xsl:call-template> + </td> + </tr> +</xsl:template> + + +<!-- Note : the below template error and failure are the same style + so just call the same style store in the toolkit template --> +<xsl:template match="failure"> + <xsl:call-template name="display-failures"/> +</xsl:template> + +<xsl:template match="error"> + <xsl:call-template name="display-failures"/> +</xsl:template> + +<!-- Style for the error and failure in the testcase template --> +<xsl:template name="display-failures"> + <xsl:choose> + <xsl:when test="not(@message)">N/A</xsl:when> + <xsl:otherwise> + <xsl:value-of select="@message"/> + </xsl:otherwise> + </xsl:choose> + <!-- display the stacktrace --> + <br/><br/> + <code> + <xsl:call-template name="br-replace"> + <xsl:with-param name="word" select="."/> + </xsl:call-template> + </code> + <!-- the latter is better but might be problematic for non-21" monitors... --> + <!--pre><xsl:value-of select="."/></pre--> +</xsl:template> + +<xsl:template name="JS-escape"> + <xsl:param name="string"/> + <xsl:param name="tmp1" select="stringutils:replace(string($string),'\','\\')"/> + <xsl:param name="tmp2" select="stringutils:replace(string($tmp1),"'","\'")"/> + <xsl:value-of select="$tmp2"/> +</xsl:template> + + +<!-- + template that will convert a carriage return into a br tag + @param word the text from which to convert CR to BR tag +--> +<xsl:template name="br-replace"> + <xsl:param name="word"/> + <xsl:value-of disable-output-escaping="yes" select='stringutils:replace(string($word),"
","<br/>")'/> +</xsl:template> + +<xsl:template name="display-time"> + <xsl:param name="value"/> + <xsl:value-of select="format-number($value,'0.000')"/> +</xsl:template> + +<xsl:template name="display-percent"> + <xsl:param name="value"/> + <xsl:value-of select="format-number($value,'0.00%')"/> +</xsl:template> +</xsl:stylesheet> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/native2ascii/build.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/native2ascii/build.xml new file mode 100644 index 00000000..27b40313 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/native2ascii/build.xml @@ -0,0 +1,38 @@ +<?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="no"> + + <import file="../../../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}"/> + </target> + + <property name="in" location="input"/> + + <target name="no"> + <fail>For tests only</fail> + </target> + + <target name="testIso8859-1" depends="setUp"> + <native2ascii encoding="ISO8859-1" dest="${output}" + src="${in}" includes="iso8859-1.*"/> + </target> +</project> +
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/native2ascii/expected/iso8859-1.test b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/native2ascii/expected/iso8859-1.test new file mode 100644 index 00000000..d60acc83 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/native2ascii/expected/iso8859-1.test @@ -0,0 +1 @@ +\u00e4\u00f6\u00fc\u00c4\u00d6\u00dc\u00df diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/native2ascii/input/iso8859-1.test b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/native2ascii/input/iso8859-1.test new file mode 100644 index 00000000..d5b3934f --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/native2ascii/input/iso8859-1.test @@ -0,0 +1 @@ +äöüÄÖÜß
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/net/ftp.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/net/ftp.xml new file mode 100644 index 00000000..aaf4b8e6 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/net/ftp.xml @@ -0,0 +1,331 @@ +<?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="ftp-test" basedir="."> + <property file="../../../../../../ftp.properties"/> + <property environment="env"/> + <property file="${env.HOME}/ant-ftp.properties"/> + <property name="ftp.user" value="${user.name}"/> + <property name="ftp.host" value="localhost"/> + <property name="ftp.port" value="21" /> + <property name="ftp.password" value="sunshine" /> + <property name="ftp.filesep" value="/"/> + <property name="tmp.dir" location="tmp"/> + <property name="tmp.get.dir" location="tmp.get"/> + <property name="tmp.local" location="${tmp.get.dir}"/> + <property name="tmp.remote" location="${tmp.dir}"/> + <property name="tstamp.format" value="yyyy-MM-dd HH:mm"/> + <property name="server.timestamp.granularity.millis" value="60000"/> + <property name="ftp.server.timezone" value="GMT"/> + <property name="ftp.listing.file" value="/dev/null"/> + <property name="ftp.retries" value="2"/> + + <fileset dir="${tmp.get.dir}" id="fileset-destination-with-selector"> + <include name="alpha/**"/> + <filename name="**/alpha.xml" /> + </fileset> + <fileset dir="${tmp.dir}" id="fileset-source-without-selector"> + <include name="alpha/**"/> + </fileset> + <fileset dir="${tmp.get.dir}" id="fileset-destination-without-selector"> + <include name="alpha/**"/> + </fileset> + <fileset dir="${tmp.get.dir}" id="fileset-destination-followsymlinks" followsymlinks="true"> + <include name="alpha/**"/> + </fileset> + <fileset dir="${tmp.get.dir}" id="fileset-destination-nofollowsymlinks" followsymlinks="false"> + <include name="alpha/**"/> + </fileset> + + <filelist dir="${tmp.local}" id="timed-files" files="A.timed,B.timed,C.timed,D.timed"/> + + <patternset id="timed-test-files"> + <include name="A.timed"/> + <include name="B.timed"/> + <include name="C.timed"/> + <include name="D.timed"/> + </patternset> + + <target name="setup"> + <mkdir dir="${tmp.get.dir}"/> + <mkdir dir="${tmp.dir}/alpha/beta/gamma"/> + <touch file="${tmp.dir}/alpha/beta/gamma/gamma.xml"/> + <touch file="${tmp.dir}/alpha/beta/beta.xml"/> + </target> + + <target name="ftp-get-with-selector"> + <ftp action="get" + server="${ftp.host}" + userid="${ftp.user}" + password="${ftp.password}" + separator="${ftp.filesep}" + remotedir="${tmp.dir}"> + <fileset refid="fileset-destination-with-selector"/> + </ftp> + </target> + <target name="children-of-excluded-dir-setup" depends="setup"> + <mkdir dir="${tmp.dir}/delta"/> + <touch file="${tmp.dir}/delta/delta.xml"/> + </target> + <target name="cleanup"> + <delete dir="${tmp.dir}" quiet="true"/> + <delete dir="${tmp.get.dir}" quiet="true"/> + </target> + <target name="symlink-setup" depends="setup"> + <mkdir dir="${tmp.dir}/epsilon/gamma"/> + <delete dir="${tmp.dir}/alpha/beta"/> + <symlink link="${tmp.dir}/alpha/beta" resource="${tmp.dir}/epsilon"/> + <touch file="${tmp.dir}/alpha/beta/gamma/gamma.xml"/> + </target> + <target name="ftp-get-directory-symbolic-link" depends="symlink-setup"> + <ftp action="get" + server="${ftp.host}" + userid="${ftp.user}" + password="${ftp.password}" + separator="${ftp.filesep}" + remotedir="${tmp.dir}" + > + <fileset refid="fileset-destination-followsymlinks"/> + </ftp> + </target> + <target name="ftp-get-directory-no-symbolic-link" depends="symlink-setup"> + <ftp action="get" + server="${ftp.host}" + userid="${ftp.user}" + password="${ftp.password}" + separator="${ftp.filesep}" + remotedir="${tmp.dir}" + > + <fileset refid="fileset-destination-nofollowsymlinks"/> + </ftp> + </target> + <target name="symlink-file-setup" depends="setup"> + <delete file="${tmp.dir}/alpha/beta/gamma/gamma.xml"/> + <symlink link="${tmp.dir}/alpha/beta/gamma/gamma.xml" + resource="${tmp.dir}/alpha/beta/beta.xml"/> + </target> + <target name="ftp-delete"> + <!-- this target can produce an error if the rmdir does not work --> + <!-- there can be problems with the rmdir action if the directories are not removed in a proper order --> + <!-- which means beginning by the leaves of the tree, going back to the trunk --> + <ftp action="del" + server="${ftp.host}" + userid="${ftp.user}" + password="${ftp.password}" + remotedir="${tmp.dir}"> + <fileset dir="${tmp.get.dir}"> + <include name="**"/> + </fileset> + </ftp> + <ftp action="rmdir" + server="${ftp.host}" + userid="${ftp.user}" + password="${ftp.password}" + remotedir="${tmp.dir}"> + <fileset dir="${tmp.get.dir}"> + <include name="**"/> + </fileset> + </ftp> + </target> + + <target name="timed.test.setup"> + <touch> + <filelist refid="timed-files"/> + </touch> + <ftp action="put" + server="${ftp.host}" + userid="${ftp.user}" + password="${ftp.password}" + separator="${ftp.filesep}" + remotedir="${tmp.remote}" + > + <fileset dir="${tmp.local}"> + <patternset refid="timed-test-files"/> + </fileset> + </ftp> + </target> + + <target name="timed.test.put.older"> + <tstamp> + <format property="one.minute.older" pattern="${tstamp.format}" offset="-60" unit="second"/> + </tstamp> + + <touch datetime="${one.minute.older}" pattern="${tstamp.format}" verbose="true"> + <fileset dir="${tmp.remote}"> + <include name="A.timed"/> + </fileset> + </touch> + <ftp action="put" + server="${ftp.host}" + userid="${ftp.user}" + password="${ftp.password}" + separator="${ftp.filesep}" + remotedir="${tmp.remote}" + newer="true" + serverTimeZoneConfig="${ftp.server.timezone}" + > + <fileset dir="${tmp.local}"> + <patternset refid="timed-test-files"/> + </fileset> + </ftp> + </target> + <target name="timed.test.get.older"> + <tstamp> + <format property="five.minutes.older" pattern="${tstamp.format}" offset="-5" unit="minute"/> + </tstamp> + + <touch datetime="${five.minutes.older}" pattern="${tstamp.format}" verbose="true"> + <fileset dir="${tmp.local}"> + <include name="A.timed"/> + <include name="C.timed"/> + <include name="D.timed"/> + </fileset> + </touch> + <ftp action="get" + server="${ftp.host}" + userid="${ftp.user}" + password="${ftp.password}" + separator="${ftp.filesep}" + remotedir="${tmp.remote}" + preservelastmodified="true" + newer="true" + serverTimeZoneConfig="${ftp.server.timezone}" + > + <fileset dir="${tmp.local}"> + <patternset refid="timed-test-files"/> + </fileset> + </ftp> + </target> + + <target name="configuration.1"> + <ftp action="list" + server="${ftp.host}" + userid="${ftp.user}" + password="${ftp.password}" + separator="${ftp.filesep}" + remotedir="${tmp.remote}" + serverTimeZoneConfig="${ftp.server.timezone}" + listing="${ftp.listing.file}" + > + <fileset dir="${tmp.local}"/> + </ftp> + </target> + <target name="configuration.2"> + <ftp action="list" + server="${ftp.host}" + userid="${ftp.user}" + password="${ftp.password}" + separator="${ftp.filesep}" + remotedir="${tmp.remote}" + serverTimeZoneConfig="${ftp.server.timezone}" + listing="${ftp.listing.file}" + systemTypeKey="WINDOWS" + > + <fileset dir="${tmp.local}"/> + </ftp> + </target> + <target name="configuration.3"> + <ftp action="list" + server="${ftp.host}" + userid="${ftp.user}" + password="${ftp.password}" + separator="${ftp.filesep}" + remotedir="${tmp.remote}" + defaultDateFormatConfig="yyyy/MM/dd HH:mm" + listing="${ftp.listing.file}" + systemTypeKey="UNIX" + > + <fileset dir="${tmp.local}"/> + </ftp> + </target> + <target name="configuration.lang.good"> + <ftp action="list" + server="${ftp.host}" + userid="${ftp.user}" + password="${ftp.password}" + separator="${ftp.filesep}" + remotedir="${tmp.remote}" + serverLanguageCodeConfig="de" + listing="${ftp.listing.file}" + > + <fileset dir="${tmp.local}"/> + </ftp> + </target> + <target name="configuration.lang.bad"> + <ftp action="list" + server="${ftp.host}" + userid="${ftp.user}" + password="${ftp.password}" + separator="${ftp.filesep}" + remotedir="${tmp.remote}" + serverLanguageCodeConfig="QQ" + listing="${ftp.listing.file}" + > + <fileset dir="${tmp.local}"/> + </ftp> + </target> + <target name="configuration.none"> + <ftp action="list" + server="${ftp.host}" + userid="${ftp.user}" + password="${ftp.password}" + separator="${ftp.filesep}" + remotedir="${tmp.remote}" + listing="${ftp.listing.file}" + > + <fileset dir="${tmp.local}"/> + </ftp> + </target> + <target name="ftp-get-with-selector-retryable"> + <ftp action="get" + server="${ftp.host}" + userid="${ftp.user}" + password="${ftp.password}" + separator="${ftp.filesep}" + remotedir="${tmp.dir}" + retriesAllowed="${ftp.retries}" + > + <fileset refid="fileset-destination-with-selector"/> + </ftp> + </target> + <target name="test-initial-command"> + <ftp action="put" + server="${ftp.host}" + userid="${ftp.user}" + password="${ftp.password}" + separator="${ftp.filesep}" + remotedir="${tmp.remote}" + initialSiteCommand="umask 222" + > + <fileset dir="${tmp.local}"> + <patternset refid="timed-test-files"/> + </fileset> + </ftp> + </target> + + <target name="test-site-action"> + <ftp action="site" + server="${ftp.host}" + userid="${ftp.user}" + password="${ftp.password}" + separator="${ftp.filesep}" + remotedir="${tmp.remote}" + siteCommand="umask 222" + > + </ftp> + </target> +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/propertyfile.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/propertyfile.xml new file mode 100644 index 00000000..20a17271 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/propertyfile.xml @@ -0,0 +1,123 @@ +<?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="propertyfile-test" default="main" basedir="."> + + <import file="../../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}" /> + </target> + + <property file="${output}/propertyfile.build.properties"/> + + <target name="main"> + <fail> + This file is for testing purposes only... + @see PropertyFileTest.java for more info. + </fail> + </target> + + <target name="update-existing-properties"> + <propertyfile + file="${output}/${test.propertyfile}" + comment="unit test for the property file task..." > + <entry key="firstname" value="${firstname}" /> + <entry key="lastname" value="${lastname}" /> + <entry key="email" value="${email}" /> + <entry key="phone" default="${phone}" /> + <entry key="age" default="${age}" type="int"/> + <entry key="date" default="${date}" type="date"/> + </propertyfile> + </target> + + <target name="delete-properties"> + <echoproperties/> + <propertyfile + file="${output}/${test.propertyfile}" + comment="unit test for the property file task..." > + <entry key="firstname" operation="del" /> + </propertyfile> + </target> + + <target name="exercise"> + <propertyfile file="${output}/${test.propertyfile}"> + <entry key="existing.prop" + type="int" + default="23"/> + <entry key="ethans.birth" + value="2002/01/21 12:18" + type="date"/> + <entry key="first.birthday" + value="1" + default="2002/01/21" + pattern="yyyy/MM/dd" + unit="year" + type="date" + operation="+"/> + <entry key="int.with.default" + value="1" + default="2" + operation="+" + type="int"/> + <entry key="int.without.value" + default="5" + operation="+" + type="int"/> + <entry key="int.without.default" + value="1" + operation="+" + type="int"/> + <entry key="string.with.default" + value=">" + default="--" + operation="+"/> + <entry key="string.without.default" + value="." + operation="+"/> + <entry key="olderThanAWeek" + type="date" + default="0201" + operation="-" + value="8" + pattern="MMdd"/> + </propertyfile> + <property file="${output}/${test.propertyfile}"/> + </target> + + <target name="createfile"> + <echo file="${output}/${overwrite.test.propertyfile}"> + foo=3 + </echo> + </target> + + <target name="bugDemo1" depends="createfile,bugDemoInit"/> + + <target name="bugDemo2" depends="bugDemoInit"> + <property file="${output}/${overwrite.test.propertyfile}"/> + </target> + + <target name="bugDemoInit"> + <propertyfile file="${output}/${overwrite.test.propertyfile}"> + <entry key="foo" default="0" value="1" operation="+" type="int"/> + </propertyfile> + </target> + +</project> + + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/pvcs.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/pvcs.xml new file mode 100644 index 00000000..99bfcff4 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/pvcs.xml @@ -0,0 +1,50 @@ +<?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="pvcs-test" basedir="." default="test1"> + + <taskdef name="pvcs" classname="org.apache.tools.ant.taskdefs.Pvcs"/> + + <target name="test1"> + <pvcs/> + </target> + + <target name="test2"> + <pvcs pvcsbin="/home/tc/projects/pvcsant/src/etc/testcases/taskdefs" repository="/mnt/pvcs"/> + </target> + + <target name="test3"> + <pvcs pvcsbin="\home\cvs\pvcsant\src\etc\testcases\taskdefs" repository="/mnt/pvcs" pvcsproject="/qviknet"/> + </target> + + <target name="test4"> + <pvcs pvcsbin="\home\cvs\pvcsant\src\etc\testcases\taskdefs" repository="/mnt/pvcs" pvcsproject="/qviknet" workspace="/@/Public/buildws"/> + </target> + + <target name="test5" description="Get the latest from PVCS"> + <pvcs pvcsbin="/home/cvs/pvcsant/src/etc/testcases/taskdefs" + repository="//ct4serv2/pvcs/monitor"/> + </target> + + <target name="test6" description="No pcli to be found"> + <pvcs pvcsbin="/never/heard/of/a/directory/structure/like/this" + repository="//ct4serv2/pvcs/monitor"/> + </target> + + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/replaceregexp.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/replaceregexp.properties new file mode 100644 index 00000000..d7f057e6 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/replaceregexp.properties @@ -0,0 +1,16 @@ +# 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. +OldAbc=Def + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/replaceregexp.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/replaceregexp.xml new file mode 100644 index 00000000..58fdc59c --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/replaceregexp.xml @@ -0,0 +1,83 @@ +<?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="test" default="def" basedir="."> + <import file="../../buildfiletest-base.xml"/> + + <property name="root" location="../../../../.."/> + + <target name="setUp"> + <mkdir dir="${output}" /> + <copy file="replaceregexp.properties" tofile="${output}/test.properties" /> + </target> + + <target name="def"> + <fail>This build file should only be run from within the testcase</fail> + </target> + + <target name="setUp-nl"> + <mkdir dir="${output}" /> + <copy file="replaceregexp2.properties" tofile="${output}/test.properties" /> + </target> + + <target name="testReplace" depends="setUp"> + <replaceregexp file="${output}/test.properties" byline="true"> + <regexp pattern="Old(.*)=(.*)" /> + <substitution expression="NewProp=\1\2" /> + </replaceregexp> + </target> + <!-- use in conjunction with testDirectoryDateDoesNotChange to make sure something will happen --> + <target name="touchDirectory"> + <copy file="replaceregexp.properties" tofile="${output}/test.properties" /> + + </target> + <target name="testDirectoryDateDoesNotChange"> + <replaceregexp file="${output}/test.properties" byline="true"> + <regexp pattern="foo" /> + <substitution expression="bar"/> + </replaceregexp> + </target> + + <target name="testDontAddNewline1" depends="setUp-nl"> + <replaceregexp file="${output}/test.properties" byline="false"> + <regexp pattern="Old(.*)=(.*)" /> + <substitution expression="NewProp=\1\2" /> + </replaceregexp> + </target> + + <target name="testDontAddNewline2" depends="setUp-nl"> + <replaceregexp file="${output}/test.properties" byline="true"> + <regexp pattern="Old(.*)=(.*)" /> + <substitution expression="NewProp=\1\2" /> + </replaceregexp> + </target> + + <target name="lastModifiedSetup"> + <echo file="${output}/test.txt">Hello, world!</echo> + </target> + + <target name="testNoPreserve"> + <replaceregexp match="world" replace="Ant" file="${output}/test.txt"/> + </target> + + <target name="testPreserve"> + <replaceregexp match="world" replace="Ant" file="${output}/test.txt" + preserveLastModified="true"/> + </target> + +</project> + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/replaceregexp2.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/replaceregexp2.properties new file mode 100644 index 00000000..ada77277 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/replaceregexp2.properties @@ -0,0 +1,15 @@ +# 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. +OldAbc=Def
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/replaceregexp2.result.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/replaceregexp2.result.properties new file mode 100644 index 00000000..6393cd7a --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/replaceregexp2.result.properties @@ -0,0 +1,15 @@ +# 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. +NewProp=AbcDef
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/schemavalidate.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/schemavalidate.xml new file mode 100644 index 00000000..f43201e7 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/schemavalidate.xml @@ -0,0 +1,100 @@ +<?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="validate" default="default" basedir="."> + + + <property name="doc.xsd" location="xml/doc.xsd"/> + <property name="doc-in-ns.xsd" location="xml/doc-in-ns.xsd"/> + <property name="namespace" value="http://apache.org/ant/doc/" /> + + <property name="endpiece-ns-no-location.xml" + location="xml/endpiece-ns-no-location.xml"/> + + <target name="testNoNamespace"> + <schemavalidate + noNamespaceFile="${doc.xsd}" + file="xml/endpiece-noSchema.xml"> + </schemavalidate> + </target> + + <target name="testNSMapping"> + <schemavalidate + file="${endpiece-ns-no-location.xml}"> + <schema namespace="${namespace}" file="${doc-in-ns.xsd}" /> + <schema namespace="http://apache.org/ant/2" + url="http://ant.apache.org/" /> + </schemavalidate> + </target> + + <target name="testNoEmptySchemaNamespace"> + <schemavalidate + file="${endpiece-ns-no-location.xml}"> + <schema namespace="" file="${doc-in-ns.xsd}" /> + </schemavalidate> + </target> + + <target name="testNoEmptySchemaLocation"> + <schemavalidate + file="${endpiece-ns-no-location.xml}"> + <schema namespace="${namespace}" /> + </schemavalidate> + </target> + + <target name="testNoFile"> + <schemavalidate + file="${endpiece-ns-no-location.xml}"> + <schema namespace="${namespace}" file="${namespace}" /> + </schemavalidate> + </target> + + <target name="testNoDoubleSchemaLocation"> + <schemavalidate + file="${endpiece-ns-no-location.xml}"> + <schema namespace="${namespace}" file="${doc-in-ns.xsd}" url="${namespace}"/> + </schemavalidate> + </target> + + <target name="testNoDuplicateSchema"> + <schemavalidate + file="${endpiece-ns-no-location.xml}"> + <schema namespace="${namespace}" file="${doc-in-ns.xsd}" /> + <schema namespace="${namespace}" + url="http://ant.apache.org/" /> + </schemavalidate> + </target> + + <target name="testEqualsSchemasOK"> + <schemavalidate + file="${endpiece-ns-no-location.xml}"> + <schema namespace="${namespace}" file="${doc-in-ns.xsd}" /> + <schema namespace="${namespace}" file="${doc-in-ns.xsd}" /> + </schemavalidate> + </target> + + <target name="testFileset"> + <schemavalidate noNamespaceFile="${doc.xsd}" + > + <schema namespace="${namespace}" file="${doc-in-ns.xsd}" /> + <fileset dir="xml" + includes="endpiece.xml, endpiece-ns-no-location.xml, endpiece-no-schema.xml" /> + </schemavalidate> + </target> + + + <target name="default" depends="testNoNamespace,testNSMapping" /> +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/script.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/script.xml new file mode 100644 index 00000000..841f70d2 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/script.xml @@ -0,0 +1,46 @@ +<?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="testproject" default="def" basedir="."> + + <target name="def"> + <fail>This build-file is intended to be run from the test cases</fail> + </target> + + <target name="setup1"> + + <script language="javascript"> <![CDATA[ + + for (i=1; i<=10; i++) { + echo = testproject.createTask("echo"); + setup1.addTask(echo); + echo.setMessage(i*i); + } + + ]]> </script> + + </target> + + <target name="example1" depends="setup1"/> + + <target name="useBeanshell"> + <script language="beanshell"><![CDATA[ + self.log("I'm here", org.apache.tools.ant.Project.MSG_INFO); + ]]></script> + </target> + +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/script/scriptdef.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/script/scriptdef.xml new file mode 100644 index 00000000..0d051eae --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/script/scriptdef.xml @@ -0,0 +1,145 @@ +<?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="testproject" default="def" basedir="."> + + <target name="def"> + <fail>This build-file is intended to be run from the test cases</fail> + </target> + + <target name="simple"> + <scriptdef name="scripttest" language="javascript"> + <attribute name="attr1"/> + <element name="fileset" type="fileset"/> + <![CDATA[ + + project.log("Attribute attr1 = " + attributes.get("attr1")); + project.log("Fileset basedir = " + + elements.get("fileset").get(0).getDir(project)); + + ]]> + </scriptdef> + + <fileset id="testfileset" dir="."/> + <scripttest attr1="test"> + <fileset refid="testfileset"/> + </scripttest> + </target> + + <target name="nolang"> + <scriptdef name="nolang"> + <![CDATA[ + java.lang.System.out.println("Hello"); + ]]> + </scriptdef> + </target> + + <target name="noname"> + <scriptdef language="javascript"> + <![CDATA[ + java.lang.System.out.println("Hello"); + ]]> + </scriptdef> + </target> + + <target name="nestedbyclassname"> + <scriptdef name="scripttest" language="javascript"> + <attribute name="attr1"/> + <element name="fileset" classname="org.apache.tools.ant.types.FileSet"/> + <![CDATA[ + + project.log("Attribute attr1 = " + attributes.get("attr1")); + project.log("Fileset basedir = " + + elements.get("fileset").get(0).getDir(project)); + + ]]> + </scriptdef> + + <fileset id="testfileset" dir="."/> + <scripttest attr1="test"> + <fileset refid="testfileset"/> + </scripttest> + </target> + + <target name="noelement"> + <scriptdef name="scripttest" language="javascript"> + <attribute name="attr1"/> + <element name="fileset" type="fileset"/> + <![CDATA[ + java.lang.System.out.println("Attribute attr1 = " + attributes.get("attr1")); + ]]> + </scriptdef> + + <scripttest attr1="test"> + </scripttest> + </target> + + <target name="exception"> + <scriptdef name="scripttest" language="javascript"> + <attribute name="attr1"/> + <element name="fileset" classname="org.apache.tools.ant.types.FileSet"/> + <![CDATA[ + + java.lang.System.out.println("Attribute attr1 = " + attributes.get("attr1")); + java.lang.System.out.println("Fileset basedir = " + + elements.get("fileset").get(0).getDir(project)); + + ]]> + </scriptdef> + + <scripttest attr1="test"> + </scripttest> + </target> + + <target name="doubledef"> + <scriptdef name="task1" language="javascript"> + <![CDATA[ + project.log("Task1"); + ]]> + </scriptdef> + <scriptdef name="task2" language="javascript"> + <![CDATA[ + project.log("Task2"); + ]]> + </scriptdef> + <task1/> + <task2/> + </target> + + <target name="doubleAttributeDef"> + <scriptdef name="scripttest" language="javascript"> + <attribute name="attr1"/> + <attribute name="attr1"/> + </scriptdef> + </target> + + <target name="property"> + <scriptdef name="scripttest" language="javascript"> + <attribute name="attr1"/> + <![CDATA[ + + project.log("Attribute value = " + attributes.get("attr1")); + ]]> + </scriptdef> + + <property name="testproperty" value="test"/> + <scripttest attr1="${testproperty}"> + </scripttest> + </target> + + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/script_reference.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/script_reference.xml new file mode 100644 index 00000000..82ccb1ff --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/script_reference.xml @@ -0,0 +1,27 @@ +<?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="test-reference" default="script"> + <target name="script"> + <script language="javascript"> + </script> + </target> + <target name="def"> + <taskdef name="my.echo" classname="org.apache.tools.ant.taskdefs.Echo"/> + <my.echo id="my.echo.ref" message="hello world"/> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/sos/sos.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/sos/sos.xml new file mode 100644 index 00000000..982b47ca --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/sos/sos.xml @@ -0,0 +1,124 @@ +<?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="sos-test" basedir="." default="sosget.1"> + + <!-- + =========================================================================== + Test SOSGet missing attributes + =========================================================================== + --> + <target name="sosget.1"> + <sosget/> + </target> + + <target name="sosget.2"> + <sosget sosserverpath="192.168.0.1:8888"/> + </target> + + <target name="sosget.3"> + <sosget sosserverpath="192.168.0.1:8888" + username="ant"/> + </target> + + <target name="sosget.4"> + <sosget sosserverpath="192.168.0.1:8888" + username="ant" + vssserverpath="\\server\vss\srcsafe.ini"/> + </target> + + <!-- + =========================================================================== + Test SOSCheckin missing attributes + =========================================================================== + --> + <target name="soscheckin.1"> + <soscheckin/> + </target> + + <target name="soscheckin.2"> + <soscheckin sosserverpath="192.168.0.1:8888"/> + </target> + + <target name="soscheckin.3"> + <soscheckin sosserverpath="192.168.0.1:8888" + username="ant"/> + </target> + + <target name="soscheckin.4"> + <soscheckin sosserverpath="192.168.0.1:8888" + username="ant" + vssserverpath="\\server\vss\srcsafe.ini"/> + </target> + + <!-- + =========================================================================== + Test SOSCheckout missing attributes + =========================================================================== + --> + <target name="soscheckout.1"> + <soscheckout/> + </target> + + <target name="soscheckout.2"> + <soscheckout sosserverpath="192.168.0.1:8888"/> + </target> + + <target name="soscheckout.3"> + <soscheckout sosserverpath="192.168.0.1:8888" + username="ant"/> + </target> + + <target name="soscheckout.4"> + <soscheckout sosserverpath="192.168.0.1:8888" + username="ant" + vssserverpath="\\server\vss\srcsafe.ini"/> + </target> + + <!-- + =========================================================================== + Test SOSLabel missing attributes + =========================================================================== + --> + <target name="soslabel.1"> + <soslabel/> + </target> + + <target name="soslabel.2"> + <soslabel sosserverpath="192.168.0.1:8888"/> + </target> + + <target name="soslabel.3"> + <soslabel sosserverpath="192.168.0.1:8888" + username="ant"/> + </target> + + <target name="soslabel.4"> + <soslabel sosserverpath="192.168.0.1:8888" + username="ant" + vssserverpath="\\server\vss\srcsafe.ini"/> + </target> + + <target name="soslabel.5"> + <soslabel sosserverpath="192.168.0.1:8888" + username="ant" + vssserverpath="\\server\vss\srcsafe.ini" + projectpath="$/SourceRoot/Project"/> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/splash-test.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/splash-test.xml new file mode 100644 index 00000000..5b5bbe28 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/splash-test.xml @@ -0,0 +1,45 @@ +<?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="test_new_features" name="splash-test" basedir="."> + + <target name="test_old_behaviour"> + <echo>Old behaviour</echo> + <splash showduration="0"/> + <sleep seconds="1"/> + <sleep seconds="1"/> + <sleep seconds="1"/> + <sleep seconds="1"/> + <sleep seconds="1"/> + </target> + + <target name="test_new_features"> + <echo>New features</echo> + <splash progressregexp="Progress: (.*)%" showduration="0" displayText="Test text"/> + <sleep seconds="1"/> + <echo>Progress: 10%</echo> + <sleep seconds="1"/> + <echo>Progress: 20%</echo> + <sleep seconds="1"/> + <echo>Progress: 50%</echo> + <sleep seconds="1"/> + <echo>Progress: 70%</echo> + <sleep seconds="1"/> + <echo>Progress: 100%</echo> + <sleep seconds="3"/> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/unix/symlink.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/unix/symlink.xml new file mode 100644 index 00000000..f039a622 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/unix/symlink.xml @@ -0,0 +1,354 @@ +<?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. +--> + +<!-- + +/* + * Since the initial version of this file was deveolped on the clock on + * an NSF grant I should say the following boilerplate: + * + * This material is based upon work supported by the National Science + * Foundaton under Grant No. EIA-0196404. Any opinions, findings, and + * conclusions or recommendations expressed in this material are those + * of the author and do not necessarily reflect the views of the + * National Science Foundation. + */ + +--> + +<project name="symlink-test" basedir="." default="all"> + + <!-- + Since the symlink task and some of these targets rely on + calls to exec, it may be possible for the JVM to outrun the + execution of the command line system calls, so this value is + the number of seconds we give the operating system to + catch up before executing a task that depends on the + completion of previous tasks. This delay is also added to + the end of each target so junit doesn't go testing things + before they have finnished (hopefully). Tweak if needed. + --> + + <property name="delay" value="0"/> + + <import file="../../../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}" /> + </target> + + + <target name="all" + depends="setUp, test-single, test-delete, test-record, test-recreate, tearDown"/> + + <!-- test for action = single --> + <!-- + Creates: + File: ${output}/symlink.test + Link: ${output}/singletest + --> + <target name="test-single"> + <touch file="${output}/symlink.test"/> + <symlink resource="${output}/symlink.test" + link="${output}/singletest" + failonerror="yes"/> + <sleep seconds="${delay}"/> <!-- make sure OS has time to catch up --> + <available file="${output}/symlink.test" + property="test.single.file.created"/> + <available file="${output}/singletest" + property="test.single.link.created"/> + </target> + + + + <!-- test for action = delete (no calls to command line so no sleep) --> + + <!-- + Creates: + (none) + Deletes: + Link: ${output}/singletest + --> + + <target name="test-delete"> + <touch file="${output}/symlink.test"/> + <symlink resource="${output}/symlink.test" + link="${output}/singletest" + failonerror="yes"/> + <sleep seconds="${delay}"/> <!-- make sure OS has time to catch up --> + + <symlink action="delete" link="${output}/singletest" failonerror="yes"/> + <symlink action="delete" link="${output}/symlink.test" failonerror="no"/> + <sleep seconds="${delay}"/> <!-- make sure OS has time to catch up --> + + <available file="${output}/symlink.test" + property="test.delete.file.still.there"/> + <available file="${output}/singletest" + property="test.delete.link.still.there" + value="ERROR: link deletion failed"/> + + </target> + + + + <!-- test for action = record --> + + <!-- + Creates: + Dir: ${output}/symtest1 + Dir: ${output}/symtest1/symtest2 + Dir: ${output}/symtest1/symtest3 + File: ${output}/symtest1/file1 + File: ${output}/symtest1/symtest2/file2 + File: ${output}/symtest1/symtest3/fileA + File: ${output}/symtest1/symtest3/fileB + File: ${output}/symtest1/symtest3/fileC + Link: ${output}/symtest1/link1==>${output}/symtest1/file1 + Link: ${output}/symtest1/link2==>${output}/symtest1/symtest2/file2 + Link: ${output}/symtest1/symtest2/link3==> + ${output}/symtest1/symtest2/file2 + Link: ${output}/symtest1/dirlink==>${output}/symtest1/symtest3 + Link: ${output}/symtest1/dirlink2==>${output}/symtest1/symtest3 + Link: ${output}/symtest1/dirlink3==>${output}/symtest1/symtest3 + File: ${output}/symtest1/recorded.links + File: ${output}/symtest1/symtest2/recorded.links + Deletes: + (none) + --> + + <target name="test-record"> + + <mkdir dir="${output}/symtest1"/> + <mkdir dir="${output}/symtest1/symtest2"/> + <mkdir dir="${output}/symtest1/symtest3"/> + <touch file="${output}/symtest1/file1"/> + <touch file="${output}/symtest1/symtest2/file2"/> + + <touch file="${output}/symtest1/symtest3/fileA"/> + <touch file="${output}/symtest1/symtest3/fileB"/> + <touch file="${output}/symtest1/symtest3/fileC"/> + + <symlink resource="${output}/symtest1/file1" + link="${output}/symtest1/link1" + failonerror="no" /> + <symlink resource="${output}/symtest1/symtest2/file2" + link="${output}/symtest1/link2" + failonerror="no" /> + <symlink resource="${output}/symtest1/symtest2/file2" + link="${output}/symtest1/symtest2/link3" + failonerror="no" /> + <symlink resource="${output}/symtest1/symtest3" + link="${output}/symtest1/dirlink" + failonerror="no" /> + <symlink resource="${output}/symtest1/symtest3" + link="${output}/symtest1/dirlink2" + failonerror="no"/> + <symlink resource="${output}/symtest1/symtest3" + link="${output}/symtest1/dirlink3" + failonerror="no"/> + + <sleep seconds="${delay}"/> <!-- make sure OS has time to catch up --> + + <symlink action="record" linkfilename="recorded.links"> + <fileset dir="${output}/symtest1" includes="**/**"/> + </symlink> + + <sleep seconds="${delay}"/> <!-- make sure OS has time to catch up --> + + <!-- Test to see if the directories were created --> + + <available file="${output}/symtest1" + type="dir" + property="test.record.dir1.created"/> + + <available file="${output}/symtest1/symtest2" + type="dir" + property="test.record.dir2.created"/> + + <available file="${output}/symtest1/symtest3" + type="dir" + property="test.record.dir3.created"/> + + <!-- Test to see if the Files were created --> + + <available file="${output}/symtest1/file1" + property="test.record.file1.created"/> + + <available file="${output}/symtest1/symtest2/file2" + property="test.record.file2.created"/> + + <available file="${output}/symtest1/symtest3/fileA" + property="test.record.fileA.created"/> + + <available file="${output}/symtest1/symtest3/fileB" + property="test.record.fileB.created"/> + + <available file="${output}/symtest1/symtest3/fileC" + property="test.record.fileC.created"/> + + <!-- Test to see if the links were created --> + + <available file="${output}/symtest1/link1" + property="test.record.link1.created"/> + + <available file="${output}/symtest1/link2" + property="test.record.link2.created"/> + + <available file="${output}/symtest1/symtest2/link3" + property="test.record.link3.created"/> + + <available file="${output}/symtest1/dirlink" + property="test.record.dirlink.created"/> + + <!-- this is redundant for this test, but used in the recreate test --> + + <available file="${output}/symtest1/dirlink2" + property="test.record.dirlink2.created"/> + + <!-- Test to see if the linkfiles were created --> + + <available file="${output}/symtest1/recorded.links" + property="test.record.dir1.recorded"/> + + <available file="${output}/symtest1/symtest2/recorded.links" + property="test.record.dir2.recorded"/> + + <!-- THIS should not be set --> + + <available file="${output}/symtest1/symtest3/recorded.links" + property="test.record.dir3.recorded" + value="ERROR: symtest3/recorded.links should not exist"/> + + + </target> + + <!-- test for action = recreate --> + + <!-- + Deletes: + Link: ${output}/symtest1/link1==>${output}/symtest1/file1 + Link: ${output}/symtest1/link2==>${output}/symtest1/symtest2/file2 + Link: ${output}/symtest1/symtest2/link3==> + ${output}/symtest1/symtest2/file2 + Link: ${output}/symtest1/dirlink==>${output}/symtest1/symtest3 + Link: ${output}/symtest1/dirlink3==>${output}/symtest1/symtest3 + + Creates + Link: ${output}/symtest1/dirlink3==>${output}/symtest1/symtest2 + + Recreates: + Link: ${output}/symtest1/link1==>${output}/symtest1/file1 + Link: ${output}/symtest1/link2==>${output}/symtest1/symtest2/file2 + Link: ${output}/symtest1/symtest2/link3==> + ${output}/symtest1/symtest2/file2 + Link: ${output}/symtest1/dirlink==>${output}/symtest1/symtest3 + + Should Change: + Link: ${output}/symtest1/dirlink3==>${output}/symtest1/symtest2 + to + ${output}/symtest1/dirlink3==>${output}/symtest1/symtest3 + + Should Not Create (bug 25181): + Link: ${output}/symtest1/symtest3/dirlink2==>${output}/symtest1/symtest3 + --> + + <target name="test-recreate" depends="test-record"> + + <symlink action="delete" link="${output}/symtest1/link1"/> + <symlink action="delete" link="${output}/symtest1/link2"/> + <symlink action="delete" link="${output}/symtest1/symtest2/link3"/> + <symlink action="delete" link="${output}/symtest1/dirlink"/> + <!-- dirlink2 intentionally not deleted to test bug 25181 --> + <symlink action="delete" link="${output}/symtest1/dirlink3"/> + + <sleep seconds="${delay}"/> <!-- make sure OS has time to catch up --> + + <symlink resource="${output}/symtest1/symtest2" + link="${output}/symtest1/dirlink3" + failonerror="no"/> + + <sleep seconds="${delay}"/> <!-- make sure OS has time to catch up --> + + <available file="${output}/symtest1/link1" + property="test.recreate.link1.not.removed" + value="ERROR: rm -f symtest1/link1 failed"/> + + <available file="${output}/symtest1/link2" + property="test.recreate.link2.not.removed" + value="ERROR: rm -f symtest1/link2 failed"/> + + <available file="${output}/symtest1/symtest2/link3" + property="test.recreate.link3.not.removed" + value="ERROR: rm -f symtest1/symtest2/link3 failed"/> + + <available file="${output}/symtest1/zdirlink" + property="test.recreate.zdirlink.not.removed" + value="ERROR: rm -f symtest1/zdirlink failed"/> + + <sleep seconds="${delay}"/> <!-- make sure OS has time to do the execs --> + + <symlink action="recreate"> + <fileset dir="${output}/symtest1" includes="**/recorded.links"/> + </symlink> + + <sleep seconds="${delay}"/> <!-- make sure OS has time to catch up --> + + <available file="${output}/symtest1/link1" + property="test.recreate.link1.recreated"/> + + <available file="${output}/symtest1/link2" + property="test.recreate.link2.recreated"/> + + <available file="${output}/symtest1/symtest2/link3" + property="test.recreate.link3.recreated"/> + + <available file="${output}/symtest1/dirlink" + property="test.recreate.dirlink.recreated"/> + + <!-- this should not get set --> + <available file="${output}/symtest1/symtest3/symtest3" + property="test.recreate.dirlink2.recreated.twice" + value="ERROR: dirlink2 was created a second time (bug 25181)"/> + + <touch file="${output}/symtest1/dirlink3/WhereAmI"/> + + <sleep seconds="${delay}"/> <!-- make sure OS has time to do the execs --> + + <available file="${output}/symtest1/symtest3/WhereAmI" + property="test.recreate.dirlink3.was.altered"/> + </target> + + + <!-- actually tests the symlink methods in FileUtils, but this + testfixture already has all the necessary envirnment in place + --> + <target name="test-fileutils" depends="setUp"> + <mkdir dir="${output}/dir1"/> + <mkdir dir="${output}/dir2"/> + <touch file="${output}/file1"/> + <touch file="${output}/file2"/> + <symlink link="${output}/dir.there" resource="${output}/dir1"/> + <symlink link="${output}/dir.notthere" resource="${output}/dir2"/> + <symlink link="${output}/file.there" resource="${output}/file1"/> + <symlink link="${output}/file.notthere" resource="${output}/file2"/> + <delete dir="${output}/dir2"/> + <delete file="${output}/file2"/> + </target> + + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/vss/vss.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/vss/vss.xml new file mode 100644 index 00000000..7c6c0d39 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/vss/vss.xml @@ -0,0 +1,68 @@ +<?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="vss-test" basedir="." default="vssget.1"> + + <!-- + =========================================================================== + Test required attributes + =========================================================================== + --> + <target name="vssget.1"> + <vssget/> + </target> + + <target name="vsslabel.1"> + <vsslabel/> + </target> + + <target name="vsslabel.2"> + <vsslabel vsspath="$/SourceRoot/Project"/> + </target> + + <target name="vsshistory.1"> + <vsshistory/> + </target> + + <target name="vsscheckin.1"> + <vsscheckin/> + </target> + + <target name="vsscheckout.1"> + <vsscheckout/> + </target> + + <target name="vsscheckout.2"> + <vsscheckout + vsspath="$/SourceRoot/Project" + filetimestamp="blah"/> + </target> + + <target name="vssadd.1"> + <vssadd/> + </target> + + <target name="vsscp.1"> + <vsscp/> + </target> + + <target name="vsscreate.1"> + <vsscreate/> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xalan-redirect-in.xsl b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xalan-redirect-in.xsl new file mode 100644 index 00000000..b9d07949 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xalan-redirect-in.xsl @@ -0,0 +1,37 @@ +<?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. +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns:lxslt="http://xml.apache.org/xslt" + xmlns:redirect="http://xml.apache.org/xalan/redirect" + extension-element-prefixes="redirect"> +<!-- +This is a test to ensure that systemid is set correctly +for a xsl...the behavior might be dependent on Xalan1 +and Xalan2...this will be a problem to erase the files :( +Can take as a systemid the base for the xsl document or +the base or the JVM working dir just like: new File("xalan-redirect-out.tmp") +--> +<xsl:param name="xalan-version" select="'x'"/> + +<xsl:template match="/"> +<redirect:write file="./xalan{$xalan-version}-redirect-out.tmp"> + <test>This should be written to the file</test> +</redirect:write> +</xsl:template> + +</xsl:stylesheet> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/about.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/about.xml new file mode 100644 index 00000000..f6a9dab5 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/about.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + 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. +--> +<!DOCTYPE doc PUBLIC + "-//stevo//DTD doc 1.0//EN" + "http://chemical/brothers" + > +<doc> + <section title="About"> + in the absence of technology, there is only marketing + </section> +</doc> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/apache.xsl b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/apache.xsl new file mode 100644 index 00000000..120addf8 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/apache.xsl @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + 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. +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + + <xsl:output method="xml"/> + + <xsl:template match="/"> + <authors> + <xsl:apply-templates/> + </authors> + </xsl:template> + <xsl:template match="author"> + <author> + <xsl:attribute name="name"> + <xsl:value-of select="@name"/> + </xsl:attribute> + </author> + </xsl:template> +</xsl:stylesheet> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/books.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/books.xml new file mode 100644 index 00000000..17923d7d --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/books.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- + 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. +--> +<books> + <book name="hamlet"> + <author name="shakespeare"/> + </book> + <book name="the lord of rings"> + <author name="tolkien"/> + </book> + <book name="le malade imaginaire"> + <author name="moliere"/> + </book> +</books>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/catalog b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/catalog new file mode 100644 index 00000000..1c9bddf2 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/catalog @@ -0,0 +1,2 @@ +PUBLIC "-//stevo//DTD doc 1.0//EN" "doc.dtd" + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/doc-in-ns.xsd b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/doc-in-ns.xsd new file mode 100644 index 00000000..b34147c4 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/doc-in-ns.xsd @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. +--> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://apache.org/ant/doc/" + xmlns:tns="http://apache.org/ant/doc/" + elementFormDefault="qualified"> + <xs:element name="doc"> + <xs:complexType> + <xs:sequence> + <xs:element ref="tns:section"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="section"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="title" type="xs:string"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> +</xs:schema> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/doc.dtd b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/doc.dtd new file mode 100644 index 00000000..51629d58 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/doc.dtd @@ -0,0 +1,24 @@ +<!-- + 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. +--> +<!ELEMENT doc (section) > +<!ELEMENT section (#PCDATA)> +<!ATTLIST section title CDATA #IMPLIED> + + + + + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/doc.xsd b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/doc.xsd new file mode 100644 index 00000000..eeedbcaf --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/doc.xsd @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. +--> +<xs:schema + xmlns:xs="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified"> + <xs:element name="doc"> + <xs:complexType> + <xs:sequence> + <xs:element ref="section"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="section"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="title" type="xs:string"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> +</xs:schema> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/doc.xsl b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/doc.xsl new file mode 100644 index 00000000..3d9c2a4e --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/doc.xsl @@ -0,0 +1,26 @@ +<?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. +--> +<xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:template="struts template" + version="1.0"> +<xsl:output method="text"/> +<xsl:template match="/"> +<xsl:value-of select="/doc/section"/> +</xsl:template> +</xsl:stylesheet> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/docwithentity.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/docwithentity.xml new file mode 100644 index 00000000..6435c328 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/docwithentity.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- + 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. +--> +<!DOCTYPE books [ + <!ENTITY globaldefinitions SYSTEM "entity.xml"> +]> +<books> + &globaldefinitions; + <book name="the lord of rings"> + <author name="tolkien"/> + </book> + <book name="le malade imaginaire"> + <author name="moliere"/> + </book> +</books>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/endpiece-noSchema-invalid.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/endpiece-noSchema-invalid.xml new file mode 100644 index 00000000..ec580854 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/endpiece-noSchema-invalid.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. +--> + +<!-- + Invalid test XML file without any schema refeferences +--> +<doc> + <section title="endpiece"> + With a little luck, the network will pick me up. + This is Ripley - last survivor of The Nostromo - signing off. + </section> + + <invalidelement/> + +</doc> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/endpiece-noSchema.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/endpiece-noSchema.xml new file mode 100644 index 00000000..7ae559d9 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/endpiece-noSchema.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. +--> + +<!-- + Test XML file without any schema refeferences +--> +<doc> + <section title="endpiece"> + With a little luck, the network will pick me up. + This is Ripley - last survivor of The Nostromo - signing off. + </section> + +</doc> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/endpiece-ns-no-location.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/endpiece-ns-no-location.xml new file mode 100644 index 00000000..3fe93c7c --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/endpiece-ns-no-location.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. +--> +<doc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="doc-in-ns.xsd" xmlns="http://apache.org/ant/doc/"> + <section title="endpiece"> + With a little luck, the network will pick me up. + This is Ripley - last survivor of The Nostromo - signing off. + </section> +</doc> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/endpiece.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/endpiece.xml new file mode 100644 index 00000000..3fe93c7c --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/endpiece.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. +--> +<doc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="doc-in-ns.xsd" xmlns="http://apache.org/ant/doc/"> + <section title="endpiece"> + With a little luck, the network will pick me up. + This is Ripley - last survivor of The Nostromo - signing off. + </section> +</doc> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/endpiece2.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/endpiece2.xml new file mode 100644 index 00000000..eec49f6f --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/endpiece2.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. +--> +<doc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="doc.xsd" + xmlns="http://Massive/Attack+Mezzanine"> + <section title="endpiece"> + With a little luck, the network will pick me up. + This is Ripley - last survivor of The Nostromo - signing off. + <illegal-element/> + </section> +</doc> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/entity.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/entity.xml new file mode 100644 index 00000000..a9340e56 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/entity.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. +--> + <book name="hamlet"> + <author name="shakespeare"/> + </book> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/iso-2022-jp.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/iso-2022-jp.xml new file mode 100644 index 00000000..b325e6da --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/iso-2022-jp.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="iso-2022-jp"?> +<!-- + 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. +--> +<!DOCTYPE test [ + <!ELEMENT test (#PCDATA)> +]> +<test> +ISO-2022-JP $B$N%U%!%$%k!#(B +</test> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/stylesheet_include.xsl b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/stylesheet_include.xsl new file mode 100644 index 00000000..9c1ffad7 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/stylesheet_include.xsl @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + 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. +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + + <xsl:template match="author"> + <author> + <xsl:attribute name="name"> + <xsl:value-of select="@name"/> + </xsl:attribute> + </author> + </xsl:template> +</xsl:stylesheet> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/stylesheet_with_include.xsl b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/stylesheet_with_include.xsl new file mode 100644 index 00000000..b1feaca8 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/stylesheet_with_include.xsl @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + 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. +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + + <xsl:output method="xml"/> + <xsl:include href="stylesheet_include.xsl"/> + <xsl:template match="/"> + <authors> + <xsl:apply-templates/> + </authors> + </xsl:template> +</xsl:stylesheet> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/test.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/test.xml new file mode 100644 index 00000000..7f2abe00 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/test.xml @@ -0,0 +1,25 @@ +<?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. +--> +<root> + <a>this is the first line</a> + <b><c>not indented</c></b> + <b> + <c>indented</c> + </b> +</root> +
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/test.xsl b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/test.xsl new file mode 100644 index 00000000..8d28eb3f --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/test.xsl @@ -0,0 +1,25 @@ +<?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. +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> +<!-- Copy every node and attributes recursively --> + <xsl:template match="node()|@*"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> + </xsl:template> +</xsl:stylesheet>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/utf-8.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/utf-8.xml new file mode 100644 index 00000000..db442a36 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/utf-8.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. +--> +<!DOCTYPE test [ + <!ELEMENT test (#PCDATA)> +]> +<test> +Liberté, égalité, fraternité! +</test> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/validate.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/validate.xml new file mode 100644 index 00000000..cade722a --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xml/validate.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + 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="validate" default="testValidate" basedir="."> + + <target name="testValidate"> + <xmlvalidate warn="false"> + <fileset dir="." includes="about.xml"/> + <dtd publicID="-//stevo//DTD doc 1.0//EN" + location="doc.dtd"/> + </xmlvalidate> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xmlvalidate.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xmlvalidate.xml new file mode 100644 index 00000000..cd7cc45e --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xmlvalidate.xml @@ -0,0 +1,208 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + 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="validate" default="testValidate" basedir="."> + + <target name="testValidate"> + <xmlvalidate warn="false"> + <fileset dir="xml" includes="**/about.xml"/> + <dtd publicID="-//stevo//DTD doc 1.0//EN" + location="xml/doc.dtd"/> + </xmlvalidate> + </target> + + <target name="testDeepValidate"> + <ant dir="xml" + antfile="validate.xml" + target="testValidate"/> + </target> + + <target name="xmlcatalog"> + <xmlvalidate warn="false"> + <fileset dir="xml" includes="**/about.xml"/> + <xmlcatalog classpath="xml"> + <dtd publicID="-//stevo//DTD doc 1.0//EN" + location="doc.dtd"/> + </xmlcatalog> + </xmlvalidate> + </target> + + <target name="xmlcatalogViaRefid"> + <xmlcatalog classpath="xml" id="cat"> + <dtd publicID="-//stevo//DTD doc 1.0//EN" location="doc.dtd"/> + </xmlcatalog> + <xmlvalidate warn="false"> + <xmlcatalog refid="cat"/> + <fileset dir="xml" includes="**/about.xml"/> + </xmlvalidate> + </target> + + <target name="xmlcatalognested"> + <xmlvalidate warn="false"> + <fileset dir="xml" includes="**/about.xml"/> + <xmlcatalog classpath="xml"> + <entity publicID = "bogusImage" + location = "/i/dont/exist.jpg"/> + <xmlcatalog> + <dtd publicID="-//stevo//DTD doc 1.0//EN" + location="doc.dtd"/> + </xmlcatalog> + </xmlcatalog> + </xmlvalidate> + </target> + + <!-- The -override tests should pass without resolver.jar --> + <target name="xmlcatalogfiles-override"> + <xmlvalidate warn="false"> + <fileset dir="xml" includes="**/about.xml"/> + <xmlcatalog classpath="xml"> + <catalogpath> + <fileset dir="xml" includes="catalog"/> + </catalogpath> + <dtd publicID="-//stevo//DTD doc 1.0//EN" + location="doc.dtd"/> + </xmlcatalog> + </xmlvalidate> + </target> + + <target name="xmlcatalogpath-override"> + <xmlvalidate warn="false"> + <fileset dir="xml" includes="**/about.xml"/> + <xmlcatalog classpath="xml"> + <catalogpath> + <pathelement location="xml/catalog"/> + </catalogpath> + <dtd publicID="-//stevo//DTD doc 1.0//EN" + location="doc.dtd"/> + </xmlcatalog> + </xmlvalidate> + </target> + + <target name="xmlcatalogfiles"> + <xmlvalidate warn="false"> + <fileset dir="xml" includes="**/about.xml"/> + <xmlcatalog classpath="xml"> + <catalogpath> + <fileset dir="xml" includes="catalog"/> + </catalogpath> + </xmlcatalog> + </xmlvalidate> + </target> + + <target name="xmlcatalogpath"> + <xmlvalidate warn="false"> + <fileset dir="xml" includes="**/about.xml"/> + <xmlcatalog classpath="xml"> + <catalogpath> + <pathelement location="xml/catalog"/> + </catalogpath> + </xmlcatalog> + </xmlvalidate> + </target> + + <target name="testSchemaGood"> + <xmlvalidate warn="false" lenient="no" > + <fileset dir="xml" includes="endpiece.xml"/> + + <attribute name="http://xml.org/sax/features/validation" + value="false"/> + <attribute name="http://apache.org/xml/features/validation/schema" + value="false"/> + + </xmlvalidate> + </target> + + <target name="testSchemaBad"> + <xmlvalidate warn="false"> + <fileset dir="xml" includes="endpiece2.xml"/> + + <attribute name="http://xml.org/sax/features/validation" + value="true"/> + <attribute name="http://apache.org/xml/features/validation/schema" + value="true"/> + </xmlvalidate> + </target> + + <target name="testIso2022Jp"> + <xmlvalidate warn="false" file="xml/iso-2022-jp.xml"/> + </target> + + <target name="testUtf8"> + <xmlvalidate warn="false" file="xml/utf-8.xml"/> + </target> + + + <!-- Tests property element with XML file that satisfies schema --> + <target name="testProperty.validXML"> + + <!-- Converts path to URL format --> + <pathconvert dirsep="/" property="xsd.file"> + <path> + <pathelement location="xml/doc.xsd"/> + </path> + </pathconvert> + + <xmlvalidate file="xml/endpiece-noSchema.xml" lenient="false" + failonerror="true" warn="true"> + + <attribute name="http://apache.org/xml/features/validation/schema" + value="true"/> + + <property + name="http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation" + value="${xsd.file}"/> + </xmlvalidate> + </target> + + + <!-- Tests property element with XML file that fails schema validation --> + <target name="testProperty.invalidXML"> + + <!-- Converts path to URL format --> + <pathconvert dirsep="/" property="xsd.file"> + <path> + <pathelement location="xml/doc.xsd"/> + </path> + </pathconvert> + + <xmlvalidate file="xml/endpiece-noSchema-invalid.xml" lenient="false" + failonerror="true" warn="true"> + + <attribute name="http://apache.org/xml/features/validation/schema" + value="true"/> + + <property + name="http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation" + value="${xsd.file}"/> + </xmlvalidate> + </target> + + <target name="testSchemaWithXSD"> + <xmlvalidate warn="false" lenient="false" + file="xml/endpiece-noSchema.xml"> + + <attribute name="http://apache.org/xml/features/validation/schema" + value="true"/> + <property + name="http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation" + value="${xsd.file}"/> + + </xmlvalidate> + </target> + +</project> + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xslt.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xslt.xml new file mode 100644 index 00000000..d872ea8c --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xslt.xml @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + 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="xslt" default="tearDown" basedir="."> + + <import file="../../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}" /> + </target> + + <target name="initNonAscii" depends="setUp"> + <property name="nonasciidir" value="${output}/ãnt"/> + <mkdir dir="${nonasciidir}"/> + <copy todir="${nonasciidir}"> + <fileset dir="xml"> + <include name="docwithentity.xml"/> + <include name="entity.xml"/> + </fileset> + </copy> + </target> + + <target name="testCatchNoDtd" depends="setUp"> + <xslt basedir="xml" destdir="${output}" + includes="about.xml" + extension=".txt" + style="xml/doc.xsl"> + </xslt> + </target> + + <xmlcatalog id="xdocs.catalog"> + <dtd publicID="-//stevo//DTD doc 1.0//EN" + location="xml/doc.dtd"/> + </xmlcatalog> + + <target name="testCatalog" depends="setUp"> + <xslt destdir="${output}" + includes="about.xml" + extension=".txt" + style="xml/doc.xsl"> + <xmlcatalog refid="xdocs.catalog"/> + </xslt> + </target> + + <target name="testOutputProperty" depends="setUp"> + <xslt in="xml/test.xml" + out="${output}/test-out.xml" + style="xml/test.xsl"> + <outputproperty name="method" value="xml"/> + <outputproperty name="standalone" value="yes"/> + <outputproperty name="encoding" value="iso8859_1"/> + <outputproperty name="indent" value="yes"/> + </xslt> + </target> + + + <target name="testFactory" depends="setUp"> + <xslt in="xml/test.xml" + out="${output}/test-out.xml" + style="xml/test.xsl"> + <factory name="org.apache.xalan.processor.TransformerFactoryImpl"/> + </xslt> + </target> + + <target name="testAttribute" depends="setUp"> + <xslt in="xml/test.xml" + out="${output}/test-out.xml" + style="xml/test.xsl"> + <factory name="org.apache.xalan.processor.TransformerFactoryImpl"> + <attribute name="http://xml.apache.org/xalan/features/optimize" value="true"/> + </factory> + </xslt> + </target> + <!-- inspired by bug report 37348 --> + <target name="testXMLWithEntitiesInNonAsciiPath" depends="initNonAscii"> + <xslt in="${nonasciidir}/docwithentity.xml" + out="${output}/test-out.xml" + style="xml/apache.xsl"> + </xslt> + </target> + <target name="testStyleSheetWithInclude" depends="setUp"> + <xslt in="xml/books.xml" + out="${output}/test-out.xml" + style="xml/stylesheet_with_include.xsl"> + </xslt> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xsltliaison-encoding-in.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xsltliaison-encoding-in.xml new file mode 100644 index 00000000..80d93369 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xsltliaison-encoding-in.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + 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. +--> +<root> + <message>éàèïù</message> +</root> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xsltliaison-encoding-in.xsl b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xsltliaison-encoding-in.xsl new file mode 100644 index 00000000..f19bf820 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xsltliaison-encoding-in.xsl @@ -0,0 +1,27 @@ +<?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. +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + +<xsl:template match="/"> + <root> + <xsl:for-each select="/root/message"> + <message><xsl:value-of select="."/></message> + </xsl:for-each> + </root> +</xsl:template> +</xsl:stylesheet> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xsltliaison-in.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xsltliaison-in.xml new file mode 100644 index 00000000..a4b0247b --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xsltliaison-in.xml @@ -0,0 +1,23 @@ +<?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. +--> +<!DOCTYPE project [ + <!ENTITY include SYSTEM "xsltliaison-include.xml"> +]> +<project> + &include; +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xsltliaison-in.xsl b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xsltliaison-in.xsl new file mode 100644 index 00000000..852d38af --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xsltliaison-in.xsl @@ -0,0 +1,20 @@ +<?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. +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> +<xsl:include href="xsltliaison-include.xsl"/> +</xsl:stylesheet> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xsltliaison-include.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xsltliaison-include.xml new file mode 100644 index 00000000..aebef339 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xsltliaison-include.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. +--> +<!-- to be included by xsltliaison-include.xsl --> +<task/> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xsltliaison-include.xsl b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xsltliaison-include.xsl new file mode 100644 index 00000000..986f1b3e --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/optional/xsltliaison-include.xsl @@ -0,0 +1,20 @@ +<?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. +--> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> +<!-- to be included by xsltliaison-in.xsl --> +</xsl:stylesheet> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/parallel.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/parallel.xml new file mode 100644 index 00000000..9a3434c1 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/parallel.xml @@ -0,0 +1,163 @@ +<?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="parallel-test" basedir="." default="help"> + <target name="testBasic"> + <parallel> + <sequential> + <sleep seconds="1"/> + <echo message="${test.delayed}"/> + </sequential> + <echo message="${test.direct}"/> + </parallel> + </target> + + <target name="testFail"> + <parallel> + <sequential> + <sleep seconds="1"/> + <echo message="${test.delayed}"/> + </sequential> + <fail message="${test.failure}"/> + </parallel> + </target> + + <target name="testThreadCount"> + <echo>|1/</echo> + <parallel threadCount='1' pollInterval="60"> + <sequential> + <echo message="+"/> + <sleep milliseconds="30"/> + <echo message="-"/> + </sequential> + <sequential> + <echo message="+"/> + <sleep milliseconds="60"/> + <echo message="-"/> + </sequential> + <sequential> + <echo message="+"/> + <sleep milliseconds="90"/> + <echo message="-"/> + </sequential> + </parallel> + <echo>|2/</echo> + <parallel threadCount='2' pollInterval="30"> + <sequential> + <echo message="+"/> + <sleep milliseconds="30"/> + <echo message="-"/> + </sequential> + <sequential> + <echo message="+"/> + <sleep milliseconds="60"/> + <echo message="-"/> + </sequential> + <sequential> + <echo message="+"/> + <sleep milliseconds="90"/> + <echo message="-"/> + </sequential> + </parallel> + <echo>|3/</echo> + <parallel threadCount='3' pollInterval="30"> + <sequential> + <echo message="+"/> + <sleep milliseconds="30"/> + <echo message="-"/> + </sequential> + <sequential> + <echo message="+"/> + <sleep milliseconds="60"/> + <echo message="-"/> + </sequential> + <sequential> + <echo message="+"/> + <sleep milliseconds="90"/> + <echo message="-"/> + </sequential> + </parallel> + <echo>|4/</echo> + <parallel threadCount='4' pollInterval="30"> + <sequential> + <echo message="+"/> + <sleep milliseconds="30"/> + <echo message="-"/> + </sequential> + <sequential> + <echo message="+"/> + <sleep milliseconds="60"/> + <echo message="-"/> + </sequential> + <sequential> + <echo message="+"/> + <sleep milliseconds="90"/> + <echo message="-"/> + </sequential> + </parallel> + <echo>|4/</echo> + <parallel threadsPerProcessor='1' threadcount='4' pollInterval="30"> + <sequential> + <echo message="+"/> + <sleep milliseconds="30"/> + <echo message="-"/> + </sequential> + <sequential> + <echo message="+"/> + <sleep milliseconds="60"/> + <echo message="-"/> + </sequential> + <sequential> + <echo message="+"/> + <sleep milliseconds="90"/> + <echo message="-"/> + </sequential> + </parallel> + <echo>|</echo> + + </target> + + <target name="testDemux"> + <parallel> + <demuxtest/> + <demuxtest/> + <demuxtest/> + <demuxtest/> + <demuxtest/> + </parallel> + </target> + + <target name="testSingleExit"> + <parallel> + <echo message="all is well"/> + <fail message="no it isn't" status="42"/> + </parallel> + </target> + + <target name="testExitAndOtherException"> + <parallel> + <fail message="no it isn't"/> + <fail message="no it isn't" status="42"/> + </parallel> + </target> + + <target name="help"> + <echo>Test build file for the <parallel> task.</echo> + <echo>Use the various targets to run the tests.</echo> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/pathconvert.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/pathconvert.xml new file mode 100644 index 00000000..1cdcc8cd --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/pathconvert.xml @@ -0,0 +1,42 @@ +<?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="pathconvert"> + + <path id="testpath"> + <pathelement path="${ant.file}" /> + </path> + + <target name="testmap"> + <pathconvert property="result" dirsep="#"> + <path refid="testpath" /> + <map from="${basedir}" to="test" /> + </pathconvert> + </target> + + <target name="testmapper"> + <pathconvert property="result" dirsep="#"> + <path refid="testpath" /> + <mapper type="glob" from="${basedir}*" to="test*" /> + </pathconvert> + </target> + + <target name="testnotargetos"> + <pathconvert property="result" refid="testpath" /> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/presetdef.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/presetdef.xml new file mode 100644 index 00000000..695747eb --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/presetdef.xml @@ -0,0 +1,147 @@ +<?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> + <path id="test-classes"> + <pathelement location="../../../../build/testcases" /> + <pathelement path="${java.class.path}" /> + </path> + + <target name="simple"> + <presetdef name="my.echo"> + <echo message="Hello world"/> + </presetdef> + <my.echo/> + </target> + + <target name="text"> + <presetdef name="my.echo"> + <echo>Inner Text</echo> + </presetdef> + <my.echo/> + </target> + + <target name="uri"> + <presetdef name="echo" uri="abc"> + <echo message="Hello world"/> + </presetdef> + <x:echo xmlns:x="abc"/> + </target> + + <target name="defaulttest"> + <taskdef name="defaulttest" + classname="org.apache.tools.ant.taskdefs.PreSetDefTest$DefaultTest" + classpathref="test-classes"/> + <presetdef name="d"> + <defaulttest attribute="true"/> + </presetdef> + <d attribute="false"/> + </target> + + <target name="doubledefault"> + <taskdef name="defaulttest" + classname="org.apache.tools.ant.taskdefs.PreSetDefTest$DefaultTest" + classpathref="test-classes"/> + <presetdef name="d"> + <defaulttest attribute="true"/> + </presetdef> + <presetdef name="dd"> + <d attribute="false"/> + </presetdef> + <dd/> + <dd attribute="true"/> + </target> + + <target name="antTypeTest"> + <taskdef name="anttypetest" + classname="org.apache.tools.ant.taskdefs.PreSetDefTest$AntTypeTest" + classpathref="test-classes"/> + <presetdef name="java.fileset"> + <fileset> + <include name="**/*.java"/> + </fileset> + </presetdef> + + <anttypetest> + <fileset ant-type="java.fileset" dir="."/> + <configured ant-type="java.fileset" dir="."/> + </anttypetest> + </target> + + <target name="text.optional"> + <presetdef name="echo.mytext"> + <echo>MyText</echo> + </presetdef> + <echo.mytext/> + <echo.mytext>override text</echo.mytext> + </target> + + <target name="element.order"> + <presetdef name="el.order"> + <sequential> + <echo>Line 1</echo> + </sequential> + </presetdef> + <el.order> + <echo>Line 2</echo> + </el.order> + </target> + + <target name="element.order2"> + <presetdef name="el.order"> + <sequential> + <echo>Line 1</echo> + </sequential> + </presetdef> + <presetdef name="el.order2"> + <el.order> + <echo>Line 2</echo> + </el.order> + </presetdef> + <el.order2> + <echo>Line 3</echo> + </el.order2> + </target> + + <target name="correct_taskname_badattr"> + <presetdef name="mytask"> + <javac srcdir="whatever"/> + </presetdef> + + <javac srcdir="whatever" badattr="whatever"/> + </target> + + <target name="correct_taskname_badel"> + <presetdef name="mytask"> + <javac srcdir="whatever"/> + </presetdef> + + <javac srcdir="whatever"> + <badel/> + </javac> + </target> + + <target name="presetdef-with-nested-element-twice"> + <copy todir="."> + <fileset dir="." includes="nonexistent"/> + </copy> + <presetdef name="copy"> + <copy verbose="true"/> + </presetdef> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/property.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/property.xml new file mode 100644 index 00000000..87cda8b0 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/property.xml @@ -0,0 +1,92 @@ +<?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="property-test" basedir="." default="test1"> + + <import file="../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}" /> + </target> + + <available property="java5+" classname="java.lang.Iterable"/> + + <target name="test1"> + <property environment="testenv"/> + </target> + + <target name="test2"> + <property name="testprop1" value="aa"/> + <property file="property1.properties"/> + <echo message="testprop1=${testprop1}, testprop3=${testprop3}, testprop4=${testprop4}"/> + </target> + + <target name="test3"> + <property file="property2.properties"/> + </target> + + <target name="test4"> + <property name="http.port" value="999" /> + <property file="property3.properties"/> + <echo message="http.url is ${http.url}"/> + </target> + + <target name="test5"> + <property name="http.port" value="999" /> + <property url="${test5.url}"/> + <echo message="http.url is ${http.url}"/> + </target> + + <target name="prefix.success"> + <property file="property3.properties" prefix="server1"/> + </target> + + <target name="prefix.fail"> + <property name="someprop" value="value" prefix="prefix"/> + </target> + + <!-- caused an endless loop, PR 21825 --> + <target name="testCircularReference"> + <property file="property4.properties"/> + </target> + + <target name="thisIsNotACircularReference"> + <property file="property5.properties"/> + <echo>b is ${b}</echo> + </target> + + <target name="genXmlPropFile"> + <echo file="${output}/props.xml"><?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> +<properties version="1.0"> + <comment> + Example of property definition according to Suns DTD as + specified in the Java5 docs and http://java.sun.com/dtd/properties.dtd. + </comment> + <entry key="xml.one">ONE</entry> + <entry key="xml.two">TWO</entry> +</properties> + </echo> + </target> + + <target name="testXmlProperty.internal" depends="genXmlPropFile" if="java5+"> + <property file="${output}/props.xml"/> + </target> + <target name="testXmlProperty" depends="testXmlProperty.internal"/> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/property1.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/property1.properties new file mode 100644 index 00000000..ef3ebd30 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/property1.properties @@ -0,0 +1,17 @@ +# 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. +testprop2=xx +testprop3=${testprop2}yy +testprop4=${testprop1}zz diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/property2.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/property2.properties new file mode 100644 index 00000000..81253120 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/property2.properties @@ -0,0 +1,17 @@ +# 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. +testprop1=aa${testprop2}bb +testprop2=cc${testprop1}dd + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/property3.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/property3.properties new file mode 100644 index 00000000..ac21612f --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/property3.properties @@ -0,0 +1,18 @@ +# 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. +http.port = 80 +http.url = http://localhost:${http.port} + + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/property4.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/property4.properties new file mode 100644 index 00000000..65527105 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/property4.properties @@ -0,0 +1,16 @@ +# 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. +a=${a} +b=${a}/b diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/property5.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/property5.properties new file mode 100644 index 00000000..e1ebcd37 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/property5.properties @@ -0,0 +1,17 @@ +# 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. +a=A +b=${a}/${c}/${a} +c=${a} diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder.xml new file mode 100644 index 00000000..1c073118 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder.xml @@ -0,0 +1,73 @@ +<?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="recorder-test" default="all" basedir="."> + + <import file="../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}"/> + </target> + + <property name="recin" location="recorder"/> + + <target name="all" depends="noappend,append,restart,deleterestart"/> + + <target name="noappend"> + <copy file="${recin}/rectest2.result" tofile="${output}/rectest1.log"/> + <record name="${output}/rectest1.log" action="start"/> + <echo message="some message1"/> + <record name="${output}/rectest1.log" action="stop"/> + </target> + + <target name="append"> + <copy file="${recin}/rectest1.result" tofile="${output}/rectest2.log"/> + <record name="${output}/rectest2.log" append="true" action="start"/> + <echo message="some message2"/> + <record name="${output}/rectest2.log" action="stop"/> + </target> + + <target name="restart"> + <record name="${output}/rectest3.log" action="start"/> + <echo message="some message1"/> + <record name="${output}/rectest3.log" action="stop"/> + <echo message="some message2"/> + <record name="${output}/rectest3.log" action="start"/> + <echo message="some message3"/> + <record name="${output}/rectest3.log" action="stop"/> + </target> + + <target name="deleterestart"> + <record name="${output}/rectest4.log" action="start"/> + <echo message="some message1"/> + <record name="${output}/rectest4.log" action="stop"/> + <delete file="${output}/rectest4.log"/> + <echo message="some message2"/> + <record name="${output}/rectest4.log" action="start"/> + <echo message="some message3"/> + <record name="${output}/rectest4.log" action="stop"/> + </target> + + <target name="subbuild"> + <record name="${output}/rectest5.log" action="start"/> + <echo message="some message5"/> + <ant antfile="recorder2.xml"/> + <record name="${output}/rectest5.log" action="stop"/> + </target> + + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder/rectest1.result b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder/rectest1.result new file mode 100644 index 00000000..0f8013f3 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder/rectest1.result @@ -0,0 +1 @@ + [echo] some message1 diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder/rectest2.result b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder/rectest2.result new file mode 100644 index 00000000..80550fdd --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder/rectest2.result @@ -0,0 +1,2 @@ + [echo] some message1 + [echo] some message2 diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder/rectest3.result b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder/rectest3.result new file mode 100644 index 00000000..e4961774 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder/rectest3.result @@ -0,0 +1,2 @@ + [echo] some message1 + [echo] some message3 diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder/rectest4.result b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder/rectest4.result new file mode 100644 index 00000000..db6239e0 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder/rectest4.result @@ -0,0 +1 @@ + [echo] some message3 diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder/rectest5.result b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder/rectest5.result new file mode 100644 index 00000000..7f58ebf8 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder/rectest5.result @@ -0,0 +1,5 @@ + [echo] some message5 + +test6: + [echo] some message6 + [echo] some message8 diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder/rectest6.result b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder/rectest6.result new file mode 100644 index 00000000..c9ceb0b5 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder/rectest6.result @@ -0,0 +1,3 @@ + [echo] some message6 + [echo] some message7 + [echo] some message8 diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder2.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder2.xml new file mode 100644 index 00000000..e093cf51 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/recorder2.xml @@ -0,0 +1,29 @@ +<?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="recorder-test" default="test6" basedir="."> + + <target name="test6"> + <record name="${output}/rectest6.log" action="start" /> + <echo message="some message6"/> + <record name="${output}/rectest5.log" action="stop" /> + <echo message="some message7"/> + <record name="${output}/rectest5.log" action="start" /> + <echo message="some message8"/> + <record name="${output}/rectest6.log" action="stop" /> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/rename.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/rename.xml new file mode 100644 index 00000000..a23a81e1 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/rename.xml @@ -0,0 +1,50 @@ +<?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="xxx-test" basedir="." default="test1"> + + <target name="test1"> + <rename/> + </target> + + <target name="test2"> + <rename src=""/> + </target> + + <target name="test3"> + <rename dest=""/> + </target> + + <target name="test4"> + <rename src="testdir" + dest="testdir"/> + </target> + + <target name="test5"> + <rename src="template.xml" + dest="."/> + </target> + + <target name="test6"> + <rename src="template.xml" + dest="template.tmp"/> + <rename src="template.tmp" + dest="template.xml"/> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/replace.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/replace.xml new file mode 100644 index 00000000..a4039e53 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/replace.xml @@ -0,0 +1,94 @@ +<?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="xxx-test" basedir="." default="test1"> + + <import file="../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}"/> + </target> + + + <target name="test1"> + <replace/> + </target> + + <target name="test2"> + <replace file=""/> + </target> + + <target name="test3"> + <replace file="template.xml"/> + </target> + + <target name="test4"> + <replace file="template.xml" token=""/> + </target> + + <target name="test5"> + <replace file="template.xml" + token="dont_want_to_really_replace_something"/> + </target> + + <target name="test6"> + <replace file="template.xml"> + <replacefilter /> + </replace> + </target> + + <target name="test7"> + <replace file="template.xml"> + <replacefilter token="" /> + </replace> + </target> + + <target name="test8"> + <replace file="template.xml"> + <replacefilter token="dont_want_to_really_replace_something" /> + </replace> + </target> + + <target name="test9-setup"> + <!-- this fixing of line endings is necessary because the replace task is transforming the line endings --> + <!-- of the replacement tokens and values to the platform default --> + <!-- in certain cases (checkout done with cvs of cygwin, the line endings of the various files do not match--> + <!-- the system property line.separator --> + <copy file="replace/source.txt" tofile="${output}/output.txt"/> + <copy file="replace/value.txt" tofile="${output}/value.txt" /> + <copy file="replace/result.txt" tofile="${output}/result.txt" /> + <fixcrlf srcdir="${output}" includes="*.txt"/> + </target> + <target name="test9" depends="test9-setup"> + <loadfile srcFile="${output}/value.txt" property="content"/> + <replace file="${output}/output.txt" token="@@@Replace this@@@" value="${content}"/> + </target> + + <target name="lastModifiedSetup"> + <mkdir dir="${output}"/> + <echo file="${output}/test.txt">Hello, world!</echo> + </target> + <target name="testNoPreserve"> + <replace token="world" value="Ant" file="${output}/test.txt"/> + </target> + <target name="testPreserve"> + <replace token="world" value="Ant" file="${output}/test.txt" + preserveLastModified="true"/> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/replace/result.txt b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/replace/result.txt new file mode 100644 index 00000000..a74e06ea --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/replace/result.txt @@ -0,0 +1,7 @@ +This is line one +This is line two +This is line three +This is line four +This is line five +This is line six + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/replace/source.txt b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/replace/source.txt new file mode 100644 index 00000000..8d73f317 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/replace/source.txt @@ -0,0 +1,4 @@ +This is line one +This is line two +This is line three +@@@Replace this@@@ diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/replace/value.txt b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/replace/value.txt new file mode 100644 index 00000000..c75b5529 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/replace/value.txt @@ -0,0 +1,3 @@ +This is line four +This is line five +This is line six
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/rmic/rmic.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/rmic/rmic.xml new file mode 100644 index 00000000..757fca51 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/rmic/rmic.xml @@ -0,0 +1,499 @@ +<?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="rmic" default="tearDown" basedir="."> + + <property name="rmic.dir" location="." /> + <property name="src.dir" location="${rmic.dir}/src"/> + + <import file="../../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}" /> + <property name="build.dir" location="${output}/build"/> + <property name="dest.dir" location="${output}/dest"/> + </target> + + + + <!-- init builds the java source --> + <target name="init" depends="probe-rmic,setUp"> + <mkdir dir="${build.dir}"/> + <mkdir dir="${dest.dir}"/> + + <javac + destdir="${build.dir}" + srcdir="${src.dir}" + includes="Remote*.java"> + </javac> + + <presetdef name="base-rmic"> + <rmic + base="${build.dir}" + verify="true" + includes="**/*.class"/> + </presetdef> + + <presetdef name="rmic-bad-class"> + <rmic + base="${build.dir}" + verify="false" + classname="unimplemented.class" + /> + </presetdef> + + <presetdef name="dest-rmic"> + <rmic + base="${build.dir}" + destdir="${dest.dir}" + verify="true" + includes="**/*.class"/> + </presetdef> + + <macrodef name="assertFileCreated"> + <attribute name="file" /> + <sequential> + <fail>Not found : ${build.dir}/@{file} + <condition> + <not><available file="${build.dir}/@{file}"/></not> + </condition> + </fail> + </sequential> + </macrodef> + + <macrodef name="assertFileCreatedInDest"> + <attribute name="file" /> + <sequential> + <fail>Not found : ${dest.dir}/@{file} + <condition> + <not><available file="${dest.dir}/@{file}"/></not> + </condition> + </fail> + </sequential> + </macrodef> + + <macrodef name="assertFileAbsent"> + <attribute name="file" /> + <sequential> + <fail>Expected to be missing : ${build.dir}/@{file} + <condition> + <available file="${build.dir}/@{file}"/> + </condition> + </fail> + </sequential> + </macrodef> + + <macrodef name="assertFileAbsentInDest"> + <attribute name="file" /> + <sequential> + <fail>Expected to be missing : ${dest.dir}/@{file} + <condition> + <available file="${dest.dir}/@{file}"/> + </condition> + </fail> + </sequential> + </macrodef> + + <macrodef name="assertStubCompiled"> + <sequential> + <assertFileCreated file="RemoteTimestampImpl_Stub.class" /> + </sequential> + </macrodef> + + <macrodef name="assertStubCompiledInDest"> + <sequential> + <assertFileCreatedInDest file="RemoteTimestampImpl_Stub.class" /> + </sequential> + </macrodef> + + <macrodef name="assertSkelCompiled"> + <sequential> + <assertFileCreated file="RemoteTimestampImpl_Skel.class" /> + </sequential> + </macrodef> + + <macrodef name="assertSkelCompiledInDest"> + <sequential> + <assertFileCreatedInDest file="RemoteTimestampImpl_Skel.class" /> + </sequential> + </macrodef> + + <macrodef name="assertSkelAbsent"> + <sequential> + <assertFileAbsent file="RemoteTimestampImpl_Skel.class" /> + </sequential> + </macrodef> + + <macrodef name="assertSkelAbsentInDest"> + <sequential> + <assertFileAbsentInDest file="RemoteTimestampImpl_Skel.class" /> + </sequential> + </macrodef> + + <macrodef name="assertBaseCompiled"> + <sequential> + <assertStubCompiled /> + <assertSkelCompiled /> + </sequential> + </macrodef> + + <macrodef name="assertBaseCompiledInDest"> + <sequential> + <assertStubCompiledInDest /> + <assertSkelCompiledInDest /> + </sequential> + </macrodef> + + <macrodef name="assertAntStubCompiled"> + <sequential> + <assertFileCreated file="AntTimestamp_Stub.class"/> + </sequential> + </macrodef> + + <macrodef name="assertAntStubCompiledInDest"> + <sequential> + <assertFileCreatedInDest file="AntTimestamp_Stub.class"/> + </sequential> + </macrodef> + + <macrodef name="assertAntSkelCompiled"> + <sequential> + <assertFileCreated file="AntTimestamp_Skel.class"/> + </sequential> + </macrodef> + + <macrodef name="assertAntSkelCompiledInDest"> + <sequential> + <assertFileCreatedInDest file="AntTimestamp_Skel.class"/> + </sequential> + </macrodef> + + <macrodef name="assertAntCompiled"> + <sequential> + <assertAntStubCompiled /> + <assertAntSkelCompiled /> + </sequential> + </macrodef> + + <macrodef name="assertAntCompiledInDest"> + <sequential> + <assertAntStubCompiledInDest /> + <assertAntSkelCompiledInDest /> + </sequential> + </macrodef> + + </target> + + <target name="probe-rmic"> + <available property="kaffe.present" classname="jkaffe.rmi.rmic.RMIC"/> + <available property="rmic.present" classname="sun.rmi.rmic.Main"/> + <available property="wlrmic.present" classname="weblogic.rmic"/> + <condition property="rmic5.present"> + <and> + <isset property="rmic.present"/> + <available classname="java.net.Proxy"/> + </and> + </condition> + <condition property="rmic6.present"> + <and> + <isset property="rmic.present"/> + <available classname="java.util.ServiceLoader"/> + </and> + </condition> + </target> + + <target name="testDefault" depends="init"> + <base-rmic compiler="default" listfiles="true"/> + <assertBaseCompiled/> + </target> + + <target name="testDefaultDest" depends="init"> + <dest-rmic compiler="default"/> + <assertBaseCompiledInDest/> + </target> + + <target name="testEmpty" depends="init"> + <base-rmic compiler=""/> + <assertBaseCompiled/> + </target> + + <target name="testEmptyDest" depends="init"> + <dest-rmic compiler=""/> + <assertBaseCompiledInDest/> + </target> + + <target name="testVersion11" depends="init"> + <base-rmic compiler="default" stubversion="1.1" /> + <assertBaseCompiled/> + </target> + + <target name="testVersion11Dest" depends="init"> + <dest-rmic compiler="default" stubversion="1.1" /> + <assertBaseCompiledInDest/> + </target> + + <target name="testVersion12" depends="init"> + <base-rmic compiler="default" stubversion="1.2" /> + <assertStubCompiled/> + <assertSkelAbsent/> + </target> + + <target name="testVersion12Dest" depends="init"> + <dest-rmic compiler="default" stubversion="1.2" /> + <assertStubCompiledInDest/> + <assertSkelAbsentInDest/> + </target> + + <target name="testVersionCompat" depends="init"> + <base-rmic compiler="default" stubversion="compat" /> + <assertBaseCompiled/> + </target> + + <target name="testVersionCompatDest" depends="init"> + <dest-rmic compiler="default" stubversion="compat" /> + <assertBaseCompiledInDest/> + </target> + + <target name="testRmic" if="rmic.present" depends="init"> + <base-rmic compiler="sun"/> + <assertBaseCompiled/> + </target> + + <target name="testRmicDest" if="rmic.present" depends="init"> + <dest-rmic compiler="sun"/> + <assertBaseCompiledInDest/> + </target> + + <target name="testRmicJArg" if="rmic.present" depends="init"> + <base-rmic compiler="sun"> + <compilerarg value="-J-mx256m" /> + </base-rmic> + <assertBaseCompiled/> + </target> + + <target name="testRmicJArgDest" if="rmic.present" depends="init"> + <dest-rmic compiler="sun"> + <compilerarg value="-J-mx256m" /> + </dest-rmic> + <assertBaseCompiledInDest/> + </target> + + <target name="testKaffe" if="kaffe.present" depends="init"> + <base-rmic + compiler="kaffe" + /> + <assertBaseCompiled/> + </target> + + <target name="testKaffeDest" if="kaffe.present" depends="init"> + <dest-rmic + compiler="kaffe" + /> + <assertBaseCompiledInDest/> + </target> + +<!-- weblogic.rmic doesn't work without a global CLASSPATH + <target name="testWlrmic" if="wlrmic.present" depends="init"> + <base-rmic + compiler="weblogic" + /> + </target> + + <target name="testWlrmicJArg" if="wlrmic.present" depends="init"> + <base-rmic + compiler="weblogic" + > + <compilerarg value="-J-mx256m" /> + </base-rmic> + </target> +--> + <target name="testForking" if="rmic.present" depends="init"> + <base-rmic + compiler="forking" + /> + <assertBaseCompiled/> + </target> + + <target name="testBadName" if="rmic.present" depends="init"> + <base-rmic + compiler="no-such-compiler" + /> + </target> + + <target name="testExplicitClass" if="rmic.present" depends="init"> + <base-rmic + compiler="org.apache.tools.ant.taskdefs.rmic.SunRmic" + /> + <assertBaseCompiled/> + </target> + + <target name="testWrongClass" if="rmic.present" depends="init"> + <base-rmic + compiler="org.apache.tools.ant.BuildException" + /> + </target> + + <target name="testNoBase" depends="init"> + <rmic + verify="true" + includes="**/*.class"/> + </target> + + <target name="testBaseDoesntExist" depends="init"> + <rmic + base="${build.dir}/classes" + verify="true" + includes="**/*.class"/> + </target> + + <target name="testBaseIsntDir" depends="init"> + <rmic + base="${ant.file}" + verify="true" + includes="**/*.class"/> + </target> + + <target name="testFailingAdapter" depends="init"> + <base-rmic + compiler="org.apache.tools.ant.taskdefs.rmic.RmicAdvancedTest$FailingRmicAdapter" + /> + </target> + + <target name="compileAntTimestamp" depends="init"> + <javac + destdir="${build.dir}" + srcdir="${src.dir}" + includes="Ant*.java"> + </javac> + </target> + + <target name="testAntClasspath" depends="compileAntTimestamp"> + <base-rmic + compiler="default" + /> + <assertAntCompiled/> + </target> + + <target name="testAntClasspathDest" depends="compileAntTimestamp"> + <dest-rmic + compiler="default" + /> + <assertAntCompiledInDest/> + </target> + + <target name="testForkingAntClasspath" if="rmic.present" depends="compileAntTimestamp"> + <base-rmic + compiler="forking" + /> + <assertAntCompiled /> + </target> + + <target name="testForkingAntClasspathDest" if="rmic.present" depends="compileAntTimestamp"> + <dest-rmic + compiler="forking" + /> + <assertAntCompiledInDest /> + </target> + + <target name="testDefaultBadClass" depends="init"> + <rmic-bad-class compiler="default"/> + </target> + + <target name="testMagicProperty" depends="init"> + <property name="build.rmic" value="no-such-adapter"/> + <base-rmic + /> + </target> + + <target name="testMagicPropertyOverridesEmptyString" depends="init"> + <property name="build.rmic" value="no-such-adapter"/> + <base-rmic compiler="" + /> + </target> + + <target name="testMagicPropertyIsEmptyString" depends="init"> + <property name="build.rmic" value=""/> + <base-rmic /> + <assertBaseCompiled/> + </target> + + <!-- + This test stamps on the XML parser settings on java6, so it is disabled. + --> + <target name="testXnew" if="rmic5.present" unless="rmic6.present" depends="init"> + <base-rmic compiler="sun"> + <compilerarg value="-Xnew"/> + </base-rmic> + <assertBaseCompiled/> + </target> + + <target name="testXnewDest" if="rmic5.present" unless="rmic6.present" depends="init"> + <dest-rmic compiler="sun"> + <compilerarg value="-Xnew"/> + </dest-rmic> + <assertBaseCompiledInDest/> + </target> + + <target name="testXnewForked" if="rmic5.present" depends="init"> + <base-rmic compiler="forking"> + <compilerarg value="-Xnew"/> + </base-rmic> + <assertBaseCompiled/> + </target> + + <target name="testXnewForkedDest" if="rmic5.present" depends="init"> + <dest-rmic compiler="forking"> + <compilerarg value="-Xnew"/> + </dest-rmic> + <assertBaseCompiledInDest/> + </target> + + <target name="testXnewCompiler" if="rmic5.present" depends="init"> + <base-rmic compiler="xnew"> + </base-rmic> + <assertBaseCompiled/> + </target> + + <target name="testXnewCompilerDest" if="rmic5.present" depends="init"> + <dest-rmic compiler="xnew"> + </dest-rmic> + <assertBaseCompiledInDest/> + </target> + + <target name="testIDL" depends="init"> + <base-rmic compiler="default" idl="true"/> + <assertFileCreated file="RemoteTimestamp.idl"/> + </target> + + <target name="testIDLDest" depends="init"> + <dest-rmic compiler="default" idl="true"/> + <assertFileCreatedInDest file="RemoteTimestamp.idl"/> + </target> + + <target name="testIIOP" depends="init"> + <base-rmic compiler="default" iiop="true"/> + <assertFileCreated file="_RemoteTimestamp_Stub.class"/> + <assertFileCreated file="_RemoteTimestampImpl_Tie.class"/> + </target> + + <target name="testIIOPDest" depends="init"> + <dest-rmic compiler="default" iiop="true"/> + <assertFileCreatedInDest file="_RemoteTimestamp_Stub.class"/> + <assertFileCreatedInDest file="_RemoteTimestampImpl_Tie.class"/> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/rmic/src/AntTimestamp.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/rmic/src/AntTimestamp.java new file mode 100644 index 00000000..d9ba7854 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/rmic/src/AntTimestamp.java @@ -0,0 +1,45 @@ +/* + * 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. + */ +import java.rmi.Remote; +import java.rmi.RemoteException; +import java.util.Calendar; + +import org.apache.tools.ant.BuildException; +import org.apache.tools.ant.util.DateUtils; + + +/** + * This class imports a dependency on the Ant runtime classes, + * so tests that classpath setup include them + */ +public class AntTimestamp implements RemoteTimestamp { + + + /** + * return the phase of the moon. + * Note the completely different semantics of the other implementation, + * which goes to show why signature is an inadequate way of verifying + * how well an interface is implemented. + * + * @return + * @throws RemoteException + */ + public long when() throws RemoteException { + Calendar cal=Calendar.getInstance(); + return DateUtils.getPhaseOfMoon(cal); + } +} diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/rmic/src/RemoteTimestamp.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/rmic/src/RemoteTimestamp.java new file mode 100644 index 00000000..1834e4a1 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/rmic/src/RemoteTimestamp.java @@ -0,0 +1,26 @@ +/* + * 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. + */ +import java.rmi.Remote; +import java.rmi.RemoteException; + +/** + * this is the interface we remote + */ +public interface RemoteTimestamp extends Remote { + long when() throws RemoteException ; +} + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/rmic/src/RemoteTimestampImpl.java b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/rmic/src/RemoteTimestampImpl.java new file mode 100644 index 00000000..f361452e --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/rmic/src/RemoteTimestampImpl.java @@ -0,0 +1,28 @@ +/* + * 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. + */ +import java.rmi.Remote; +import java.rmi.RemoteException; + +/** + * this is the implementation + */ +public class RemoteTimestampImpl implements RemoteTimestamp { + + public long when() throws RemoteException { + return System.currentTimeMillis(); + } +} diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/signjar.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/signjar.xml new file mode 100644 index 00000000..38a13592 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/signjar.xml @@ -0,0 +1,97 @@ +<?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="signjartest" default="help" basedir=".."> + + <import file="../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}" /> + <property name="subdir" location="${output}/subdir" /> + <property name="classes.dir" value="../../../build/classes"/> + <property name="test.jar" location="${output}/signtest.jar" /> + <property name="subdirtest.jar" location="${subdir}/signtest.jar" /> + + </target> + + + <macrodef name="assertSigned"> + <attribute name="jar" default="${test.jar}" /> + <sequential> + <fail message="not signed: @{jar}" > + <condition> + <not><issigned file="@{jar}" /></not> + </condition> + </fail> + </sequential> + </macrodef> + + <presetdef name="sign-base"> + <signjar alias="testonly" keystore="testkeystore" + storepass="apacheant"/> + </presetdef> + + <presetdef name="verify-base"> + <verifyjar keystore="testkeystore" + storepass="apacheant"/> + </presetdef> + + <presetdef name="sign"> + <sign-base jar="${test.jar}" /> + </presetdef> + + <target name="jar" depends="setUp"> + <jar jarfile="${test.jar}" basedir="${classes.dir}" includes="**/Task.class"/> + </target> + + <target name="help"> + <echo>This build is for use with Ant's test cases</echo> + </target> + + <target name="basic" depends="jar"> + <sign /> + <assertSigned/> + </target> + + <target name="sigfile" depends="jar"> + <sign sigfile="TEST"/> + <assertSigned/> + </target> + + <target name="invalidchars" depends="jar"> + <sign alias="test@nly"/> + <assertSigned/> + </target> + + <target name="urlKeystoreFile" depends="jar"> + <sign keystore="file://../testkeystore" + maxmemory="128m"/> + <assertSigned/> + </target> + + <target name="urlKeystoreHTTP" depends="jar"> + <sign + keystore="http://ant.apache.org/webtest/testkeystore" + /> + <assertSigned/> + </target> + + <target name="testTsaLocalhost" depends="jar"> + <sign tsaurl="http://localhost:0/" /> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/skinconfig.dtd b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/skinconfig.dtd new file mode 100644 index 00000000..ba1b4de6 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/skinconfig.dtd @@ -0,0 +1,19 @@ +<!-- + 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. +--> +<!ELEMENT skinconfig (foo, bar?)> +<!ELEMENT foo (#PCDATA)> +<!ELEMENT bar (#PCDATA)> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/sleep.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/sleep.xml new file mode 100644 index 00000000..e1613227 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/sleep.xml @@ -0,0 +1,47 @@ +<?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="sleeptest" default="all" > + + <target name="test1"> + <sleep /> + </target> + + <target name="test2"> + <sleep milliseconds="10"/> + </target> + + <target name="test3"> + <sleep seconds="2"/> + </target> + + <target name="test4"> + <sleep hours="1" minutes="-59" seconds="-58"/> + </target> + + <target name="test5"> + <sleep minutes="-59" seconds="-58"/> + </target> + + <target name="test6"> + <sleep minutes="-59" seconds="-58" failonerror="no"/> + </target> + + <target name="all" + depends="test1,test2,test3,test4,test5" /> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/style/build.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/style/build.xml new file mode 100644 index 00000000..c91d10f6 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/style/build.xml @@ -0,0 +1,197 @@ +<?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="xslt-test" basedir="." default="tearDown"> + + <import file="../../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}" /> + </target> + + + <target name="testStyleIsSet"> + <xslt in="data.xml" out="${output}/out.xml"/> + </target> + + <target name="testTransferParameterSet"> + <property name="value" value="myvalue"/> + <xslt in="data.xml" out="${output}/out.xml" style="printParams.xsl"> + <param name="set" expression="${value}"/> + </xslt> + </target> + + <target name="testTransferParameterEmpty"> + <property name="value" value=""/> + <xslt in="data.xml" out="${output}/out.xml" style="printParams.xsl"> + <param name="empty" expression="${value}"/> + </xslt> + </target> + + <target name="testTransferParameterUnset"> + <xslt in="data.xml" out="${output}/out.xml" style="printParams.xsl"> + <param name="undefined" expression="${value}"/> + </xslt> + </target> + + <target name="testTransferParameterUnsetWithIf"> + <xslt in="data.xml" out="${output}/out.xml" style="printParams.xsl"> + <param name="undefined" expression="${value}" if="value" /> + </xslt> + </target> + + <target name="testDefaultMapper"> + <property name="value" value="myvalue"/> + <xslt style="printParams.xsl" destDir="${output}" basedir="."> + <param name="set" expression="${value}"/> + </xslt> + </target> + + <target name="testCustomMapper"> + <property name="value" value="myvalue"/> + <xslt style="printParams.xsl" destDir="${output}" basedir="."> + <param name="set" expression="${value}"/> + <mapper type="glob" from="data.*" to="out.*"/> + </xslt> + </target> + + <target name="testTypedMapper"> + <property name="value" value="myvalue"/> + <xslt style="printParams.xsl" destDir="${output}" basedir="."> + <param name="set" expression="${value}"/> + <globmapper from="data.*" to="out.*"/> + </xslt> + </target> + + <target name="testExplicitFileset"> + <property name="value" value="myvalue"/> + <xslt style="printParams.xsl" destDir="${output}" + useImplicitFileset="false" basedir=".."> + <param name="set" expression="${value}"/> + <fileset dir="."/> + </xslt> + </target> + + <target name="testNewerStylesheet"> + <antcall target="copyXsl"> + <param name="xsl.value" value="old-value"/> + </antcall> + <xslt in="data.xml" out="${output}/out.xml" style="tmp.xsl"/> + + <antcall target="copyXsl"> + <param name="xsl.value" value="new-value"/> + </antcall> + <xslt in="data.xml" out="${output}/out.xml" style="tmp.xsl"/> + <delete file="tmp.xsl"/> + </target> + + <target name="testDirectoryHierarchyWithDirMatching"> + <mkdir dir="${output}/src/level1/"/> + <copy file="data.xml" todir="${output}/src/level1/"/> + <xslt basedir="${output}/src" destdir="${output}/dest" + style="printParams.xsl"/> + </target> + + <target name="testDirsWithSpaces"> + <mkdir dir="${output}/s rc/"/> + <copy file="data.xml" todir="${output}/s rc/"/> + <xslt basedir="${output}/s rc" destdir="${output}/d est" + style="printParams.xsl"/> + </target> + + <target name="copyXsl" if="xsl.value"> + <copy file="testNewerStylesheet.xsl" tofile="tmp.xsl" overwrite="true"> + <filterchain><expandproperties/></filterchain> + </copy> + </target> + + <target name="testWithStyleAttrAndResource"> + <!-- also testing style as resources, with refid --> + <file id="xslFile" file="printParams.xsl"/> + <xslt in="data.xml" out="${output}/out.xml" style="printParams.xsl"> + <style refid="xslFile" /> + </xslt> + </target> + + <target name="testWithFileResource"> + <xslt in="data.xml" out="${output}/out.xml"> + <style> + <file file="printParams.xsl"/> + </style> + <param name="set" expression="value"/> + </xslt> + </target> + + <target name="testWithUrlResource"> + <makeurl file="printParams.xsl" property="printParams.xsl.url"/> + <xslt in="data.xml" out="${output}/out.xml"> + <style> + <url url="${printParams.xsl.url}"/> + </style> + <param name="set" expression="value"/> + </xslt> + </target> + + <target name="testFilenameAndFiledirAsParam"> + <mkdir dir="${output}/xml/dir"/> + <copy file="data.xml" tofile="${output}/xml/one.xml"/> + <copy file="data.xml" tofile="${output}/xml/two.xml"/> + <copy file="data.xml" tofile="${output}/xml/three.xml"/> + <copy file="data.xml" tofile="${output}/xml/dir/four.xml"/> + <xslt style="printFilename.xsl" + destdir="${output}" + basedir="${output}/xml" + includes="**/*.xml" + extension=".txt" + + filenameparameter="filename" + filedirparameter="filedir" + /> + </target> + + <target name="testFilenameAsParam"> + <mkdir dir="${output}/xml/dir"/> + <copy file="data.xml" tofile="${output}/xml/one.xml"/> + <copy file="data.xml" tofile="${output}/xml/two.xml"/> + <copy file="data.xml" tofile="${output}/xml/three.xml"/> + <copy file="data.xml" tofile="${output}/xml/dir/four.xml"/> + <xslt style="printFilename.xsl" + destdir="${output}" + basedir="${output}/xml" + includes="**/*.xml" + extension=".txt" + + filenameparameter="filename" + /> + </target> + + <target name="testFilenameAsParamNoSetting"> + <mkdir dir="${output}/xml/dir"/> + <copy file="data.xml" tofile="${output}/xml/one.xml"/> + <copy file="data.xml" tofile="${output}/xml/two.xml"/> + <copy file="data.xml" tofile="${output}/xml/three.xml"/> + <copy file="data.xml" tofile="${output}/xml/dir/four.xml"/> + <xslt style="printFilename.xsl" + destdir="${output}" + basedir="${output}/xml" + includes="**/*.xml" + extension=".txt" + /> <!-- without 'filenameparameter' to check, that the xsl:param is NOT set --> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/style/data.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/style/data.xml new file mode 100644 index 00000000..21e2397f --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/style/data.xml @@ -0,0 +1,18 @@ +<?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. +--> +<data/>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/style/printFilename.xsl b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/style/printFilename.xsl new file mode 100644 index 00000000..eb2cbc7d --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/style/printFilename.xsl @@ -0,0 +1,38 @@ +<?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. +--> + +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <xsl:output indent="no" method="text"/> + <xsl:strip-space elements="*"/> + + <xsl:param name="filename">-not-set-</xsl:param> + <xsl:param name="filedir">-not-set-</xsl:param> + +<!-- use the xsl-parameter --> +<xsl:template match="/"> + filename='<xsl:value-of select="$filename"/>' + filedir ='<xsl:value-of select="$filedir"/>' +</xsl:template> + +<!-- delete the raw xml data --> +<xsl:template match="*"/> + +</xsl:stylesheet> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/style/printParams.xsl b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/style/printParams.xsl new file mode 100644 index 00000000..110e49ce --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/style/printParams.xsl @@ -0,0 +1,36 @@ +<?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. +--> + +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:fo="http://www.w3.org/1999/XSL/Format"> + +<!-- get the xsl-parameter --> +<xsl:param name="set">set default value</xsl:param> +<xsl:param name="empty">empty default value</xsl:param> +<xsl:param name="undefined">undefined default value</xsl:param> + +<!-- use the xsl-parameter --> +<xsl:template match="/"> +set='<xsl:value-of select="$set"/>' +empty='<xsl:value-of select="$empty"/>' +undefined='<xsl:value-of select="$undefined"/>' +</xsl:template> + +</xsl:stylesheet> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/style/testNewerStylesheet.xsl b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/style/testNewerStylesheet.xsl new file mode 100644 index 00000000..dff81209 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/style/testNewerStylesheet.xsl @@ -0,0 +1,28 @@ +<?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. +--> +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + +<xsl:output method="text"/> + +<xsl:template match="/"> +${xsl.value} +</xsl:template> + +</xsl:stylesheet> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/subant.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/subant.xml new file mode 100644 index 00000000..7db547a3 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/subant.xml @@ -0,0 +1,65 @@ +<?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="subant-test" basedir="." default="testgenericantfile"> + <target name="testnodirs" depends="tearDown"> + <subant genericantfile="subant/genericsubant.xml"> + <dirset dir="." includes="subant-test*"/> + </subant> + </target> + + <target name="testgenericantfile"> + <subant genericantfile="subant/genericsubant.xml"> + <dirset dir="subant" includes="subant-test*"/> + </subant> + </target> + + <target name="testantfile"> + <subant antfile="mysubant.xml"> + <dirset dir="." includes="subant/subant-test*"/> + </subant> + </target> + + <target name="multipleTargets"> + <subant antfile="mysubant.xml"> + <dirset dir="." includes="subant/subant-test*"/> + <target name="one"/> + <target name="two"/> + </subant> + </target> + + <target name="multipleTargetsOneDoesntExist_FOEfalse"> + <subant antfile="mysubant.xml" failonerror="false"> + <dirset dir="." includes="subant/subant-test*"/> + <target name="one"/> + <target name="three"/> + </subant> + </target> + + <target name="multipleTargetsOneDoesntExist_FOEtrue"> + <subant antfile="mysubant.xml" failonerror="true"> + <dirset dir="." includes="subant/subant-test*"/> + <target name="one"/> + <target name="three"/> + </subant> + </target> + + <target name="tearDown"> + <!-- nothing to do --> + </target> +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/subant/genericsubant.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/subant/genericsubant.xml new file mode 100644 index 00000000..c5bfbe2c --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/subant/genericsubant.xml @@ -0,0 +1,22 @@ +<?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="genericsubant" basedir=".." default="mysubant"> + <target name="mysubant"> + <echo message="${basedir}"/> + </target> +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/subant/subant-test1/mysubant.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/subant/subant-test1/mysubant.xml new file mode 100644 index 00000000..ecc62883 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/subant/subant-test1/mysubant.xml @@ -0,0 +1,31 @@ +<?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="mysubant" basedir="." default="mysubant"> + <target name="mysubant"> + <echo message="${basedir}"/> + </target> + <target name="one"> + <echo message="test1-one"/> + </target> + <target name="two"> + <echo message="test1-two"/> + </target> + <target name="three"> + <echo message="test1-three"/> + </target> +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/subant/subant-test2/mysubant.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/subant/subant-test2/mysubant.xml new file mode 100644 index 00000000..5ee875fe --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/subant/subant-test2/mysubant.xml @@ -0,0 +1,28 @@ +<?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="subant" basedir=".." default="mysubant"> + <target name="mysubant"> + <echo message="${basedir}"/> + </target> + <target name="one"> + <echo message="test2-one"/> + </target> + <target name="two"> + <echo message="test2-two"/> + </target> +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/sync.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/sync.xml new file mode 100644 index 00000000..d2eb126e --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/sync.xml @@ -0,0 +1,141 @@ +<?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="sync-test" default="not-me"> + <import file="../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}" /> + <property name="src" location="${output}/source"/> + <property name="dest" location="${output}/target"/> + <mkdir dir="${src}"/> + <mkdir dir="${dest}"/> + </target> + + <target name="not-me"> + <fail>This file must be used from a test case</fail> + </target> + + <target name="simplecopy" depends="setUp"> + <mkdir dir="${src}/a/b/c"/> + <touch file="${src}/a/b/c/d"/> + <sync todir="${dest}"> + <fileset dir="${src}"/> + </sync> + </target> + + <target name="copyandremove" depends="setUp"> + <mkdir dir="${src}/a/b/c"/> + <touch file="${src}/a/b/c/d"/> + <mkdir dir="${dest}/e"/> + <touch file="${dest}/e/f"/> + <sync todir="${dest}"> + <fileset dir="${src}"/> + </sync> + </target> + + <target name="copyandremove-with-filelist" depends="setUp"> + <mkdir dir="${src}/a/b/c"/> + <touch file="${src}/a/b/c/d"/> + <mkdir dir="${dest}/e"/> + <touch file="${dest}/e/f"/> + <sync todir="${dest}"> + <filelist dir="${src}"> + <file name="a/b/c/d"/> + <file name="not-there"/> + </filelist> + </sync> + </target> + + <target name="copyandremove-with-zipfileset" depends="setUp"> + <mkdir dir="${src}/a/b/c"/> + <touch file="${src}/a/b/c/d"/> + <mkdir dir="${dest}/e"/> + <touch file="${dest}/e/f"/> + <zip destfile="${src}/test.zip"> + <fileset dir="${src}" excludes="*.zip"/> + </zip> + <sync todir="${dest}"> + <zipfileset src="${src}/test.zip"/> + </sync> + </target> + + <target name="copyandremove-emptypreserve" depends="setUp"> + <mkdir dir="${src}/a/b/c"/> + <touch file="${src}/a/b/c/d"/> + <mkdir dir="${dest}/e"/> + <touch file="${dest}/e/f"/> + <sync todir="${dest}"> + <fileset dir="${src}"/> + <preserveintarget/> + </sync> + </target> + + <target name="emptycopy" depends="setUp"> + <mkdir dir="${src}/a/b/c"/> + <touch file="${src}/a/b/c/d"/> + <sync todir="${dest}"> + <fileset dir="${src}" excludes="**/d"/> + </sync> + </target> + + <target name="emptydircopy" depends="setUp"> + <mkdir dir="${src}/a/b/c"/> + <touch file="${src}/a/b/c/d"/> + <sync todir="${dest}" + includeemptydirs="true"> + <fileset dir="${src}" excludes="**/d"/> + </sync> + </target> + + <target name="emptydircopyandremove" depends="setUp"> + <mkdir dir="${src}/a/b/c"/> + <touch file="${src}/a/b/c/d"/> + <mkdir dir="${dest}/e/f"/> + <sync todir="${dest}" + includeemptydirs="true"> + <fileset dir="${src}" excludes="**/d"/> + </sync> + </target> + + <target name="copynoremove" depends="setUp"> + <mkdir dir="${src}/a/b/c"/> + <touch file="${src}/a/b/c/d"/> + <mkdir dir="${dest}/e"/> + <touch file="${dest}/e/f"/> + <sync todir="${dest}"> + <fileset dir="${src}"/> + <preserveintarget> + <include name="e/f"/> + </preserveintarget> + </sync> + </target> + + <target name="copynoremove-selectors" depends="setUp"> + <mkdir dir="${src}/a/b/c"/> + <touch file="${src}/a/b/c/d"/> + <mkdir dir="${dest}/e"/> + <touch file="${dest}/e/f"/> + <sync todir="${dest}"> + <fileset dir="${src}"/> + <preserveintarget> + <filename name="e/f"/> + </preserveintarget> + </sync> + </target> + +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/tar.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/tar.xml new file mode 100644 index 00000000..2eda0b54 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/tar.xml @@ -0,0 +1,200 @@ +<?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="tar-test" basedir="." default="test1"> + + <import file="../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}"/> + <mkdir dir="${output}/untar"/> + </target> + + <target name="test1"> + <tar/> + </target> + + <target name="test2"> + <tar tarfile=""/> + </target> + + <target name="test3"> + <tar basedir=""/> + </target> + + <target name="test4"> + <touch file="${output}/test4.tar"/> + <tar destfile="${output}/test4.tar" + basedir="${output}"/> + </target> + + <target name="test5"> + <mkdir dir="${output}/test5dir"/> + <tar destfile="${output}/test5.tar" + basedir="${output}" + includes="test5dir"/> + </target> + + <target name="test6"> + <tar destfile="${output}/blah" longfile="Foo"/> + </target> + + <target name="test7"> + <copy todir="${output}"> + <fileset dir="."/> + </copy> + <mkdir dir="${output}/test7dir"/> + <tar destfile="${output}/test7.tar"> + <tarfileset dir="${output}" prefix="test7-prefix/"> + <include name="test7dir"/> + </tarfileset> + <tarfileset dir="${output}" prefix=""> + <include name="test7dir"/> + </tarfileset> + </tar> + <untar src="${output}/test7.tar" dest="${output}/untar"/> + </target> + + <target name="test7UsingPlainFileSet"> + <copy todir="${output}"> + <fileset dir="."/> + </copy> + <mkdir dir="${output}/test7dir"/> + <tar destfile="${output}/test7.tar"> + <tarfileset dir="${output}" prefix="test7-prefix/"> + <include name="test7dir"/> + </tarfileset> + <fileset dir="${output}"> + <include name="test7dir"/> + </fileset> + </tar> + <untar src="${output}/test7.tar" dest="${output}/untar"/> + </target> + + <target name="test7UsingFileList"> + <copy todir="${output}"> + <fileset dir="."/> + </copy> + <mkdir dir="${output}/test7dir"/> + <tar destfile="${output}/test7.tar"> + <tarfileset dir="${output}" prefix="test7-prefix/"> + <include name="test7dir"/> + </tarfileset> + <filelist dir="${output}"> + <file name="test7dir"/> + </filelist> + </tar> + <untar src="${output}/test7.tar" dest="${output}/untar"/> + </target> + + <target name="test8"> + <tar destfile="${output}/test8.tar"> + <tarfileset dir="." fullpath="/test8.xml"> + <include name="tar.xml"/> + </tarfileset> + </tar> + <untar src="${output}/test8.tar" dest="${output}/untar"/> + </target> + + <target name="test8UsingZipFileset"> + <tar destfile="${output}/test8.tar"> + <zipfileset dir="." fullpath="/test8.xml"> + <include name="tar.xml"/> + </zipfileset> + </tar> + <untar src="${output}/test8.tar" dest="${output}/untar"/> + </target> + + <target name="test8UsingZipFilesetSrc"> + <zip destfile="${output}/test7.tar" basedir="." includes="tar.xml"/> + <tar destfile="${output}/test8.tar"> + <zipfileset src="${output}/test7.tar" fullpath="/test8.xml"> + <include name="tar.xml"/> + </zipfileset> + </tar> + <untar src="${output}/test8.tar" dest="${output}/untar"/> + </target> + + <target name="test8UsingTarFilesetSrc"> + <tar destfile="${output}/test7.tar" basedir="." includes="tar.xml"/> + <tar destfile="${output}/test8.tar"> + <tarfileset src="${output}/test7.tar" fullpath="/test8.xml"> + <include name="tar.xml"/> + </tarfileset> + </tar> + <untar src="${output}/test8.tar" dest="${output}/untar"/> + </target> + + <target name="test8UsingZipEntry"> + <zip destfile="${output}/test7.tar"> + <zipfileset dir="." includes="tar.xml" fullpath="/test8.xml"/> + </zip> + <tar destfile="${output}/test8.tar"> + <zipentry archive="${output}/test7.tar" name="/test8.xml"/> + </tar> + <untar src="${output}/test8.tar" dest="${output}/untar"/> + </target> + + <target name="test9"> + <tar destfile="${output}/blah" compression="Foo"/> + </target> + + <target name="test10"> + <tar destfile="${output}/test10.tar.gz" compression="gzip"> + <tarfileset dir="." fullpath="/test10.xml"> + <include name="tar.xml"/> + </tarfileset> + </tar> + <untar src="${output}/test10.tar.gz" dest="${output}/untar" compression="gzip"/> + </target> + + <target name="test11"> + <tar destfile="${output}/test11.tar.bz2" compression="bzip2"> + <tarfileset dir="." fullpath="/test11.xml"> + <include name="tar.xml"/> + </tarfileset> + </tar> + <untar src="${output}/test11.tar.bz2" dest="${output}/untar" compression="bzip2"/> + </target> + + + <target name="feather"> + <tar destfile="${output}/asf-logo.gif.tar" + basedir=".." + includes="asf-logo.gif" /> + <tar destfile="${output}/asf-logo.gif.tar.gz" + basedir=".." + includes="asf-logo.gif" + compression="gzip"/> + <tar destfile="${output}/asf-logo.gif.tar.bz2" + basedir=".." + includes="asf-logo.gif" + compression="bzip2" /> + </target> + + <target name="testGZipResource"> + <mkdir dir="${output}/testout"/> + <tar destfile="${output}/testout/test.tar"> + <gzipresource> + <file file="expected/asf-logo.gif.gz"/> + </gzipresource> + </tar> + <untar src="${output}/testout/test.tar" dest="${output}/untar"/> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/taskdef.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/taskdef.xml new file mode 100644 index 00000000..4b0658e4 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/taskdef.xml @@ -0,0 +1,89 @@ +<?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="xxx-test" basedir="." default="test1"> + + <path id="testclasses"> + <pathelement location="../../../../build/testcases" /> + <pathelement path="${java.class.path}" /> + </path> + + <taskdef name="global" + classname="org.example.tasks.TaskdefTestContainerTask"> + <classpath refid="testclasses" /> + </taskdef> + + <target name="test1"> + <taskdef/> + </target> + + <target name="test2"> + <taskdef name=""/> + </target> + + <target name="test3"> + <taskdef classname=""/> + </target> + + <target name="test4"> + <taskdef name="" classname="oops"/> + </target> + + <target name="test5"> + <taskdef name="test" classname="org.apache.tools.ant.Project" /> + </target> + + <target name="test5a"> + <taskdef name="test" classname="org.apache.tools.ant.taskdefs.Copy" /> + </target> + + <target name="test6"> + <taskdef name="test6" + classname="org.example.tasks.TaskdefTestSimpleTask"> + <classpath refid="testclasses" /> + </taskdef> + <test6> + <echo message="worked" /> + </test6> + </target> + + <target name="test7"> + <taskdef name="test7" + classname="org.example.tasks.TaskdefTestContainerTask"> + <classpath refid="testclasses" /> + </taskdef> + <test7> + <echo message="worked" /> + </test7> + </target> + + <target name="testGlobal"> + <global> + <echo message="worked" /> + </global> + </target> + + <target name="testOverride"> + <taskdef name="copy" classname="org.apache.tools.ant.taskdefs.Echo" /> + <copy>In target</copy> + <sequential> + <copy>In TaskContainer</copy> + </sequential> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/template.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/template.xml new file mode 100644 index 00000000..9f351c73 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/template.xml @@ -0,0 +1,17 @@ +<?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. +--> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/test.antlib.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/test.antlib.xml new file mode 100644 index 00000000..37ff7f8e --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/test.antlib.xml @@ -0,0 +1,22 @@ +<?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. +--> +<antlib> + <typedef + name="mytask" onerror="ignore" + classname="org.apache.tools.ant.taskdefs.AntlibTest$MyTask"/> +</antlib> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/test2.antlib.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/test2.antlib.xml new file mode 100644 index 00000000..9a2509ec --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/test2.antlib.xml @@ -0,0 +1,22 @@ +<?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. +--> +<antlib> + <typedef + name="mytask2" onerror="ignore" + classname="org.apache.tools.ant.taskdefs.AntlibTest$MyTask2"/> +</antlib> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/toplevelant.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/toplevelant.xml new file mode 100644 index 00000000..e6b466a6 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/toplevelant.xml @@ -0,0 +1,24 @@ +<?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="ant-test" basedir="." default="bar"> + <ant antfile="toplevelant.xml" target="foo"/> + + <target name="foo"/> + <target name="bar"/> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/toplevelantcall.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/toplevelantcall.xml new file mode 100644 index 00000000..2ccabe7f --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/toplevelantcall.xml @@ -0,0 +1,24 @@ +<?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="ant-test" basedir="." default="bar"> + <antcall target="foo"/> + + <target name="foo"/> + <target name="bar"/> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/toplevelsubant.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/toplevelsubant.xml new file mode 100644 index 00000000..b7a3a351 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/toplevelsubant.xml @@ -0,0 +1,26 @@ +<?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="ant-test" basedir="." default="bar"> + <subant target="foo"> + <fileset dir="." includes="toplevelsubant.xml"/> + </subant> + + <target name="foo"/> + <target name="bar"/> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/touch.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/touch.xml new file mode 100644 index 00000000..3b426d90 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/touch.xml @@ -0,0 +1,216 @@ +<?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="cleanup" basedir="."> + + <property name="mappermillis" value="1072224000000" /> + + <selector id="map.selector"> + <date millis="${mappermillis}" /> + </selector> + + <target name="cleanup"> + <delete> + <fileset dir="." includes="touchtest*" /> + </delete> + </target> + + <target name="noSeconds"> + <touch file="touchtest" datetime="06/24/2003 2:20 pm"/> + </target> + + <target name="seconds"> + <touch file="touchtest" datetime="06/24/2003 2:20:12 pm"/> + </target> + + <target name="testNow"> + <touch file="touchtest" /> + </target> + + <target name="testMillis"> + <!-- this one is about 21 years after the epoch --> + <!-- less than 20 years after the epoch, test does not pass on my Win2K/FAT --> + <!-- Antoine February 8, 2004 --> + <!-- see http://developer.java.sun.com/developer/bugParade/bugs/4177432.html --> + <!-- and http://developer.java.sun.com/developer/bugParade/bugs/4697792.html --> + <!-- not sure why --> + <touch file="touchtest" millis="662256000000" /> + </target> + + <target name="test2000"> + <!-- this number of milliseconds is 30 * 365 * 24 * 3600 * 1000 --> + <!-- so the corresponding time is at the end of 1999 --> + <touch file="touchtest" millis="946080000000" /> + </target> + + <target name="testFilelist"> + <touch millis="662256000000" > + <filelist dir="." files="touchtest"/> + </touch> + </target> + + <target name="testFileset" depends="testNow"> + <touch millis="946080000000" > + <fileset dir="." includes="touchtest"/> + </touch> + </target> + + <target name="testResourceCollection"> + <touch millis="1662256000000"> + <file file="touchtest"/> + </touch> + </target> + + <target name="testMappedFileset"> + <touch file="touchtest" millis="${mappermillis}" /> + <touch> + <fileset file="touchtest" /> + <compositemapper> + <globmapper from="*" to="*foo" /> + <globmapper from="*" to="*bar" /> + </compositemapper> + </touch> + + <fileset id="touchtest" file="touchtest"> + <selector refid="map.selector" /> + </fileset> + + <fileset id="touchtestfoo" file="touchtestfoo"> + <selector refid="map.selector" /> + </fileset> + + <fileset id="touchtestbar" file="touchtestbar"> + <selector refid="map.selector" /> + </fileset> + + <pathconvert property="touchtest" pathsep=" " + refid="touchtest" setonempty="false" /> + + <pathconvert property="touchtestfoo" pathsep=" " + refid="touchtestfoo" setonempty="false" /> + + <pathconvert property="touchtestbar" pathsep=" " + refid="touchtestbar" setonempty="false" /> + + <fail> + <condition> + <not> + <and> + <isset property="touchtest" /> + <isset property="touchtestfoo" /> + <isset property="touchtestbar" /> + </and> + </not> + </condition> + </fail> + + </target> + + <target name="testExplicitMappedFileset"> + <touch file="touchtest" millis="${mappermillis}" /> + <touch> + <fileset file="touchtest" /> + <mapper> + <compositemapper> + <globmapper from="*" to="*foo" /> + <globmapper from="*" to="*bar" /> + </compositemapper> + </mapper> + </touch> + + <fileset id="touchtest" file="touchtest"> + <selector refid="map.selector" /> + </fileset> + + <fileset id="touchtestfoo" file="touchtestfoo"> + <selector refid="map.selector" /> + </fileset> + + <fileset id="touchtestbar" file="touchtestbar"> + <selector refid="map.selector" /> + </fileset> + + <pathconvert property="touchtest" pathsep=" " + refid="touchtest" setonempty="false" /> + + <pathconvert property="touchtestfoo" pathsep=" " + refid="touchtestfoo" setonempty="false" /> + + <pathconvert property="touchtestbar" pathsep=" " + refid="touchtestbar" setonempty="false" /> + + <fail> + <condition> + <not> + <and> + <isset property="touchtest" /> + <isset property="touchtestfoo" /> + <isset property="touchtestbar" /> + </and> + </not> + </condition> + </fail> + + </target> + + <target name="testMappedFilelist"> + <touch millis="${mappermillis}"> + <filelist dir="." files="idonotexist" /> + <mergemapper to="touchtest" /> + </touch> + + <fileset id="touchtest" file="touchtest"> + <selector refid="map.selector" /> + </fileset> + + <pathconvert property="touchtest" pathsep=" " + refid="touchtest" setonempty="false" /> + + <fail> + <condition> + <not> + <isset property="touchtest" /> + </not> + </condition> + </fail> + + </target> + + <target name="testGoodPattern"> + <touch file="touchtest" datetime="06242003142012GMTfoo" pattern="MMddyyyyHHmmssz'foo'" /> + + <fileset id="touchtest" file="touchtest"> + <date millis="1056464412000" /> + </fileset> + + <pathconvert property="touchtest" pathsep=" " + refid="touchtest" setonempty="false" /> + + <fail> + <condition> + <not> + <isset property="touchtest" /> + </not> + </condition> + </fail> + </target> + + <target name="testBadPattern"> + <touch file="touchtest" datetime="06242003142012GMTfoo" pattern="MMddyyyyHHmmssz'bar'" /> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/typeadapter.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/typeadapter.xml new file mode 100644 index 00000000..c2aa70e1 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/typeadapter.xml @@ -0,0 +1,79 @@ +<?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="test" basedir="." default="invalid"> + <property name="testcases.dir" location="../../../../build/testcases"/> + <path id="testclasses"> + <pathelement location="${testcases.dir}" /> + <pathelement path="${java.class.path}" /> + </path> + + <target name="taskadapter"> + <typedef name="myexec" + classname="org.apache.tools.ant.taskdefs.TypeAdapterTest$MyExec" + classpathref="testclasses" + adapter="org.apache.tools.ant.TaskAdapter"/> + <myexec/> + </target> + + <target name="runadapter"> + <typedef + name="myrunnable" + classname="org.apache.tools.ant.taskdefs.TypeAdapterTest$MyRunnable" + classpathref="testclasses" + adapter="org.apache.tools.ant.taskdefs.TypeAdapterTest$RunnableAdapter"/> + <myrunnable/> + </target> + + <target name="runadaptererror"> + <typedef + name="myrunnable" + classname="org.apache.tools.ant.taskdefs.TypeAdapterTest$MyExec" + classpathref="testclasses" + adapter="org.apache.tools.ant.taskdefs.TypeAdapterTest$RunnableAdapter"/> + <myrunnable/> + </target> + + <target name="delay"> + <typedef + name="mytask" + classname="org.apache.tools.ant.taskdefs.TypeAdapterTest$MyTask" + classpathref="testclasses" + onerror="ignore"/> + <mytask/> + </target> + + <target name="onerror.report"> + <typedef + name="mytask" + classname="org.apache.tools.ant.taskdefs.TypeAdapterTest$MyTaskNotPresent" + classpathref="testclasses" + onerror="report"/> + </target> + + <target name="onerror.ignore"> + <typedef + name="mytask" + classname="org.apache.tools.ant.taskdefs.TypeAdapterTest$MyTaskNotPresent" + classpathref="testclasses" + onerror="ignore"/> + </target> + + +</project> + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/typedef.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/typedef.xml new file mode 100644 index 00000000..1c7922b9 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/typedef.xml @@ -0,0 +1,84 @@ +<?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="test" basedir="." default="invalid"> + + <target name="invalid"> + <fail>This file should only be run via a testcase</fail> + </target> + + <target name="empty"> + <typedef /> + </target> + + <target name="noClassname"> + <typedef name="dummy" /> + </target> + + <target name="noName"> + <typedef classname="org.example.types.TypedefTestType"> + <classpath refid="testclasses" /> + </typedef> + </target> + + <target name="classNotFound"> + <typedef name="" classname="oops"/> + </target> + + <path id="testclasses"> + <pathelement location="../../../../build/testcases" /> + <pathelement path="${java.class.path}" /> + </path> + + <typedef name="global" + classname="org.example.types.TypedefTestType"> + <classpath refid="testclasses" /> + </typedef> + + <target name="testGlobal"> + <global id="global" /> + </target> + + <target name="testLocal"> + <typedef name="localtype" + classname="org.example.types.TypedefTestType"> + <classpath refid="testclasses" /> + </typedef> + <localtype id="local" /> + </target> + + <target name="double-notpresent"> + <typedef name="mytask" classname="notpresent" onerror="ignore"/> + <typedef name="mytask" classname="notpresent" onerror="ignore"/> + <typedef name="mytask" classname="org.apache.tools.ant.taskdefs.Echo" + onerror="ignore"/> + <mytask>hi</mytask> + </target> + + <target name="noresourcefailall"> + <typedef resource="somenotpresentfile.properties" onerror="failall"/> + </target> + + <target name="noresourcefail"> + <typedef resource="somenotpresentfile.properties" onerror="fail"/> + </target> + + <target name="noresourcenotfail"> + <typedef resource="somenotpresentfile.properties" /> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/untar.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/untar.xml new file mode 100644 index 00000000..04d44b37 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/untar.xml @@ -0,0 +1,103 @@ +<?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 basedir="." default="tearDown"> + + <import file="../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}"/> + <mkdir dir="${output}/untar"/> + </target> + + <target name="testTarTask"> + <ant antfile="tar.xml" target="feather" /> + <untar src="${output}/asf-logo.gif.tar" dest="${output}/untar" /> + </target> + + <target name="testGzipTarTask"> + <ant antfile="tar.xml" target="feather" /> + <untar src="${output}/asf-logo.gif.tar.gz" dest="${output}/untar" compression="gzip" /> + </target> + + <target name="testBzip2TarTask"> + <ant antfile="tar.xml" target="feather" /> + <untar src="${output}/asf-logo.gif.tar.bz2" dest="${output}/untar" compression="bzip2"/> + </target> + + <target name="realTest"> + <untar src="expected/asf-logo.gif.tar" dest="${output}/untar" /> + </target> + + <target name="realGzipTest"> + <untar src="expected/asf-logo.gif.tar.gz" dest="${output}/untar" compression="gzip" /> + </target> + + <target name="realBzip2Test"> + <untar src="expected/asf-logo.gif.tar.bz2" dest="${output}/untar" compression="bzip2"/> + </target> + + + <target name="srcDirTest"> + <untar src="." dest="${output}/untar" /> + </target> + + <target name="encodingTest"> + <mkdir dir="${output}/untartestin"/> + <touch file="${output}/untartestin/foo"/> + <tar tarfile="${output}/untartest.tar" basedir="${output}/untartestin" encoding="UnicodeBig"/> + <mkdir dir="${output}/untartestout"/> + <untar src="${output}/untartest.tar" dest="${output}/untartestout" encoding="UnicodeBig"/> + </target> + + <target name="resourceCollection"> + <mkdir dir="${output}/untartestout"/> + <zip destfile="${output}/untartestout/test.zip"> + <fileset dir="expected"> + <include name="asf-logo.gif.tar"/> + </fileset> + </zip> + <untar dest="${output}/untar"> + <zipfileset src="${output}/untartestout/test.zip"> + <include name="*.tar"/> + </zipfileset> + </untar> + </target> + + <target name="prepareTestTar"> + <mkdir dir="${output}/untartestin/1"/> + <mkdir dir="${output}/untartestin/2"/> + <touch file="${output}/untartestin/1/foo"/> + <touch file="${output}/untartestin/2/bar"/> + <copy todir="${output}/untartestin/2"> + <fileset dir="expected" includes="*md5*"/> + </copy> + <tar destfile="${output}/untartest.tar" basedir="${output}/untartestin"/> + </target> + + <target name="testDocumentationClaimsOnCopy" depends="prepareTestTar"> + <copy todir="${output}/untar" preservelastmodified="true"> + <tarfileset src="${output}/untartest.tar"> + <patternset> + <include name="2/"/> + </patternset> + </tarfileset> + </copy> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/unzip.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/unzip.xml new file mode 100644 index 00000000..ee96ee1f --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/unzip.xml @@ -0,0 +1,184 @@ +<?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="xxx-test" basedir="." default="test1"> + + <import file="../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}"/> + </target> + + + <target name="test1"> + <unzip/> + </target> + + <target name="test2"> + <unzip src=""/> + </target> + + <target name="test3"> + <unzip dest=""/> + </target> + + <target name="testZipTask"> + <ant antfile="zip.xml" target="feather" /> + <unzip src="${output}/asf-logo.gif.zip" dest="${output}" /> + </target> + + <target name="testUncompressedZipTask"> + <ant antfile="zip.xml" target="uncompressed-feather" /> + <unzip src="${output}/asf-logo.gif.zip" dest="${output}" /> + </target> + + <target name="realTest"> + <unzip src="expected/asf-logo.gif.zip" dest="${output}" /> + </target> + + <target name="prepareTestZip"> + <mkdir dir="${output}/unziptestin/1"/> + <mkdir dir="${output}/unziptestin/2"/> + <touch file="${output}/unziptestin/1/foo"/> + <touch file="${output}/unziptestin/2/bar"/> + <zip destfile="${output}/unziptest.zip" basedir="${output}/unziptestin"/> + </target> + + <target name="testPatternSetExcludeOnly" depends="prepareTestZip"> + <unzip dest="${output}/unziptestout" src="${output}/unziptest.zip"> + <patternset> + <exclude name="1/**"/> + </patternset> + </unzip> + </target> + + <target name="testPatternSetIncludeOnly" depends="prepareTestZip"> + <unzip dest="${output}/unziptestout" src="${output}/unziptest.zip"> + <patternset> + <include name="2/**"/> + </patternset> + </unzip> + </target> + + <target name="testPatternSetIncludeAndExclude" depends="prepareTestZip"> + <unzip dest="${output}/unziptestout" src="${output}/unziptest.zip"> + <patternset> + <include name="2/**"/> + <exclude name="2/**"/> + </patternset> + </unzip> + </target> + + <target name="testTwoPatternSets" depends="prepareTestZip"> + <unzip dest="${output}/unziptestout" src="${output}/unziptest.zip"> + <patternset> + <include name="2/**"/> + </patternset> + <patternset> + <include name="3/**"/> + </patternset> + </unzip> + </target> + + <target name="testTwoPatternSetsWithExcludes" depends="prepareTestZip"> + <unzip dest="${output}/unziptestout" src="${output}/unziptest.zip"> + <patternset> + <include name="2/**"/> + </patternset> + <patternset> + <exclude name="1/**"/> + <exclude name="2/**"/> + </patternset> + </unzip> + </target> + + <target name="selfExtractingArchive"> + <mkdir dir="${output}/unziptestout"/> + <unzip dest="${output}/unziptestout" src="zip/test.exe"/> + </target> + + <!-- Bugzilla Report 20969 --> + <target name="testPatternSetSlashOnly" depends="prepareTestZip"> + <unzip dest="${output}/unziptestout" src="${output}/unziptest.zip"> + <patternset> + <include name="2/"/> + </patternset> + </unzip> + </target> + + <!-- Bugzilla Report 10504 --> + <target name="encodingTest"> + <mkdir dir="${output}/unziptestin"/> + <touch file="${output}/unziptestin/foo"/> + <zip zipfile="${output}/unziptest.zip" basedir="${output}/unziptestin" encoding="UnicodeBig"/> + <mkdir dir="${output}/unziptestout"/> + <unzip src="${output}/unziptest.zip" dest="${output}/unziptestout" encoding="UnicodeBig"/> + </target> + + <!-- Bugzilla Report 21996 --> + <target name="testFlattenMapper" depends="prepareTestZip"> + <unzip dest="${output}/unziptestout" src="${output}/unziptest.zip"> + <patternset> + <include name="1/**"/> + </patternset> + <mapper type="flatten"/> + </unzip> + </target> + + <!-- Bugzilla Report 21996 --> + <target name="testGlobMapper" depends="prepareTestZip"> + <unzip dest="${output}/unziptestout" src="${output}/unziptest.zip"> + <patternset> + <include name="1/**"/> + </patternset> + <mapper type="glob" from="*" to="*.txt"/> + </unzip> + </target> + + <target name="testTwoMappers" depends="prepareTestZip"> + <unzip dest="${output}/unziptestout" src="${output}/unziptest.zip"> + <patternset> + <include name="1/**"/> + </patternset> + <mapper type="glob" from="*" to="*.txt"/> + <mapper type="flatten"/> + </unzip> + </target> + + <target name="testResourceCollection"> + <unzip dest="${output}/unziptestout"> + <patternset> + <include name="junit/**"/> + </patternset> + <restrict> + <path path="${java.class.path}"/> + <type type="file" xmlns="antlib:org.apache.tools.ant.types.resources.selectors"/> + </restrict> + </unzip> + </target> + + <target name="testDocumentationClaimsOnCopy" depends="prepareTestZip"> + <copy todir="${output}/unziptestout" preservelastmodified="true"> + <zipfileset src="${output}/unziptest.zip"> + <patternset> + <include name="2/"/> + </patternset> + </zipfileset> + </copy> + </target> +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/uptodate.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/uptodate.xml new file mode 100644 index 00000000..04bb3707 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/uptodate.xml @@ -0,0 +1,57 @@ +<?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 basedir="."> + + <target name="setUp"> + <touch file="source"/> + <touch file="target"/> + </target> + + <target name="tearDown"> + <delete file="source"/> + <delete file="target"/> + </target> + + <target name="testFilesetUpToDate"> + <uptodate property="foo" targetfile="target"> + <srcfiles dir="." includes="source"/> + </uptodate> + </target> + + <target name="testFilesetOutOfDate"> + <uptodate property="foo" targetfile="source"> + <srcfiles dir="." includes="target"/> + </uptodate> + </target> + + <target name="testRCUpToDate"> + <uptodate property="foo" targetfile="target"> + <srcresources> + <fileset dir="." includes="source"/> + </srcresources> + </uptodate> + </target> + + <target name="testRCOutOfDate"> + <uptodate property="foo" targetfile="source"> + <srcresources> + <fileset dir="." includes="target"/> + </srcresources> + </uptodate> + </target> +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/war.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/war.xml new file mode 100644 index 00000000..b000ecf5 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/war.xml @@ -0,0 +1,39 @@ +<?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="war-test" basedir="." default="help"> + <import file="../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}" /> + </target> + + + <target name="help"> + <echo message="Test file for the war task"/> + </target> + + <target name="testlibrefs" depends="setUp"> + <fileset id="test" dir="." includes="war.xml"/> + <war webxml="war.xml" destfile="${output}/test.war"> + <lib refid="test"/> + </war> + <unzip src="${output}/test.war" dest="${output}"/> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/whichresource.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/whichresource.xml new file mode 100644 index 00000000..352e9c0e --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/whichresource.xml @@ -0,0 +1,37 @@ +<?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="fail"> + <target name="fail"> + <fail>Run via testcases only</fail> + </target> + + <target name="testClassname"> + <whichresource class="org.apache.tools.ant.Main" + property="antmain"/> + </target> + + <target name="testResourcename"> + <whichresource resource="org/apache/tools/ant/taskdefs/defaults.properties" + property="defaults"/> + </target> + + <target name="testResourcenameWithLeadingSlash"> + <whichresource resource="/org/apache/tools/ant/taskdefs/defaults.properties" + property="defaults"/> + </target> +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlns.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlns.xml new file mode 100644 index 00000000..e6991661 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlns.xml @@ -0,0 +1,67 @@ +<?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="test" xmlns:other="this is the other uri" + other:attr="this should be ignored by ant"> + + <property name="testcases.dir" location="../../../../build/testcases"/> + + <path id="testclasses"> + <pathelement location="${testcases.dir}" /> + <pathelement path="${java.class.path}" /> + </path> + + <target name="xmlns" xmlns:test="this.is.another.test.uri"> + <typedef classname="org.apache.tools.ant.taskdefs.XmlnsTest$MyTask" + classpathref="testclasses" + name="mytask" + uri="this.is.another.test.uri" /> + <test:mytask/> + </target> + + <target name="other" other:a="this is another attribute"> + <echo other:g="abc" message="a message"/> + </target> + + <target name="ns.attributes"> + <taskdef name="my.echo" classname="org.apache.tools.ant.taskdefs.Echo" + uri="x-uri"/> + <x:my.echo x:message="hello world" xmlns:x="x-uri"/> + </target> + + <target name="xmlns.file" xmlns:test="this.is.a.test.uri"> + <typedef file="test.antlib.xml" + classpathref="testclasses" + uri="this.is.a.test.uri" /> + <test:mytask/> + </target> + + <target name="core"> + <typedef file="test.antlib.xml" + classpathref="testclasses" + uri="antlib:org.apache.tools.ant" /> + <mytask/> + </target> + + <target name="excluded"> + <typedef file="test.antlib.xml" + classpathref="testclasses" + uri="ant:notallowed" /> + </target> + + +</project>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty.xml new file mode 100644 index 00000000..a19eb6ce --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty.xml @@ -0,0 +1,44 @@ +<?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="test" default="test" basedir="."> + + <target name="test"> + <xmlproperty file="xmlproperty_data.xml"/> + </target> + + <target name="testdtd"> + <xmlproperty file="xmlproperty_withdtd.xml"/> + </target> + + <target name="testResource"> + <loadfile srcfile="xmlproperty_data.xml" property="prop"/> + <xmlproperty> + <string value="${prop}"/> + </xmlproperty> + </target> + + <target name="testneedscat"> + <xmlproperty file="xmlproperty_needscat.xml"> + <xmlcatalog> + <dtd publicId="-//FOO//DTD Skin Configuration V0.1//EN" + location="skinconfig.dtd"/> + </xmlcatalog> + </xmlproperty> + </target> + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-collapse-input1.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-collapse-input1.properties new file mode 100644 index 00000000..d60cbab5 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-collapse-input1.properties @@ -0,0 +1,21 @@ +# 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. + +properties.root=foo,bar +properties.a.b.c=d +properties.a.b=e +properties.foo.bar=quux,quux1 +properties.foo.quux=bar +properties.tag.value=foo diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-collapse-original.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-collapse-original.properties new file mode 100644 index 00000000..ce05e187 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-collapse-original.properties @@ -0,0 +1,20 @@ +# 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. + +root-tag.myattr=true +root-tag.inner-tag=Text +root-tag.inner-tag.someattr=val +root-tag.a2.a3.a4=false + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-collapse-override.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-collapse-override.properties new file mode 100644 index 00000000..33f8611a --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-collapse-override.properties @@ -0,0 +1,17 @@ +# 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. + +# Match value hardwired in code, NOT in the input... +override.property.test=foo diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-nocollapse-input1.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-nocollapse-input1.properties new file mode 100644 index 00000000..153ac765 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-nocollapse-input1.properties @@ -0,0 +1,8 @@ +properties.root=foo,bar +properties.a.b(c)=d +properties.a.b=e +properties.foo(bar)=quux +properties.foo.bar=quux1 +properties.foo.quux=bar +properties.tag(value)=foo + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-nocollapse-original.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-nocollapse-original.properties new file mode 100644 index 00000000..47e0c2de --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-nocollapse-original.properties @@ -0,0 +1,20 @@ +# 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. + +root-tag(myattr)=true +root-tag.inner-tag=Text +root-tag.inner-tag(someattr)=val +root-tag.a2.a3.a4=false + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-semantic-include.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-semantic-include.properties new file mode 100644 index 00000000..d60cbab5 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-semantic-include.properties @@ -0,0 +1,21 @@ +# 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. + +properties.root=foo,bar +properties.a.b.c=d +properties.a.b=e +properties.foo.bar=quux,quux1 +properties.foo.quux=bar +properties.tag.value=foo diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-semantic-input1.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-semantic-input1.properties new file mode 100644 index 00000000..46b807ba --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-semantic-input1.properties @@ -0,0 +1,21 @@ +# 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. + +properties.root=foo,bar +properties.a.b.c=d +properties.a.b=e +properties.foo.bar=quux,quux1 +properties.foo.quux=bar +properties.tag=foo diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-semantic-override.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-semantic-override.properties new file mode 100644 index 00000000..33f8611a --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/keeproot-semantic-override.properties @@ -0,0 +1,17 @@ +# 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. + +# Match value hardwired in code, NOT in the input... +override.property.test=foo diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-collapse-input1.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-collapse-input1.properties new file mode 100644 index 00000000..7cfd29e8 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-collapse-input1.properties @@ -0,0 +1,21 @@ +# 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. + +root=foo,bar +a.b.c=d +a.b=e +foo.bar=quux,quux1 +foo.quux=bar +tag.value=foo diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-collapse-original.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-collapse-original.properties new file mode 100644 index 00000000..5842c38f --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-collapse-original.properties @@ -0,0 +1,19 @@ +# 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. + +inner-tag=Text +inner-tag.someattr=val +a2.a3.a4=false + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-nocollapse-input1.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-nocollapse-input1.properties new file mode 100644 index 00000000..3eca3683 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-nocollapse-input1.properties @@ -0,0 +1,7 @@ +root=foo,bar +a.b(c)=d +a.b=e +foo(bar)=quux +foo.bar=quux1 +foo.quux=bar +tag(value)=foo diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-nocollapse-multi.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-nocollapse-multi.properties new file mode 100644 index 00000000..9ef90efb --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-nocollapse-multi.properties @@ -0,0 +1,16 @@ +# 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. + +foo.bar=1,2,3,4
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-nocollapse-original.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-nocollapse-original.properties new file mode 100644 index 00000000..550f2130 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-nocollapse-original.properties @@ -0,0 +1,19 @@ +# 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. + +inner-tag=Text +inner-tag(someattr)=val +a2.a3.a4=false + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-semantic-include-input1.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-semantic-include-input1.properties new file mode 100644 index 00000000..7cfd29e8 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-semantic-include-input1.properties @@ -0,0 +1,21 @@ +# 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. + +root=foo,bar +a.b.c=d +a.b=e +foo.bar=quux,quux1 +foo.quux=bar +tag.value=foo diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-semantic-input1.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-semantic-input1.properties new file mode 100644 index 00000000..5dfcfb53 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-semantic-input1.properties @@ -0,0 +1,21 @@ +# 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. + +root=foo,bar +a.b.c=d +a.b=e +foo.bar=quux,quux1 +foo.quux=bar +tag=foo diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-semantic-locations.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-semantic-locations.properties new file mode 100644 index 00000000..f945d7ca --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-semantic-locations.properties @@ -0,0 +1,16 @@ +# 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. + +file=FILE.foo
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-semantic-paths.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-semantic-paths.properties new file mode 100644 index 00000000..1bf51de9 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-semantic-paths.properties @@ -0,0 +1,16 @@ +# 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. + +foo=ID.path
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-semantic-references.properties b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-semantic-references.properties new file mode 100644 index 00000000..e55913a1 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/goldfiles/nokeeproot-semantic-references.properties @@ -0,0 +1,20 @@ +# 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. + +property=foo +foo.bar=foo +foo.quux=foo +foo.thunk=foo +foo.property=ID.foo diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/inputs/input1.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/inputs/input1.xml new file mode 100644 index 00000000..28328c56 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/inputs/input1.xml @@ -0,0 +1,27 @@ +<?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. +--> +<properties> + <root>foo</root> + <root>bar</root> + <a><b c="d">e</b></a> + <foo bar="quux"> + <bar>quux1</bar> + <quux>bar</quux> + </foo> + <tag value="foo"/> +</properties> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/inputs/locations.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/inputs/locations.xml new file mode 100644 index 00000000..d5cace80 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/inputs/locations.xml @@ -0,0 +1,20 @@ +<?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. +--> +<locations> + <file location="foo"/> +</locations>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/inputs/multi.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/inputs/multi.xml new file mode 100644 index 00000000..66904d6a --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/inputs/multi.xml @@ -0,0 +1,25 @@ +<?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. +--> +<properties> + <foo> + <bar>1</bar> + <bar>2</bar> + <bar>3</bar> + <bar>4</bar> + </foo> +</properties>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/inputs/original.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/inputs/original.xml new file mode 100644 index 00000000..ef2603cc --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/inputs/original.xml @@ -0,0 +1,22 @@ +<?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. +--> +<root-tag myattr="true"> + <inner-tag someattr="val">Text</inner-tag> + <a2><a3><a4>false</a4></a3></a2> +</root-tag> + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/inputs/override.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/inputs/override.xml new file mode 100644 index 00000000..c7da9c48 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/inputs/override.xml @@ -0,0 +1,27 @@ +<?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. +--> +<root> + <override> + <!-- This property should not get set. The + XmlPropertyTest code explicitly sets + override.property.test to foo to make + sure that attempts to reset it via + property file loads *fail*. --> + <property test="bar"/> + </override> +</root>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/inputs/paths.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/inputs/paths.xml new file mode 100644 index 00000000..83422d9d --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/inputs/paths.xml @@ -0,0 +1,22 @@ +<?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. +--> +<paths> + <classpath pathid="foo"> + <path value="bar"/> + </classpath> +</paths>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/inputs/references.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/inputs/references.xml new file mode 100644 index 00000000..7e88b7b1 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty/inputs/references.xml @@ -0,0 +1,24 @@ +<?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. +--> +<references> + <property value="foo" id="foo.property"/> + <foo bar="${property}"> + <quux refid="foo.property"/> + <thunk>${property}</thunk> + </foo> +</references>
\ No newline at end of file diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty_data.dtd b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty_data.dtd new file mode 100644 index 00000000..5d75d6e5 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty_data.dtd @@ -0,0 +1,30 @@ +<!-- + 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. +--> +<!ELEMENT root-tag (inner-tag, a2, cdatatag)> +<!ATTLIST root-tag myattr CDATA ""> + +<!ELEMENT inner-tag (#PCDATA)> +<!ATTLIST inner-tag someattr CDATA ""> + +<!ELEMENT a2 (a3)> + +<!ELEMENT a3 (a4)> + +<!ELEMENT a4 (#PCDATA)> + +<!ELEMENT cdatatag (#PCDATA)> + diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty_data.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty_data.xml new file mode 100644 index 00000000..5f922214 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty_data.xml @@ -0,0 +1,22 @@ +<?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. +--> + <root-tag myattr="true"> + <inner-tag someattr="val">Text</inner-tag> + <a2><a3><a4>false</a4></a3></a2> + <cdatatag><![CDATA[<test>]]></cdatatag> + </root-tag> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty_needscat.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty_needscat.xml new file mode 100644 index 00000000..942a183f --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty_needscat.xml @@ -0,0 +1,22 @@ +<?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. +--> +<!DOCTYPE skinconfig PUBLIC "-//FOO//DTD Skin Configuration V0.1//EN" "http://example-no-dtd.com/dtd/skinconfig.dtd"> +<skinconfig> + <foo>true</foo> + <bar>false</bar> +</skinconfig> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty_withdtd.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty_withdtd.xml new file mode 100644 index 00000000..1e96cdb3 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/xmlproperty_withdtd.xml @@ -0,0 +1,24 @@ +<?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. +--> +<!DOCTYPE root-tag SYSTEM "xmlproperty_data.dtd"> + + <root-tag myattr="true"> + <inner-tag someattr="val">Text</inner-tag> + <a2><a3><a4>false</a4></a3></a2> + <cdatatag><![CDATA[<test>]]></cdatatag> + </root-tag> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/zip.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/zip.xml new file mode 100644 index 00000000..4fa6de6c --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/zip.xml @@ -0,0 +1,287 @@ +<?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="zip-test" basedir="." default="test1"> + + <import file="../buildfiletest-base.xml"/> + + <target name="setUp"> + <mkdir dir="${output}"/> + </target> + + <target name="test1"> + <zip/> + </target> + + <target name="test2"> + <zip destFile="${output}/zip.tmp"/> + </target> + + <!-- Test when the zip file includes itself + when target file exists before the zip task is run --> + <target name="test3"> + <touch file="${output}/test3.zip"/> + <zip destFile="${output}/test3.zip" + basedir="${output}/"/> + </target> + + <!-- Test when the zip file includes itself + when target file does not exist before the zip task is run + <target name="test4"> + <zip destFile="${output}/test4.zip" + basedir="."/> + </target> + --> + + <target name="test5"> + <zip zipfile="${output}/test5.zip" basedir="." > + <exclude name="test5.zip" /> + </zip> + </target> + + <target name="test6"> + <zip destFile="${output}/test6.zip" basedir="."> + <include name="*.xml" /> + <exclude name="zip.*" /> + </zip> + </target> + + <target name="test7"> + <copy todir="${output}"> + <fileset dir="."/> + </copy> + <zip destFile="${output}/inner7.zip" basedir="${output}" > + <exclude name="inner7.zip" /> + </zip> + <zip destFile="${output}/test7.zip" basedir="."> + <exclude name="**/*.*" /> + <zipfileset src="${output}/inner7.zip" /> + </zip> + </target> + + <target name="feather"> + <zip destFile="${output}/asf-logo.gif.zip" + basedir=".." + includes="asf-logo.gif" /> + </target> + + <target name="uncompressed-feather"> + <zip destFile="${output}/asf-logo.gif.zip" + basedir=".." + includes="asf-logo.gif" compress="false"/> + </target> + + <!-- legacy attribute support --> + <target name="test8"> + <zip zipfile="${output}/test8.zip" basedir="." > + <exclude name="test8.zip" /> + </zip> + </target> + + <target name="testZipgroupfileset"> + + <zip zipfile="${output}/zipgroupfileset.zip" basedir="."> + <zipgroupfileset dir="zip" + includes="zipgroupfileset*.zip" + excludes="zipgroupfileset3.zip" /> + <include name="zip/zipgroupfileset3.zip" /> + </zip> + </target> + + <target name="testDuplicateFail"> + + <zip zipfile="${output}/duplicateFail.zip" basedir="." duplicate="fail"> + <zipgroupfileset dir="duplicate" includes="duplicate*.zip" /> + </zip> + </target> + + <target name="testUpdateNotNecessary" depends="feather"> + <zip destFile="${output}/asf-logo.gif.zip" + basedir=".." + includes="asf-logo.gif" + update="true" /> + </target> + + <target name="testUpdateIsNecessary" depends="feather"> + <touch file="${output}/dummyfile" /> + <copy file="../asf-logo.gif" todir="${output}"/> + <zip destFile="${output}/asf-logo.gif.zip" + basedir="${output}" + includes="asf-logo.gif,dummyfile" + update="true" /> + </target> + + <!-- Bugzilla Report 18403 --> + <target name="testPrefixAddsDir"> + <zip destFile="${output}/test3.zip" filesonly="false"> + <zipfileset dir="." prefix="test" includes="zip.xml"/> + </zip> + </target> + + <!-- Bugzilla Report 19449 --> + <target name="testFilesOnlyDoesntCauseRecreateSetup"> + <mkdir dir="${output}/ziptest"/> + <touch file="${output}/ziptest/ziptest"/> + <zip destFile="${output}/test3.zip" basedir="${output}" + includes="ziptest/**" filesonly="true"/> + </target> + + <!-- Bugzilla Report 19449 --> + <target name="testFilesOnlyDoesntCauseRecreate"> + <zip destFile="${output}/test3.zip" basedir="." + includes="ziptest/**" filesonly="true"/> + </target> + + <!-- Bugzilla Report 22865 --> + <target name="testEmptySkip"> + <mkdir dir="${output}/ziptest"/> + <zip destFile="${output}/test3.zip" basedir="${output}/ziptest" whenempty="skip"/> + <fail message="archive should get skipped"> + <condition> + <available file="${output}/test3.zip" /> + </condition> + </fail> + </target> + + <!-- Bugzilla Report 30365 --> + <target name="zipEmptyDir"> + <mkdir dir="${output}/empty/empty2"/> + <zip destFile="${output}/test3.zip" basedir="${output}/empty" update="true"/> + <fail message="single-directory archive should be created"> + <condition> + <or> + <not> + <available file="${output}/test3.zip" /> + </not> + <resourcecount when="gt" count="0"> + <zipfileset src="${output}/test3.zip" /> + </resourcecount> + <resourcecount when="ne" count="1"> + <restrict> + <exists xmlns="antlib:org.apache.tools.ant.types.resources.selectors" /> + <zipentry zipfile="${output}/test3.zip" name="empty2/" /> + </restrict> + </resourcecount> + </or> + </condition> + </fail> + </target> + + <!-- Bugzilla Report 40258 --> + <target name="zipEmptyDirFilesOnly"> + <mkdir dir="${output}/empty/empty2" /> + <zip destFile="${output}/test3.zip" basedir="${output}/empty" update="true" filesonly="true" /> + <fail message="archive should get skipped"> + <condition> + <available file="${output}/test3.zip" /> + </condition> + </fail> + </target> + + <target name="zipEmptyCreate"> + <mkdir dir="${output}/empty"/> + <zip destFile="${output}/test3.zip" basedir="${output}/empty" whenempty="create" includes="*.xyz"/> + <fail message="empty archive should be created"> + <condition> + <or> + <not> + <available file="${output}/test3.zip" /> + </not> + <resourcecount when="gt" count="0"> + <zipfileset src="${output}/test3.zip" /> + </resourcecount> + </or> + </condition> + </fail> + </target> + + <target name="testCompressionLevel" depends="test6"> + <length property="test6.length" file="${output}/test6.zip" /> + <copy todir="${output}"> + <fileset dir="."> + <include name="*.xml"/> + </fileset> + </copy> + <zip destFile="${output}/testLevel.zip" basedir="${output}" level="9"> + <include name="*.xml" /> + <exclude name="zip.*" /> + </zip> + <fail> + <condition> + <not> + <isfileselected file="${output}/testLevel.zip"> + <size when="less" value="${test6.length}" /> + </isfileselected> + </not> + </condition> + </fail> + </target> + + <!-- Bugzilla Report 33412 --> + <target name="testDefaultExcludesAndUpdate"> + <mkdir dir="${output}/ziptest"/> + <touch file="${output}/ziptest/ziptest~"/> + <zip destFile="${output}/test3.zip" basedir="${output}/ziptest" + defaultexcludes="false"/> + <touch file="${output}/ziptest/ziptest2"/> + <zip destFile="${output}/test3.zip" basedir="${output}/ziptest" + defaultexcludes="false" + update="true"/> + </target> + + <target name="testFileResource"> + <zip destFile="${output}/test3.zip"> + <file file="zip.xml"/> + </zip> + </target> + + <target name="testNonFileResource"> + <zip destFile="${output}/test3.zip"> + <javaresource name="META-INF/MANIFEST.MF"/> + </zip> + </target> + + <target name="testTarFileSet"> + <ant antfile="tar.xml" target="feather"/> + <zip destFile="${output}/test3.zip"> + <tarfileset src="${output}/asf-logo.gif.tar" filemode="446"/> + </zip> + </target> + + <target name="rewriteZeroPermissions"> + <zip destFile="${output}/test3.zip"> + <zipfileset src="nopermissions.zip"/> + </zip> + </target> + + <target name="acceptZeroPermissions"> + <zip destFile="${output}/test3.zip" preserve0permissions="true"> + <zipfileset src="nopermissions.zip"/> + </zip> + </target> + + <target name="testForBugzilla34764"> + <mkdir dir="${output}/ziptest"/> + <touch file="${output}/ziptest/file1"/> + <zip destFile="${output}/test3.zip" basedir="${output}/ziptest"/> + <touch file="${output}/ziptest/file2"/> + <zip destFile="${output}/test3.zip" basedir="${output}/ziptest" update="true"/> + </target> + + +</project> diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/zip/zipgroupfileset1.zip b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/zip/zipgroupfileset1.zip Binary files differnew file mode 100644 index 00000000..f3b96ffc --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/zip/zipgroupfileset1.zip diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/zip/zipgroupfileset2.zip b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/zip/zipgroupfileset2.zip Binary files differnew file mode 100644 index 00000000..89e09fd5 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/zip/zipgroupfileset2.zip diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/zip/zipgroupfileset3.zip b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/zip/zipgroupfileset3.zip Binary files differnew file mode 100644 index 00000000..dead9c12 --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/taskdefs/zip/zipgroupfileset3.zip |