aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/assertions.xml
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/assertions.xml')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/assertions.xml205
1 files changed, 205 insertions, 0 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/assertions.xml b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/assertions.xml
new file mode 100644
index 00000000..dee7ce7c
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/etc/testcases/types/assertions.xml
@@ -0,0 +1,205 @@
+<?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="assertions" basedir="." default="tearDown">
+
+ <import file="../buildfiletest-base.xml"/>
+
+ <target name="setUp">
+ <available property="jdk1.6+" classname="java.net.CookieStore"/>
+ <condition property="source" value="6">
+ <isset property="jdk1.6+"/>
+ </condition>
+ <property name="source" value="1.4"/>
+ <mkdir dir="${output}"/>
+ <javac srcdir="${src.dir}"
+ includes="*.java"
+ source="${source}"
+ debug="true"
+ destdir="${output}"
+ />
+ </target>
+
+ <property name="src.dir" location="assertions"/>
+ <property name="classname" value="AssertionMain"/>
+ <property name="test.classname" value="AssertionTest"/>
+
+ <path id="assert.classpath">
+ <pathelement location="${output}"/>
+ </path>
+
+
+ <!-- if per-class assertions work, this run asserts -->
+ <target name="test-classname" depends="setUp">
+ <java fork="true" failonerror="true"
+ classname="${classname}"
+ classpathref="assert.classpath">
+ <assertions enablesystemassertions="true">
+ <enable class="${classname}" />
+ </assertions>
+ </java>
+ </target>
+
+ <!-- if package works, this run asserts -->
+ <target name="test-package" depends="setUp">
+ <java fork="true" failonerror="true"
+ classname="${classname}"
+ classpathref="assert.classpath">
+ <assertions enableSystemAssertions="false" >
+ <enable package="..." />
+ </assertions>
+ </java>
+ </target>
+
+ <!-- this test should run the app successfully -->
+ <target name="test-empty-assertions" depends="setUp">
+ <java fork="true" failonerror="true"
+ classname="${classname}"
+ classpathref="assert.classpath">
+ <assertions/>
+ </java>
+ </target>
+
+ <!-- this test should run the app successfully -->
+ <target name="test-disable" depends="setUp">
+ <java fork="true" failonerror="true"
+ classname="${classname}"
+ classpathref="assert.classpath">
+ <assertions enableSystemAssertions="false" >
+ <enable package="..." />
+ <disable class="${classname}" />
+ </assertions>
+ </java>
+ </target>
+
+ <!-- repeated settigns result in the last declaration winning
+ except that the rule 'classes win over packages takes priority
+ this run will assert -->
+ <target name="test-override" depends="setUp">
+ <java fork="true" failonerror="true"
+ classname="${classname}"
+ classpathref="assert.classpath">
+ <assertions enableSystemAssertions="false" >
+ <enable package="..." />
+ <disable class="${classname}" />
+ <enable class="${classname}" />
+ <disable package="..." />
+ </assertions>
+ </java>
+ </target>
+
+ <!-- repeated settigns result in the last declaration winning;
+ this run will not assert -->
+ <target name="test-override2" depends="setUp">
+ <java fork="true" failonerror="true"
+ classname="${classname}"
+ classpathref="assert.classpath">
+ <assertions enableSystemAssertions="false" >
+ <enable package="..." />
+ <enable class="${classname}" />
+ <disable class="${classname}" />
+ </assertions>
+ </java>
+ </target>
+
+ <!-- if references work, this run asserts -->
+ <target name="test-references">
+ <assertions id="project.assertions" >
+ <enable package="org.apache.test" />
+ <disable package="org.apache.log4j"/>
+ <enable package="..."/>
+ </assertions>
+ <java fork="true" failonerror="true"
+ classname="${classname}"
+ classpathref="assert.classpath">
+ <assertions refid="project.assertions"/>
+ </java>
+ </target>
+
+ <!-- when fork=false; we need to reject the construct -->
+ <target name="test-nofork" depends="setUp">
+ <java fork="false" failonerror="true"
+ classname="${classname}"
+ classpathref="assert.classpath">
+ <assertions enablesystemassertions="true">
+ <enable class="${classname}" />
+ </assertions>
+ </java>
+ </target>
+
+ <!-- this throws a build error -->
+ <target name="test-multiple-assertions" depends="setUp">
+ <java fork="true" failonerror="true"
+ classname="${classname}"
+ classpathref="assert.classpath">
+ <assertions enablesystemassertions="true">
+ <enable class="${classname}" />
+ </assertions>
+ <assertions/>
+ </java>
+ </target>
+
+ <!-- should throw a build exception -->
+ <target name="test-reference-abuse" depends="setUp">
+ <assertions id="project.assertions2" >
+ <enable package="org.apache.test" />
+ <disable package="org.apache.log4j"/>
+ <enable package="..."/>
+ </assertions>
+ <java fork="true" failonerror="true"
+ classname="${classname}"
+ classpathref="assert.classpath">
+ <assertions refid="project.assertions2">
+ <disable class="${classname}" />
+ </assertions>
+ </java>
+ </target>
+
+
+ <target name="test-junit" depends="setUp">
+ <junit fork="true"
+ haltonerror="true" haltonfailure="true"
+ >
+ <classpath>
+ <path refid="assert.classpath"/>
+ </classpath>
+ <formatter type="plain" usefile="false"/>
+ <assertions >
+ <enable class="${test.classname}" />
+ </assertions>
+ <test name="${test.classname}"/>
+ </junit>
+ </target>
+
+ <!-- This is here to show that setting it as a property works
+ so there is some defect in pass-on of assertions that
+ is causing the problem -->
+ <target name="test-junit-manual-setup" depends="setUp">
+ <junit fork="true"
+ haltonerror="true" haltonfailure="true"
+ >
+ <classpath>
+ <path refid="assert.classpath"/>
+ </classpath>
+ <formatter type="plain" usefile="false"/>
+ <test name="${test.classname}"/>
+ <jvmarg value="-ea:AssertionTest"/>
+ </junit>
+ </target>
+
+</project>