diff options
author | mattinger <[email protected]> | 2006-08-09 17:48:45 +0000 |
---|---|---|
committer | mattinger <[email protected]> | 2006-08-09 17:48:45 +0000 |
commit | 98eee0fff40d077d73319ceaa7ae9bdaf3c71d70 (patch) | |
tree | 8ad62204756eae5c544e31dc8b2e7c25109f99f3 /test | |
parent | 0058b0ff2af01ec8ae2a0f28993ad691d873e682 (diff) |
Adding relentless task
git-svn-id: file:///home/sven/projects/JOGL/temp/ant-contrib/svn/ant-contrib-code/trunk/ant-contrib@12 32d7a393-a5a9-423c-abd3-5d954feb1f2f
Diffstat (limited to 'test')
-rw-r--r-- | test/resources/logic/relentless.xml | 55 | ||||
-rw-r--r-- | test/src/net/sf/antcontrib/logic/RelentlessTaskTest.java | 62 |
2 files changed, 117 insertions, 0 deletions
diff --git a/test/resources/logic/relentless.xml b/test/resources/logic/relentless.xml new file mode 100644 index 0000000..db25f6b --- /dev/null +++ b/test/resources/logic/relentless.xml @@ -0,0 +1,55 @@ +<project name="relentless unit tests" default="invalid"> + <target name="invalid"> + <fail>Don't call this file directly.</fail> + </target> + + <target name="setup"> + <taskdef resource="net/sf/antcontrib/antcontrib.properties"> + <classpath location="${antcontrib.jar}"/> + </taskdef> + </target> + + <target name="teardown"> + <delete dir="relentless"/> + </target> + + <target name="echo"> + <echo>Called with param: ${param}</echo> + </target> + + <target name="failTask" depends="setup" description="2 tasks should fail" > + <relentless> + <antcall target="echo" > + <param name="param" value="1" /> + </antcall> + <fail message="This task has failed." /> + <antcall target="echo" > + <param name="param" value="3" /> + </antcall> + <fail message="This task has failed as well." /> + </relentless> + </target> + + <target name="simpleTasks" depends="setup"> + <relentless> + <antcall target="echo" > + <param name="param" value="1" /> + </antcall> + <antcall target="echo" > + <param name="param" value="2" /> + </antcall> + <antcall target="echo" > + <param name="param" value="3" /> + </antcall> + <antcall target="echo" > + <param name="param" value="4" /> + </antcall> + </relentless> + </target> + + <target name="noTasks" depends="setup"> + <relentless> + </relentless> + </target> + +</project> diff --git a/test/src/net/sf/antcontrib/logic/RelentlessTaskTest.java b/test/src/net/sf/antcontrib/logic/RelentlessTaskTest.java new file mode 100644 index 0000000..a6b2246 --- /dev/null +++ b/test/src/net/sf/antcontrib/logic/RelentlessTaskTest.java @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2005 Ant-Contrib project. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT 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 net.sf.antcontrib.logic; + +import org.apache.tools.ant.BuildFileTest; + +/** + * Testcase for <relentless>. + * @author Christopher Heiny + */ +public class RelentlessTaskTest extends BuildFileTest { + + public RelentlessTaskTest(String name) { + super(name); + } + + public void setUp() { + configureProject("test/resources/logic/relentless.xml"); + } + + public void tearDown() { + executeTarget("teardown"); + } + + public void testSimpleTasks() { + simpleTest("simpleTasks"); + } + + public void testFailTask() { + expectSpecificBuildException("failTask", "2 failed tasks", + "Relentless execution: 2 of 4 tasks failed."); + } + + public void testNoTasks() { + expectSpecificBuildException("noTasks", "missing task list", + "No tasks specified for <relentless>."); + } + + + private void simpleTest(String target) { + executeTarget(target); + int last = -1; + for (int i = 1; i < 4; i++) { + int thisIdx = getLog().indexOf("Called with param: " + i); + assertTrue(thisIdx > last); + last = thisIdx; + } + } +} |