conor 2003/01/15 06:10:59
Modified: src/testcases/org/apache/tools/ant BuildFileTest.java
Added: src/etc/testcases/taskdefs/import import.xml imported.xml
unnamed1.xml unnamed2.xml unnamedImport.xml
src/testcases/org/apache/tools/ant/taskdefs ImportTest.java
Removed: src/etc/testcases/taskdefs import.xml imported.xml
Log:
Initial tests for Import including a test to highlight issue importing
unnamed projects
Revision Changes Path
1.1 jakarta-ant/src/etc/testcases/taskdefs/import/import.xml
Index: import.xml
===================================================================
<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>
1.1
jakarta-ant/src/etc/testcases/taskdefs/import/imported.xml
Index: imported.xml
===================================================================
<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>
1.1
jakarta-ant/src/etc/testcases/taskdefs/import/unnamed1.xml
Index: unnamed1.xml
===================================================================
<project default="test">
<import file="unnamed2.xml"/>
<echo message="Unnamed1.xml" level="info"/>
</project>
1.1
jakarta-ant/src/etc/testcases/taskdefs/import/unnamed2.xml
Index: unnamed2.xml
===================================================================
<project default="test">
<echo message="Unnamed2.xml" level="info"/>
</project>
1.1
jakarta-ant/src/etc/testcases/taskdefs/import/unnamedImport.xml
Index: unnamedImport.xml
===================================================================
<project name="unnamed-import" default="test">
<import file="unnamed1.xml"/>
<target name="test">
<echo level="info">Tests import of unnamed projects</echo>
</target>
</project>
1.19 +26 -1
jakarta-ant/src/testcases/org/apache/tools/ant/BuildFileTest.java
Index: BuildFileTest.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/testcases/org/apache/tools/ant/BuildFileTest.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -w -u -r1.18 -r1.19
--- BuildFileTest.java 6 Jan 2003 14:16:13 -0000 1.18
+++ BuildFileTest.java 15 Jan 2003 14:10:59 -0000 1.19
@@ -222,12 +222,22 @@
* @param filename name of project file to run
*/
protected void configureProject(String filename) throws BuildException {
+ configureProject(filename, Project.MSG_DEBUG);
+ }
+
+ /**
+ * set up to run the named project
+ *
+ * @param filename name of project file to run
+ */
+ protected void configureProject(String filename, int logLevel)
+ throws BuildException {
logBuffer = new StringBuffer();
fullLogBuffer = new StringBuffer();
project = new Project();
project.init();
project.setUserProperty( "ant.file" , new
File(filename).getAbsolutePath() );
- project.addBuildListener(new AntTestListener());
+ project.addBuildListener(new AntTestListener(logLevel));
ProjectHelper.configureProject(project, new File(filename));
}
@@ -407,6 +417,16 @@
* our own personal build listener
*/
private class AntTestListener implements BuildListener {
+ private int logLevel;
+
+ /**
+ * Constructs a test listener which will ignore log events
+ * above the given level
+ */
+ public AntTestListener(int logLevel) {
+ this.logLevel = logLevel;
+ }
+
/**
* Fired before any targets are started.
*/
@@ -467,6 +487,11 @@
* @see BuildEvent#getPriority()
*/
public void messageLogged(BuildEvent event) {
+ if (event.getPriority() > logLevel) {
+ // ignore event
+ return;
+ }
+
if (event.getPriority() == Project.MSG_INFO ||
event.getPriority() == Project.MSG_WARN ||
event.getPriority() == Project.MSG_ERR) {
1.1
jakarta-ant/src/testcases/org/apache/tools/ant/taskdefs/ImportTest.java
Index: ImportTest.java
===================================================================
/*
* The Apache Software License, Version 1.1
*
* Copyright (c) 2003 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 [EMAIL PROTECTED]
*
* 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
* <http://www.apache.org/>.
*/
package org.apache.tools.ant.taskdefs;
import org.apache.tools.ant.BuildFileTest;
import org.apache.tools.ant.Project;
/**
* @author Conor MacNeill
*/
public class ImportTest extends BuildFileTest {
public ImportTest(String name) {
super(name);
}
public void setUp() {
}
public void tearDown() {
}
public void testSimpleImport() {
configureProject("src/etc/testcases/taskdefs/import/import.xml");
}
public void testUnnamedNesting() {
configureProject("src/etc/testcases/taskdefs/import/unnamedImport.xml",
Project.MSG_WARN);
String log = getLog();
assertTrue("Warnings logged when not expected: " + log,
log.length() == 0);
}
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>