diff --git a/src/etc/testcases/taskdefs/copy.xml b/src/etc/testcases/taskdefs/copy.xml index cd2469b45..648f803e8 100644 --- a/src/etc/testcases/taskdefs/copy.xml +++ b/src/etc/testcases/taskdefs/copy.xml @@ -3,7 +3,17 @@ - + + + + + + + + + + + diff --git a/src/etc/testcases/taskdefs/copyfile.xml b/src/etc/testcases/taskdefs/copyfile.xml index 4aca33eb1..6685d825e 100644 --- a/src/etc/testcases/taskdefs/copyfile.xml +++ b/src/etc/testcases/taskdefs/copyfile.xml @@ -25,8 +25,13 @@ + + dest="testdir" + forceoverwrite="true" /> + + + diff --git a/src/etc/testcases/taskdefs/deltree.xml b/src/etc/testcases/taskdefs/deltree.xml index 23fc66348..77ae999a8 100644 --- a/src/etc/testcases/taskdefs/deltree.xml +++ b/src/etc/testcases/taskdefs/deltree.xml @@ -7,7 +7,7 @@ - + diff --git a/src/etc/testcases/taskdefs/get.xml b/src/etc/testcases/taskdefs/get.xml index 025cb9874..c731288dd 100644 --- a/src/etc/testcases/taskdefs/get.xml +++ b/src/etc/testcases/taskdefs/get.xml @@ -19,11 +19,11 @@ - + - + diff --git a/src/testcases/org/apache/tools/ant/taskdefs/CopyTest.java b/src/testcases/org/apache/tools/ant/taskdefs/CopyTest.java new file mode 100644 index 000000000..21c079310 --- /dev/null +++ b/src/testcases/org/apache/tools/ant/taskdefs/CopyTest.java @@ -0,0 +1,91 @@ +/* + * The Apache Software License, Version 1.1 + * + * Copyright (c) 2000 The Apache Software Foundation. All rights + * reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. The end-user documentation included with the redistribution, if + * any, must include the following acknowlegement: + * "This product includes software developed by the + * Apache Software Foundation (http://www.apache.org/)." + * Alternately, this acknowlegement may appear in the software itself, + * if and wherever such third-party acknowlegements normally appear. + * + * 4. The names "The Jakarta Project", "Ant", and "Apache Software + * Foundation" must not be used to endorse or promote products derived + * from this software without prior written permission. For written + * permission, please contact apache@apache.org. + * + * 5. Products derived from this software may not be called "Apache" + * nor may "Apache" appear in their names without prior written + * permission of the Apache Group. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * ==================================================================== + * + * This software consists of voluntary contributions made by many + * individuals on behalf of the Apache Software Foundation. For more + * information on the Apache Software Foundation, please see + * . + */ + +package org.apache.tools.ant.taskdefs; + +/** + * Tests FileSet using the Copy task. + * + * @author David Rees + */ +public class CopyTest extends TaskdefsTest { + + public CopyTest(String name) { + super(name); + } + + public void setUp() { + configureProject("src/etc/testcases/taskdefs/copy.xml"); + } + + public void test1() { + executeTarget("test1"); + java.io.File f = new java.io.File(getProjectDir(), "copytest1.tmp"); + if ( !f.exists()) { + fail("Copy failed"); + } + } + + public void tearDown() { + executeTarget("cleanup"); + } + + public void test2() { + executeTarget("test2"); + java.io.File f = new java.io.File(getProjectDir(), "copytest1dir/copy.xml"); + if ( !f.exists()) { + fail("Copy failed"); + } + } +} diff --git a/src/testcases/org/apache/tools/ant/taskdefs/CopydirTest.java b/src/testcases/org/apache/tools/ant/taskdefs/CopydirTest.java index 32a3479da..be962e0ec 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/CopydirTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/CopydirTest.java @@ -54,6 +54,8 @@ package org.apache.tools.ant.taskdefs; +import java.io.File; + /** * @author Nico Seessle */ @@ -85,7 +87,7 @@ public class CopydirTest extends TaskdefsTest { public void test5() { executeTarget("test5"); - java.io.File f = new java.io.File("src/etc/testcases/taskdefs.tmp"); + java.io.File f = new java.io.File(getProjectDir(), "../taskdefs.tmp"); if (!f.exists() || !f.isDirectory()) { fail("Copy failed"); } diff --git a/src/testcases/org/apache/tools/ant/taskdefs/CopyfileTest.java b/src/testcases/org/apache/tools/ant/taskdefs/CopyfileTest.java index 3e1b2154e..7c26e4f5b 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/CopyfileTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/CopyfileTest.java @@ -54,11 +54,17 @@ package org.apache.tools.ant.taskdefs; +import java.io.File; + /** * @author Nico Seessle */ public class CopyfileTest extends TaskdefsTest { + public void test6() { + expectBuildException("test6", "target is directory"); + } + public CopyfileTest(String name) { super(name); } @@ -67,6 +73,10 @@ public class CopyfileTest extends TaskdefsTest { configureProject("src/etc/testcases/taskdefs/copyfile.xml"); } + public void tearDown() { + executeTarget("cleanup"); + } + public void test1() { expectBuildException("test1", "required argument not specified"); } @@ -85,7 +95,7 @@ public class CopyfileTest extends TaskdefsTest { public void test5() { executeTarget("test5"); - java.io.File f = new java.io.File("src/etc/testcases/taskdefs/copyfile.tmp"); + java.io.File f = new java.io.File(getProjectDir(), "copyfile.tmp"); if (f.exists()) { f.delete(); } else { diff --git a/src/testcases/org/apache/tools/ant/taskdefs/FilterTest.java b/src/testcases/org/apache/tools/ant/taskdefs/FilterTest.java index 7307bf18c..516cbeab7 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/FilterTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/FilterTest.java @@ -64,15 +64,13 @@ import java.io.IOException; * @author Nico Seessle */ public class FilterTest extends TaskdefsTest { - - private final static String TASKDEFS_DIR = "src/etc/testcases/taskdefs/"; - + public FilterTest(String name) { super(name); } public void setUp() { - configureProject(TASKDEFS_DIR + "filter.xml"); + configureProject("src/etc/testcases/taskdefs/filter.xml"); } public void test1() { @@ -94,32 +92,32 @@ public class FilterTest extends TaskdefsTest { public void test5() { executeTarget("test5"); assertEquals("2000", - getFilteredFile("5", TASKDEFS_DIR + "filtered.tmp")); + getFilteredFile("5", "filtered.tmp")); } - + public void test6() { executeTarget("test6"); assertEquals("2000", - getFilteredFile("6", TASKDEFS_DIR + "taskdefs.tmp/filter1.txt")); + getFilteredFile("6", "taskdefs.tmp/filter1.txt")); } public void test7() { executeTarget("test7"); assertEquals("<%@ include file=\"root/some/include.jsp\"%>", - getFilteredFile("7", TASKDEFS_DIR + "filtered.tmp")); + getFilteredFile("7", "filtered.tmp")); } - + public void test8() { executeTarget("test8"); assertEquals("<%@ include file=\"root/some/include.jsp\"%>", - getFilteredFile("8", TASKDEFS_DIR + "taskdefs.tmp/filter2.txt")); + getFilteredFile("8", "taskdefs.tmp/filter2.txt")); } private String getFilteredFile(String testNumber, String filteredFile) { String line = null; - File f = new File(filteredFile); + File f = new File(getProjectDir(), filteredFile); if (!f.exists()) { fail("filter test"+testNumber+" failed"); } else { diff --git a/src/testcases/org/apache/tools/ant/taskdefs/GUnzipTest.java b/src/testcases/org/apache/tools/ant/taskdefs/GUnzipTest.java index fc88375f8..6d98a503e 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/GUnzipTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/GUnzipTest.java @@ -52,7 +52,9 @@ * . */ -package org.apache.tools.ant.taskdefs; + package org.apache.tools.ant.taskdefs; + + import java.io.File; /** * @author Nico Seessle @@ -77,12 +79,12 @@ public class GUnzipTest extends TaskdefsTest { public void test3() { executeTarget("test3"); - java.io.File f = new java.io.File("src/etc/testcases/taskdefs/gzip.tmp2"); + java.io.File f = new File(getProjectDir(), "gzip.tmp2"); if (!f.exists()) { fail("gzip failed"); } else { f.delete(); - f = new java.io.File("src/etc/testcases/taskdefs/gzip.tmp"); + f = new File(getProjectDir(), "gzip.tmp"); if (f.exists()) f.delete(); } } diff --git a/src/testcases/org/apache/tools/ant/taskdefs/GetTest.java b/src/testcases/org/apache/tools/ant/taskdefs/GetTest.java index cc4d2c5c2..aed8efba4 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/GetTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/GetTest.java @@ -54,6 +54,8 @@ package org.apache.tools.ant.taskdefs; +import java.io.File; + /** * @author Nico Seessle */ @@ -84,21 +86,18 @@ public class GetTest extends TaskdefsTest { } public void test5() { - // We can't expect a build-system to have a webserver installed... - //expectBuildException("test5", "dest invalid (or no http-server on local machine)"); + expectBuildException("test5", "dest invalid (or no http-server on local machine)"); } public void test6() { - // We can't expect a build-system to have a webserver installed... -/* executeTarget("test6"); - java.io.File f = new java.io.File("src/etc/testcases/taskdefs/get.tmp"); + java.io.File f = new File(getProjectDir(), "get.tmp"); if (!f.exists()) { fail("get failed"); } else { f.delete(); } -*/ + } } diff --git a/src/testcases/org/apache/tools/ant/taskdefs/GzipTest.java b/src/testcases/org/apache/tools/ant/taskdefs/GzipTest.java index cd3b33744..b3710eea9 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/GzipTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/GzipTest.java @@ -54,6 +54,8 @@ package org.apache.tools.ant.taskdefs; +import java.io.File; + /** * @author Nico Seessle */ @@ -85,7 +87,7 @@ public class GzipTest extends TaskdefsTest { public void test5() { executeTarget("test5"); - java.io.File f = new java.io.File("src/etc/testcases/taskdefs/gzip.tmp"); + java.io.File f = new java.io.File(getProjectDir(), "gzip.tmp"); if (!f.exists()) { fail("gzip failed"); } diff --git a/src/testcases/org/apache/tools/ant/taskdefs/JarTest.java b/src/testcases/org/apache/tools/ant/taskdefs/JarTest.java index e3fa522f8..239223522 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/JarTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/JarTest.java @@ -63,7 +63,7 @@ import java.util.Date; public class JarTest extends TaskdefsTest { private static long jarModifiedDate; - private static String tempJar = "src/etc/testcases/taskdefs/tmp.jar"; + private static String tempJar = "tmp.jar"; public JarTest(String name) { super(name); @@ -87,14 +87,14 @@ public class JarTest extends TaskdefsTest { public void test4() { executeTarget("test4"); - File jarFile = new File(tempJar); + File jarFile = new File(getProjectDir(), tempJar); assert(jarFile.exists()); jarModifiedDate = jarFile.lastModified(); } public void XXXtest5() { executeTarget("test5"); - File jarFile = new File(tempJar); + File jarFile = new File(getProjectDir(), tempJar); assertEquals(jarModifiedDate, jarFile.lastModified()); } } diff --git a/src/testcases/org/apache/tools/ant/taskdefs/MkdirTest.java b/src/testcases/org/apache/tools/ant/taskdefs/MkdirTest.java index 8d5c09e3b..7d85fa0b2 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/MkdirTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/MkdirTest.java @@ -1,3 +1,5 @@ +package org.apache.tools.ant.taskdefs; + /* * The Apache Software License, Version 1.1 * @@ -52,8 +54,6 @@ * . */ -package org.apache.tools.ant.taskdefs; - /** * @author Nico Seessle */ @@ -61,8 +61,8 @@ public class MkdirTest extends TaskdefsTest { public MkdirTest(String name) { super(name); - } - + } + public void setUp() { configureProject("src/etc/testcases/taskdefs/mkdir.xml"); } @@ -77,12 +77,11 @@ public class MkdirTest extends TaskdefsTest { public void test3() { executeTarget("test3"); - java.io.File f = new java.io.File("src/etc/testcases/taskdefs/testdir.tmp"); + java.io.File f = new java.io.File(getProjectDir(), "testdir.tmp"); if (!f.exists() || !f.isDirectory()) { fail("mkdir failed"); } else { f.delete(); } } - } diff --git a/src/testcases/org/apache/tools/ant/taskdefs/TaskdefsTest.java b/src/testcases/org/apache/tools/ant/taskdefs/TaskdefsTest.java index 92eb4b574..e7a135859 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/TaskdefsTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/TaskdefsTest.java @@ -79,12 +79,7 @@ public abstract class TaskdefsTest extends TestCase { } protected void expectBuildException(String taskname, String cause) { - try { - executeTarget(taskname); - } catch (org.apache.tools.ant.BuildException ex) { - return; - } - fail("Should throw BuildException because: " + cause); + expectSpecificBuildException(taskname, cause, null); } protected void expectOutput(String taskname, String output) { @@ -170,6 +165,21 @@ public abstract class TaskdefsTest extends TestCase { } + protected File getProjectDir() { + return project.getBaseDir(); + } + + protected void expectSpecificBuildException(String taskname, String cause, String msg) { + try { + executeTarget(taskname); + } catch (org.apache.tools.ant.BuildException ex) { + if ((null != msg) && (ex.getMessage() != msg)) { + fail("Should throw BuildException because '" + cause + "' with message '" + msg + "' (received message '" + ex.getMessage() + "' instead)"); + } + return; + } + fail("Should throw BuildException because: " + cause); + } private class AntOutputStream extends java.io.OutputStream { public void write(int b) { outBuffer.append((char)b);