| <?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="antunit" xmlns:au="antlib:org.apache.ant.antunit" |
| xmlns:cmp="antlib:org.apache.ant.compress"> |
| |
| <import file="antunit-base.xml"/> |
| |
| <target name="-findAntHomeLib" depends="-useAntHome, -searchAntHomeLib"/> |
| |
| <target name="-useAntHome" if="ant.home"> |
| <property name="ant.home.lib" value="${ant.home}/lib"/> |
| </target> |
| |
| <target name="-searchAntHomeLib" unless="ant.home"> |
| <first id="ant-jar"> |
| <restrict> |
| <path path="${java.class.path}"/> |
| <name name="**/ant.jar"/> |
| </restrict> |
| </first> |
| <dirname property="ant.home.lib" file="${toString:ant-jar}"/> |
| </target> |
| |
| <target name="testExtractJars" depends="-findAntHomeLib"> |
| <mkdir dir="${output}"/> |
| <copy todir="${output}"> |
| <cmp:archives> |
| <zips> |
| <fileset dir="${ant.home.lib}" |
| includes="ant-*.jar"/> |
| </zips> |
| </cmp:archives> |
| </copy> |
| <au:assertFileExists |
| file="${output}/org/apache/tools/ant/launch/Launcher.class"/> |
| <au:assertFileExists |
| file="${output}/org/apache/tools/ant/BuildFileTest.class"/> |
| </target> |
| |
| <target name="testMixingFormats" depends="-findAntHomeLib"> |
| <mkdir dir="${output}"/> |
| <tar destfile="${output}/test.tar.gz" compression="gzip"> |
| <fileset file="${ant.file}"/> |
| </tar> |
| <cmp:cpio destfile="${output}/test.cpio"> |
| <cmp:arfileset file="${ant.file}" prefix="cpio/"/> |
| </cmp:cpio> |
| <copy todir="${output}"> |
| <cmp:archives> |
| <zips> |
| <fileset dir="${ant.home.lib}" |
| includes="ant-launcher.jar"/> |
| </zips> |
| <tars> |
| <gzipresource> |
| <file file="${output}/test.tar.gz"/> |
| </gzipresource> |
| </tars> |
| <ars> |
| <file file="../resources/asf-logo.gif.ar"/> |
| </ars> |
| <cpios> |
| <fileset file="${output}/test.cpio"/> |
| </cpios> |
| </cmp:archives> |
| </copy> |
| <au:assertFileExists |
| file="${output}/org/apache/tools/ant/launch/Launcher.class"/> |
| <basename property="filename" file="${ant.file}"/> |
| <au:assertFileExists file="${output}/${filename}"/> |
| <au:assertFilesMatch |
| actual="${output}/asf-logo.gif" |
| expected="../resources/asf-logo.gif" |
| /> |
| <au:assertFileExists file="${output}/cpio/${filename}"/> |
| </target> |
| |
| <target name="testReference" depends="-findAntHomeLib"> |
| <mkdir dir="${output}"/> |
| <cmp:archives id="ref"> |
| <zips> |
| <fileset dir="${ant.home.lib}" |
| includes="ant-launcher.jar"/> |
| </zips> |
| </cmp:archives> |
| <copy todir="${output}"> |
| <cmp:archives refid="ref"/> |
| </copy> |
| <au:assertFileExists |
| file="${output}/org/apache/tools/ant/launch/Launcher.class"/> |
| </target> |
| |
| <target name="testCircularReference"> |
| <au:expectfailure |
| message="This data type contains a circular reference."> |
| <copy todir="${output}"> |
| <cmp:archives id="ref"> |
| <zips> |
| <cmp:archives refid="ref"/> |
| </zips> |
| </cmp:archives> |
| </copy> |
| </au:expectfailure> |
| <au:expectfailure |
| message="This data type contains a circular reference."> |
| <copy todir="${output}"> |
| <cmp:archives refid="ref"/> |
| </copy> |
| </au:expectfailure> |
| </target> |
| |
| <!-- works but takes a veeeeeery long time --> |
| <target name="skip-testResourcesManualExample"> |
| <mkdir dir="${output}"/> |
| <copy todir="${output}"> |
| <cmp:archives> |
| <zips> |
| <restrict> |
| <path path="${java.class.path}"/> |
| <name name="*.jar"/> |
| </restrict> |
| </zips> |
| </cmp:archives> |
| </copy> |
| <au:assertFileExists |
| file="${output}/org/apache/tools/ant/launch/Launcher.class"/> |
| </target> |
| |
| <target name="testZipManualExample"> |
| <mkdir dir="${output}/control"/> |
| <mkdir dir="${input}/htdocs/manual"/> |
| <touch file="${input}/htdocs/manual/foo.txt"/> |
| <cmp:zip destfile="${input}/examples-a.zip"> |
| <fileset dir="." includes="*.xml"/> |
| </cmp:zip> |
| <cmp:zip destfile="${output}/manual.zip"> |
| <mappedresources> |
| <fileset dir="${input}/htdocs/manual"/> |
| <globmapper from="*" to="docs/user-guide/*"/> |
| </mappedresources> |
| <cmp:archives> |
| <zips> |
| <fileset dir="${input}" includes="examples*.zip"/> |
| </zips> |
| </cmp:archives> |
| </cmp:zip> |
| <cmp:unzip src="${output}/manual.zip" dest="${output}/control"/> |
| <au:assertFileExists file="${output}/control/archives-test.xml"/> |
| <au:assertFileExists file="${output}/control/docs/user-guide/foo.txt"/> |
| </target> |
| |
| </project> |