diff options
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional')
46 files changed, 0 insertions, 6889 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/ANTLRTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/ANTLRTest.java deleted file mode 100644 index 92584483..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/ANTLRTest.java +++ /dev/null @@ -1,216 +0,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. - * - */ - -package org.apache.tools.ant.taskdefs.optional; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.BuildFileRule; -import org.apache.tools.ant.FileUtilities; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -import java.io.File; -import java.io.FilenameFilter; - -import static org.apache.tools.ant.AntAssert.assertContains; -import static org.apache.tools.ant.AntAssert.assertNotContains; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -/** - * If you want to run tests, it is highly recommended - * to download ANTLR (www.antlr.org), build the 'antlrall.jar' jar - * with <code>make antlr-all.jar</code> and drop the jar (about 300KB) into - * Ant lib. - * - Running w/ the default antlr.jar (70KB) does not work (missing class) - * - * Unless of course you specify the ANTLR classpath in your - * system classpath. (see ANTLR install.html) - * - */ -public class ANTLRTest { - - private final static String TASKDEFS_DIR = "src/etc/testcases/taskdefs/optional/antlr/"; - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - @Before - public void setUp() { - buildRule.configureProject(TASKDEFS_DIR + "antlr.xml"); - } - - @Test - public void test1() { - try { - buildRule.executeTarget("test1"); - fail("required argument, target, missing"); - } catch (BuildException ex) { - //TODO should check exception message - } - } - - @Test - public void test2() { - try { - buildRule.executeTarget("test2"); - fail("Invalid output directory"); - } catch (BuildException ex) { - //TODO should check exception message - } - } - - @Test - public void test3() { - buildRule.executeTarget("test3"); - } - - @Test - public void test4() { - buildRule.executeTarget("test4"); - } - - @Test - public void test5() { - // should print "panic: Cannot find importVocab file 'JavaTokenTypes.txt'" - // since it needs to run java.g first before java.tree.g - try { - buildRule.executeTarget("test5"); - fail("ANTLR returned: 1"); - } catch (BuildException ex) { - //TODO should check exception message - } - } - - @Test - public void test6() { - buildRule.executeTarget("test6"); - } - - @Test - public void test7() { - try { - buildRule.executeTarget("test7"); - fail("Unable to determine generated class"); - } catch (BuildException ex) { - //TODO should check exception message - } - } - - /** - * This is a negative test for the super grammar (glib) option. - */ - @Test - public void test8() { - try { - buildRule.executeTarget("test8"); - fail("Invalid super grammar file"); - } catch (BuildException ex) { - //TODO should check exception message - } - } - - /** - * This is a positive test for the super grammar (glib) option. ANTLR - * will throw an error if everything is not correct. - */ - @Test - public void test9() { - buildRule.executeTarget("test9"); - } - - /** - * This test creates an html-ized version of the calculator grammar. - * The sanity check is simply whether or not an html file was generated. - */ - @Test - public void test10() { - buildRule.executeTarget("test10"); - File outputDirectory = new File(buildRule.getProject().getProperty("output")); - String[] calcFiles = outputDirectory.list(new HTMLFilter()); - assertTrue(calcFiles.length > 0); - } - - /** - * This is just a quick sanity check to run the diagnostic option and - * make sure that it doesn't throw any funny exceptions. - */ - @Test - public void test11() { - buildRule.executeTarget("test11"); - } - - /** - * This is just a quick sanity check to run the trace option and - * make sure that it doesn't throw any funny exceptions. - */ - @Test - public void test12() { - buildRule.executeTarget("test12"); - } - - /** - * This is just a quick sanity check to run all the rest of the - * trace options (traceLexer, traceParser, and traceTreeWalker) to - * make sure that they don't throw any funny exceptions. - */ - @Test - public void test13() { - buildRule.executeTarget("test13"); - } - - @Test - public void testNoRecompile() { - buildRule.executeTarget("test9"); - assertNotContains("Skipped grammar file.", buildRule.getFullLog()); - buildRule.executeTarget("noRecompile"); - assertContains("Skipped grammar file.", buildRule.getFullLog()); - } - - @Test - public void testNormalRecompile() { - buildRule.executeTarget("test9"); - assertNotContains("Skipped grammar file.", buildRule.getFullLog()); - - FileUtilities.rollbackTimetamps(buildRule.getOutputDir(), 5); - - buildRule.executeTarget("normalRecompile"); - assertNotContains("Skipped grammar file.", buildRule.getFullLog()); - } - - @Test - // Bugzilla Report 12961 - public void testSupergrammarChangeRecompile() { - buildRule.executeTarget("test9"); - assertNotContains("Skipped grammar file.", buildRule.getFullLog()); - - FileUtilities.rollbackTimetamps(buildRule.getOutputDir(), 5); - - buildRule.executeTarget("supergrammarChangeRecompile"); - assertNotContains("Skipped grammar file.", buildRule.getFullLog()); - - } - -} - -class HTMLFilter implements FilenameFilter { - public boolean accept(File dir, String name) { - return name.endsWith("html"); - } -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/AbstractXSLTLiaisonTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/AbstractXSLTLiaisonTest.java deleted file mode 100644 index 434e81f5..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/AbstractXSLTLiaisonTest.java +++ /dev/null @@ -1,104 +0,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. - * - */ - -package org.apache.tools.ant.taskdefs.optional; - -import static org.junit.Assert.assertEquals; - -import java.io.File; -import java.io.FileNotFoundException; -import java.net.URL; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; - -import org.apache.tools.ant.taskdefs.XSLTLiaison; -import org.apache.tools.ant.util.FileUtils; -import org.junit.Before; -import org.junit.Test; -import org.w3c.dom.Document; - -/** - * Abtract testcase for XSLTLiaison. - * Override createLiaison for each XSLTLiaison. - * - * <a href="sbailliez@apache.org">Stephane Bailliez</a> - */ -public abstract class AbstractXSLTLiaisonTest { - - private static final FileUtils FILE_UTILS = FileUtils.getFileUtils(); - - protected XSLTLiaison liaison; - - @Before - public void setUp() throws Exception { - liaison = createLiaison(); - } - - // to override - protected abstract XSLTLiaison createLiaison() throws Exception ; - - /** load the file from the caller classloader that loaded this class */ - protected File getFile(String name) throws FileNotFoundException { - URL url = getClass().getResource(name); - if (url == null){ - throw new FileNotFoundException("Unable to load '" + name + "' from classpath"); - } - return new File(FILE_UTILS.fromURI(url.toExternalForm())); - } - - /** keep it simple stupid */ - @Test - public void testTransform() throws Exception { - File xsl = getFile("/taskdefs/optional/xsltliaison-in.xsl"); - liaison.setStylesheet(xsl); - liaison.addParam("param", "value"); - File in = getFile("/taskdefs/optional/xsltliaison-in.xml"); - File out = new File("xsltliaison.tmp"); - out.deleteOnExit(); // just to be sure - try { - liaison.transform(in, out); - } finally { - out.delete(); - } - } - - @Test - public void testEncoding() throws Exception { - File xsl = getFile("/taskdefs/optional/xsltliaison-encoding-in.xsl"); - liaison.setStylesheet(xsl); - File in = getFile("/taskdefs/optional/xsltliaison-encoding-in.xml"); - File out = new File("xsltliaison-encoding.tmp"); - out.deleteOnExit(); // just to be sure - try { - liaison.transform(in, out); - Document doc = parseXML(out); - assertEquals("root",doc.getDocumentElement().getNodeName()); - assertEquals("message",doc.getDocumentElement().getFirstChild().getNodeName()); - assertEquals("\u00E9\u00E0\u00E8\u00EF\u00F9",doc.getDocumentElement().getFirstChild().getFirstChild().getNodeValue()); - } finally { - out.delete(); - } - } - - public Document parseXML(File file) throws Exception { - DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance(); - DocumentBuilder dbuilder = dbfactory.newDocumentBuilder(); - return dbuilder.parse(file); - } -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/BeanShellScriptTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/BeanShellScriptTest.java deleted file mode 100644 index 88020229..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/BeanShellScriptTest.java +++ /dev/null @@ -1,48 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional; - -import org.apache.tools.ant.BuildFileRule; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; - -/** - * Tests the examples of the <script> task docs. - * - * @since Ant 1.5.2 - */ -public class BeanShellScriptTest { - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - @Before - public void setUp() { - buildRule.configureProject("src/etc/testcases/taskdefs/optional/script.xml"); - } - - @Test - public void testCanLoad() { - buildRule.executeTarget("useBeanshell"); - assertEquals("I'm here", buildRule.getLog()); - } - -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/EchoPropertiesTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/EchoPropertiesTest.java deleted file mode 100644 index 925777c5..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/EchoPropertiesTest.java +++ /dev/null @@ -1,266 +0,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. - * - */ - -package org.apache.tools.ant.taskdefs.optional; - -import static org.apache.tools.ant.AntAssert.assertContains; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; -import static org.junit.Assume.assumeTrue; - -import java.io.BufferedInputStream; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileReader; -import java.io.IOException; -import java.io.InputStream; -import java.util.Properties; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.BuildFileRule; -import org.apache.tools.ant.util.regexp.RegexpMatcherFactory; -import org.junit.After; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -/** - * Tests the EchoProperties task. - * - * @created 17-Jan-2002 - * @since Ant 1.5 - */ -public class EchoPropertiesTest { - - private final static String TASKDEFS_DIR = "src/etc/testcases/taskdefs/optional/"; - private static final String GOOD_OUTFILE = "test.properties"; - private static final String GOOD_OUTFILE_XML = "test.xml"; - private static final String PREFIX_OUTFILE = "test-prefix.properties"; - private static final String TEST_VALUE = "isSet"; - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - - @Before - public void setUp() { - buildRule.configureProject(TASKDEFS_DIR + "echoproperties.xml"); - buildRule.getProject().setProperty("test.property", TEST_VALUE); - } - - - @After - public void tearDown() { - buildRule.executeTarget("cleanup"); - } - - - @Test - public void testEchoToLog() { - buildRule.executeTarget("testEchoToLog"); - assertContains("test.property=" + TEST_VALUE, buildRule.getLog()); - } - - @Test - public void testEchoWithEmptyPrefixToLog() { - buildRule.executeTarget("testEchoWithEmptyPrefixToLog"); - assertContains("test.property="+TEST_VALUE, buildRule.getLog()); - } - - - @Test - public void testReadBadFile() { - try { - buildRule.executeTarget("testReadBadFile"); - fail("BuildException should have been thrown on bad file"); - } - catch(BuildException ex) { - assertContains("srcfile is a directory","srcfile is a directory!", ex.getMessage()); - } - } - - @Test - public void testReadBadFileNoFail() { - buildRule.executeTarget("testReadBadFileNoFail"); - assertContains("srcfile is a directory!", buildRule.getLog()); - } - - - @Test - public void testEchoToBadFile() { - try { - buildRule.executeTarget("testEchoToBadFile"); - fail("BuildException should have been thrown on destination file being a directory"); - } catch(BuildException ex) { - assertContains("destfile is a directory", "destfile is a directory!", ex.getMessage()); - } - } - - - @Test - public void testEchoToBadFileNoFail() { - buildRule.executeTarget("testEchoToBadFileNoFail"); - assertContains("destfile is a directory!", buildRule.getLog()); - } - - - @Test - public void testEchoToGoodFile() throws Exception { - buildRule.executeTarget("testEchoToGoodFile"); - assertGoodFile(); - } - - - @Test - public void testEchoToGoodFileXml() throws Exception { - buildRule.executeTarget("testEchoToGoodFileXml"); - - // read in the file - File f = createRelativeFile(GOOD_OUTFILE_XML); - FileReader fr = new FileReader(f); - BufferedReader br = new BufferedReader(fr); - try { - String read = null; - while ((read = br.readLine()) != null) { - if (read.indexOf("<property name=\"test.property\" value=\""+TEST_VALUE+"\" />") >= 0) { - // found the property we set - it's good. - return; - } - } - fail("did not encounter set property in generated file."); - } finally { - try { - fr.close(); - } catch(IOException e) {} - try { - br.close(); - } catch(IOException e) {} - } - } - - - @Test - public void testEchoToGoodFileFail() throws Exception { - buildRule.executeTarget("testEchoToGoodFileFail"); - assertGoodFile(); - } - - - @Test - public void testEchoToGoodFileNoFail() throws Exception { - buildRule.executeTarget("testEchoToGoodFileNoFail"); - assertGoodFile(); - } - - @Test - public void testEchoPrefix() throws Exception { - testEchoPrefixVarious("testEchoPrefix"); - } - - @Test - public void testEchoPrefixAsPropertyset() throws Exception { - testEchoPrefixVarious("testEchoPrefixAsPropertyset"); - } - - @Test - public void testEchoPrefixAsNegatedPropertyset() throws Exception { - testEchoPrefixVarious("testEchoPrefixAsNegatedPropertyset"); - } - - @Test - public void testEchoPrefixAsDoublyNegatedPropertyset() throws Exception { - testEchoPrefixVarious("testEchoPrefixAsDoublyNegatedPropertyset"); - } - - @Test - public void testWithPrefixAndRegex() throws Exception { - try { - buildRule.executeTarget("testWithPrefixAndRegex"); - fail("BuildException should have been thrown on Prefix and RegEx beng set"); - } catch (BuildException ex) { - assertEquals("The target must fail with prefix and regex attributes set", "Please specify either prefix or regex, but not both", ex.getMessage()); - } - } - - @Test - public void testWithEmptyPrefixAndRegex() throws Exception { - buildRule.executeTarget("testEchoWithEmptyPrefixToLog"); - assertContains("test.property="+TEST_VALUE, buildRule.getLog()); - } - - @Test - public void testWithRegex() throws Exception { - assumeTrue("Test skipped because no regexp matcher is present.", RegexpMatcherFactory.regexpMatcherPresent(buildRule.getProject())); - buildRule.executeTarget("testWithRegex"); - // the following line has been changed from checking ant.home to ant.version so the test will still work when run outside of an ant script - assertContains("ant.version=", buildRule.getFullLog()); - } - - private void testEchoPrefixVarious(String target) throws Exception { - buildRule.executeTarget(target); - Properties props = loadPropFile(PREFIX_OUTFILE); - assertEquals("prefix didn't include 'a.set' property", - "true", props.getProperty("a.set")); - assertNull("prefix failed to filter out property 'b.set'", - props.getProperty("b.set")); - } - - protected Properties loadPropFile(String relativeFilename) - throws IOException { - File f = createRelativeFile(relativeFilename); - Properties props=new Properties(); - InputStream in=null; - try { - in=new BufferedInputStream(new FileInputStream(f)); - props.load(in); - } finally { - if(in!=null) { - try { in.close(); } catch(IOException e) {} - } - } - return props; - } - - protected void assertGoodFile() throws Exception { - File f = createRelativeFile(GOOD_OUTFILE); - assertTrue("Did not create "+f.getAbsolutePath(), - f.exists()); - Properties props=loadPropFile(GOOD_OUTFILE); - props.list(System.out); - assertEquals("test property not found ", - TEST_VALUE, props.getProperty("test.property")); - } - - - protected String toAbsolute(String filename) { - return createRelativeFile(filename).getAbsolutePath(); - } - - - protected File createRelativeFile(String filename) { - if (filename.equals(".")) { - return buildRule.getProject().getBaseDir(); - } - // else - return new File(buildRule.getProject().getBaseDir(), filename); - } -} - diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/JavahTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/JavahTest.java deleted file mode 100644 index 8b02fff5..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/JavahTest.java +++ /dev/null @@ -1,60 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional; - -import org.apache.tools.ant.BuildFileRule; -import org.junit.After; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -import java.io.File; - -import static org.junit.Assert.assertTrue; - -public class JavahTest { - - private final static String BUILD_XML = - "src/etc/testcases/taskdefs/optional/javah/build.xml"; - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - @Before - public void setUp() { - buildRule.configureProject(BUILD_XML); - } - - @After - public void tearDown() { - buildRule.executeTarget("tearDown"); - } - - @Test - public void testSimpleCompile() { - buildRule.executeTarget("simple-compile"); - assertTrue(new File(buildRule.getProject().getProperty("output"), "org_example_Foo.h") - .exists()); - } - - @Test - public void testCompileFileset() { - buildRule.executeTarget("test-fileset"); - assertTrue(new File(buildRule.getProject().getProperty("output"), "org_example_Foo.h").exists()); - } -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/JspcTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/JspcTest.java deleted file mode 100644 index 57475cc1..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/JspcTest.java +++ /dev/null @@ -1,200 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional; - -import java.io.File; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.BuildFileRule; -import org.apache.tools.ant.taskdefs.optional.jsp.Jasper41Mangler; -import org.apache.tools.ant.taskdefs.optional.jsp.JspMangler; -import org.apache.tools.ant.taskdefs.optional.jsp.JspNameMangler; -import org.apache.tools.ant.taskdefs.optional.jsp.compilers.JspCompilerAdapter; -import org.apache.tools.ant.taskdefs.optional.jsp.compilers.JspCompilerAdapterFactory; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Rule; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -/** - * Tests the Jspc task. - * - * created 07 March 2002 - * @since Ant 1.5 - */ -public class JspcTest { - - private final static String TASKDEFS_DIR = "src/etc/testcases/taskdefs/optional/"; - - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - @Before - public void setUp() { - buildRule.configureProject(TASKDEFS_DIR + "jspc.xml"); - } - - - - @Test - public void testSimple() { - executeJspCompile("testSimple", "simple_jsp.java"); - } - - - @Test - public void testUriroot() throws Exception { - executeJspCompile("testUriroot", "uriroot_jsp.java"); - } - - - @Test - public void testXml() throws Exception { - executeJspCompile("testXml", "xml_jsp.java"); - } - - - /** - * try a keyword in a file - */ - @Test - public void testKeyword() throws Exception { - executeJspCompile("testKeyword", "default_jsp.java"); - } - - - /** - * what happens to 1nvalid-classname - */ - @Test - public void testInvalidClassname() throws Exception { - executeJspCompile("testInvalidClassname", - "_1nvalid_0002dclassname_jsp.java"); - } - - - @Test - public void testNoTld() throws Exception { - try { - buildRule.executeTarget("testNoTld"); - fail("Not found"); - } catch (BuildException ex) { - assertEquals("Java returned: 9", ex.getMessage()); - } - } - - - @Test - public void testNotAJspFile() throws Exception { - buildRule.executeTarget("testNotAJspFile"); - } - - /** - * webapp test is currently broken, because it picks up - * on the missing_tld file, and bails. - */ - @Ignore("picks up on the missing_tld file, and incorrectly bails") - @Test - public void testWebapp() throws Exception { - buildRule.executeTarget("testWebapp"); - } - - /** - * run a target then verify the named file gets created - * - * @param target Description of Parameter - * @param javafile Description of Parameter - */ - protected void executeJspCompile(String target, String javafile) { - buildRule.executeTarget(target); - assertJavaFileCreated(javafile); - } - - - /** - * verify that a named file was created - * - * @param filename Description of Parameter - */ - protected void assertJavaFileCreated(String filename) { - File file = getOutputFile(filename); - assertTrue("file " + filename + " not found", file.exists()); - assertTrue("file " + filename + " is empty", file.length() > 0); - } - - /** - * Gets the OutputFile attribute of the JspcTest object - * - * @param subpath Description of Parameter - * @return The OutputFile value - */ - protected File getOutputFile(String subpath) { - return new File(buildRule.getProject().getProperty("output"), subpath); - } - - /** - * verify that we select the appropriate mangler - */ - @Test - public void testJasperNameManglerSelection() { - JspCompilerAdapter adapter= - JspCompilerAdapterFactory.getCompiler("jasper", null,null); - JspMangler mangler=adapter.createMangler(); - assertTrue(mangler instanceof JspNameMangler); - adapter= JspCompilerAdapterFactory.getCompiler("jasper41", null, null); - mangler = adapter.createMangler(); - assertTrue(mangler instanceof Jasper41Mangler); - } - - @Test - public void testJasper41() { - JspMangler mangler = new Jasper41Mangler(); - //java keywords are not special - assertMapped(mangler, "for.jsp", "for_jsp"); - //underscores go in front of invalid start chars - assertMapped(mangler, "0.jsp", "_0_jsp"); - //underscores at the front get an underscore too - assertMapped(mangler, "_.jsp", "___jsp"); - //non java char at start => underscore then the the _hex value - assertMapped(mangler, "-.jsp", "__0002d_jsp"); - //and paths are stripped - char s = File.separatorChar; - assertMapped(mangler, "" + s + s + "somewhere" + s + "file" + s + "index.jsp", "index_jsp"); - } - - /** - * assert our mapping rules - * @param mangler - * @param filename - * @param classname - */ - protected void assertMapped(JspMangler mangler, String filename, String classname) { - String mappedname = mangler.mapJspToJavaName(new File(filename)); - assertTrue(filename+" should have mapped to "+classname - +" but instead mapped to "+mappedname, - classname.equals(mappedname)); - } - - -} - diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/Native2AsciiTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/Native2AsciiTest.java deleted file mode 100644 index 53da2af4..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/Native2AsciiTest.java +++ /dev/null @@ -1,57 +0,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. - * - */ - -package org.apache.tools.ant.taskdefs.optional; - -import java.io.File; - -import org.apache.tools.ant.BuildFileRule; -import org.apache.tools.ant.util.FileUtils; -import org.junit.After; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -import static org.junit.Assert.assertTrue; - -public class Native2AsciiTest { - - private final static String BUILD_XML = - "src/etc/testcases/taskdefs/optional/native2ascii/build.xml"; - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - @Before - public void setUp() { - buildRule.configureProject(BUILD_XML); - } - - @After - public void tearDown() { - buildRule.executeTarget("tearDown"); - } - - @Test - public void testIso8859_1() throws java.io.IOException { - buildRule.executeTarget("testIso8859-1"); - File in = buildRule.getProject().resolveFile("expected/iso8859-1.test"); - File out = new File(buildRule.getProject().getProperty("output"), "iso8859-1.test"); - assertTrue(FileUtils.getFileUtils().contentEquals(in, out, true)); - } -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/PropertyFileTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/PropertyFileTest.java deleted file mode 100644 index 7056ca90..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/PropertyFileTest.java +++ /dev/null @@ -1,235 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.util.Properties; - -import org.apache.tools.ant.BuildFileRule; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Rule; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; - -/** - * JUnit testcase that exercises the optional PropertyFile task in ant. - * (this is really more of a functional test so far.., but it's enough to let - * me start refactoring...) - * - *created October 2, 2001 - */ - -public class PropertyFileTest { - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - @Before - public void setUp() throws Exception { - buildRule.configureProject(projectFilePath); - buildRule.executeTarget("setUp"); - initTestPropFile(); - initBuildPropFile(); - buildRule.configureProject(projectFilePath); - buildRule.getProject().setProperty(valueDoesNotGetOverwrittenPropertyFileKey, - valueDoesNotGetOverwrittenPropertyFile); - } - - - @Test - public void testNonExistingFile() { - PropertyFile props = new PropertyFile(); - props.setProject( buildRule.getProject() ); - File file = new File("this-file-does-not-exist.properties"); - props.setFile(file); - assertFalse("Properties file exists before test.", file.exists()); - props.execute(); - assertTrue("Properties file does not exist after test.", file.exists()); - file.delete(); - } - - /** - * A unit test for JUnit- Exercises the propertyfile tasks ability to - * update properties that are already defined- - */ - @Test - public void testUpdatesExistingProperties() throws Exception { - Properties beforeUpdate = getTestProperties(); - assertEquals(FNAME, beforeUpdate.getProperty(FNAME_KEY)); - assertEquals(LNAME, beforeUpdate.getProperty(LNAME_KEY)); - assertEquals(EMAIL, beforeUpdate.getProperty(EMAIL_KEY)); - assertEquals(null, beforeUpdate.getProperty(PHONE_KEY)); - assertEquals(null, beforeUpdate.getProperty(AGE_KEY)); - assertEquals(null, beforeUpdate.getProperty(DATE_KEY)); - - // ask ant to update the properties... - buildRule.executeTarget("update-existing-properties"); - - Properties afterUpdate = getTestProperties(); - assertEquals(NEW_FNAME, afterUpdate.getProperty(FNAME_KEY)); - assertEquals(NEW_LNAME, afterUpdate.getProperty(LNAME_KEY)); - assertEquals(NEW_EMAIL, afterUpdate.getProperty(EMAIL_KEY)); - assertEquals(NEW_PHONE, afterUpdate.getProperty(PHONE_KEY)); - assertEquals(NEW_AGE, afterUpdate.getProperty(AGE_KEY)); - assertEquals(NEW_DATE, afterUpdate.getProperty(DATE_KEY)); - } - - @Test - public void testDeleteProperties() throws Exception { - Properties beforeUpdate = getTestProperties(); - assertEquals("Property '" + FNAME_KEY + "' should exist before deleting", - FNAME, beforeUpdate.getProperty(FNAME_KEY)); - assertEquals("Property '" + LNAME_KEY + "' should exist before deleting", - LNAME, beforeUpdate.getProperty(LNAME_KEY)); - - buildRule.executeTarget("delete-properties"); - Properties afterUpdate = getTestProperties(); - - assertEquals("Property '" + LNAME_KEY + "' should exist after deleting", - LNAME, afterUpdate.getProperty(LNAME_KEY)); - assertNull("Property '" + FNAME_KEY + "' should be deleted", - afterUpdate.getProperty(FNAME_KEY)); - } - - @Test - public void testExerciseDefaultAndIncrement() throws Exception { - buildRule.executeTarget("exercise"); - assertEquals("3",buildRule.getProject().getProperty("int.with.default")); - assertEquals("1",buildRule.getProject().getProperty("int.without.default")); - assertEquals("-->",buildRule.getProject().getProperty("string.with.default")); - assertEquals(".",buildRule.getProject().getProperty("string.without.default")); - assertEquals("2002/01/21 12:18", buildRule.getProject().getProperty("ethans.birth")); - assertEquals("2003/01/21", buildRule.getProject().getProperty("first.birthday")); - assertEquals("0124", buildRule.getProject().getProperty("olderThanAWeek")); - assertEquals("37", buildRule.getProject().getProperty("existing.prop")); - assertEquals("6",buildRule.getProject().getProperty("int.without.value")); - } - - @Test - public void testValueDoesNotGetOverwritten() { - // this test shows that the bug report 21505 is fixed - buildRule.executeTarget("bugDemo1"); - buildRule.executeTarget("bugDemo2"); - assertEquals("5", buildRule.getProject().getProperty("foo")); - } - - - @Test - @Ignore("Previously commented out") - public void testDirect() throws Exception { - PropertyFile pf = new PropertyFile(); - pf.setProject(buildRule.getProject()); - pf.setFile(new File(System.getProperty("root"), testPropsFilePath)); - PropertyFile.Entry entry = pf.createEntry(); - - entry.setKey("date"); - entry.setValue("123"); - PropertyFile.Entry.Type type = new PropertyFile.Entry.Type(); - type.setValue("date"); - entry.setType(type); - - entry.setPattern("yyyy/MM/dd"); - - PropertyFile.Entry.Operation operation = new PropertyFile.Entry.Operation(); - operation.setValue("+"); - pf.execute(); - - Properties props = getTestProperties(); - assertEquals("yeehaw", props.getProperty("date")); - } - - - private Properties getTestProperties() throws Exception { - Properties testProps = new Properties(); - FileInputStream propsFile = new FileInputStream(new File(buildRule.getOutputDir(), testPropsFilePath)); - testProps.load(propsFile); - propsFile.close(); - return testProps; - } - - - private void initTestPropFile() throws IOException { - Properties testProps = new Properties(); - testProps.put(FNAME_KEY, FNAME); - testProps.put(LNAME_KEY, LNAME); - testProps.put(EMAIL_KEY, EMAIL); - testProps.put("existing.prop", "37"); - - FileOutputStream fos = new FileOutputStream(new File(buildRule.getOutputDir(), testPropsFilePath)); - testProps.store(fos, "defaults"); - fos.close(); - } - - - private void initBuildPropFile() throws IOException { - Properties buildProps = new Properties(); - buildProps.put(testPropertyFileKey, testPropertyFile); - buildProps.put(FNAME_KEY, NEW_FNAME); - buildProps.put(LNAME_KEY, NEW_LNAME); - buildProps.put(EMAIL_KEY, NEW_EMAIL); - buildProps.put(PHONE_KEY, NEW_PHONE); - buildProps.put(AGE_KEY, NEW_AGE); - buildProps.put(DATE_KEY, NEW_DATE); - - FileOutputStream fos = new FileOutputStream(new File(buildRule.getOutputDir(), buildPropsFilePath)); - buildProps.store(fos, null); - fos.close(); - } - - private static final String - projectFilePath = "src/etc/testcases/taskdefs/optional/propertyfile.xml", - - testPropertyFile = "propertyfile.test.properties", - testPropertyFileKey = "test.propertyfile", - testPropsFilePath = testPropertyFile, - - valueDoesNotGetOverwrittenPropertyFile = "overwrite.test.properties", - valueDoesNotGetOverwrittenPropertyFileKey = "overwrite.test.propertyfile", - valueDoesNotGetOverwrittenPropsFilePath = valueDoesNotGetOverwrittenPropertyFile, - - buildPropsFilePath = "propertyfile.build.properties", - - FNAME = "Bruce", - NEW_FNAME = "Clark", - FNAME_KEY = "firstname", - - LNAME = "Banner", - NEW_LNAME = "Kent", - LNAME_KEY = "lastname", - - EMAIL = "incredible@hulk.com", - NEW_EMAIL = "kc@superman.com", - EMAIL_KEY = "email", - - NEW_PHONE = "(520) 555-1212", - PHONE_KEY = "phone", - - NEW_AGE = "30", - AGE_KEY = "age", - - NEW_DATE = "2001/01/01 12:45", - DATE_KEY = "date"; -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/PvcsTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/PvcsTest.java deleted file mode 100644 index cd7a4316..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/PvcsTest.java +++ /dev/null @@ -1,79 +0,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. - * - */ - -package org.apache.tools.ant.taskdefs.optional; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.BuildFileRule; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -import static org.junit.Assert.fail; - -public class PvcsTest { - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - @Before - public void setUp() { - buildRule.configureProject("src/etc/testcases/taskdefs/optional/pvcs.xml"); - } - - @Test - public void test1() { - try { - buildRule.executeTarget("test1"); - fail("Required argument repository not specified"); - } catch (BuildException ex) { - //TODO check exception message - } - } - - @Test - public void test2() { - buildRule.executeTarget("test2"); - } - - @Test - public void test3() { - buildRule.executeTarget("test3"); - } - - @Test - public void test4() { - buildRule.executeTarget("test4"); - } - - @Test - public void test5() { - buildRule.executeTarget("test5"); - } - - @Test - public void test6() { - try { - buildRule.executeTarget("test6"); - fail("Failed executing: /never/heard/of/a/directory/structure/like/this/pcli lvf -z " + - "-aw -pr//ct4serv2/pvcs/monitor /. Exception: /never/heard/of/a/directory/structure/like/this/pcli: not found"); - } catch(BuildException ex) { - //TODO assert exception message - } - } -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/ReplaceRegExpTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/ReplaceRegExpTest.java deleted file mode 100644 index b6c09a5c..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/ReplaceRegExpTest.java +++ /dev/null @@ -1,132 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional; - -import org.apache.tools.ant.BuildFileRule; -import org.apache.tools.ant.FileUtilities; -import org.apache.tools.ant.util.FileUtils; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -import java.util.Properties; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.assertNull; -import static org.junit.Assume.assumeTrue; - -/** - * JUnit Testcase for the optional replaceregexp task. - * - */ -public class ReplaceRegExpTest { - private static final String PROJECT_PATH = "src/etc/testcases/taskdefs/optional"; - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - @Before - public void setUp() { - buildRule.configureProject(PROJECT_PATH + "/replaceregexp.xml"); - } - - @Test - public void testReplace() throws IOException { - Properties original = new Properties(); - FileInputStream propsFile = null; - try { - propsFile = new FileInputStream(new File(buildRule.getProject().getBaseDir() + "/replaceregexp.properties")); - original.load(propsFile); - } finally { - if (propsFile != null) { - propsFile.close(); - propsFile = null; - } - } - - assertEquals("Def", original.get("OldAbc")); - - buildRule.executeTarget("testReplace"); - - Properties after = new Properties(); - try { - propsFile = new FileInputStream(new File(buildRule.getOutputDir(), "test.properties")); - after.load(propsFile); - } finally { - if (propsFile != null) { - propsFile.close(); - } - } - - assertNull(after.get("OldAbc")); - assertEquals("AbcDef", after.get("NewProp")); - } - - // inspired by bug 22541 - @Test - public void testDirectoryDateDoesNotChange() { - buildRule.executeTarget("touchDirectory"); - File myFile = buildRule.getOutputDir(); - long timeStampBefore = myFile.lastModified(); - buildRule.executeTarget("testDirectoryDateDoesNotChange"); - long timeStampAfter = myFile.lastModified(); - assertEquals("directory date should not change", - timeStampBefore, timeStampAfter); - } - - @Test - public void testDontAddNewline1() throws IOException { - buildRule.executeTarget("testDontAddNewline1"); - assertEquals(FileUtilities.getFileContents(new File(buildRule.getOutputDir(), "test.properties")), - FileUtilities.getFileContents(new File(buildRule.getProject().getBaseDir(), "replaceregexp2.result.properties"))); - } - - @Test - public void testDontAddNewline2() throws IOException { - buildRule.executeTarget("testDontAddNewline2"); - assertEquals(FileUtilities.getFileContents(new File(buildRule.getOutputDir(), "test.properties")), - FileUtilities.getFileContents(new File(buildRule.getProject().getBaseDir(), "replaceregexp2.result.properties"))); - } - - @Test - public void testNoPreserveLastModified() throws Exception { - buildRule.executeTarget("lastModifiedSetup"); - File testFile = new File(buildRule.getOutputDir(), "test.txt"); - assumeTrue(testFile.setLastModified(testFile.lastModified() - - (FileUtils.getFileUtils().getFileTimestampGranularity() * 3))); - long ts1 = testFile.lastModified(); - buildRule.executeTarget("testNoPreserve"); - assertTrue(ts1 < testFile.lastModified()); - } - - @Test - public void testPreserveLastModified() throws Exception { - buildRule.executeTarget("lastModifiedSetup"); - File testFile = new File(buildRule.getOutputDir(), "test.txt"); - assumeTrue(testFile.setLastModified(testFile.lastModified() - - (FileUtils.getFileUtils().getFileTimestampGranularity() * 3))); - long ts1 = testFile.lastModified(); - buildRule.executeTarget("testPreserve"); - assertEquals(ts1 , testFile.lastModified()); - } - -}// ReplaceRegExpTest diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/RhinoReferenceTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/RhinoReferenceTest.java deleted file mode 100644 index 41803de6..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/RhinoReferenceTest.java +++ /dev/null @@ -1,45 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional; - -import org.apache.tools.ant.BuildFileRule; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -/** - * Tests using an undefined reference. - * - * @since Ant 1.6 - */ -public class RhinoReferenceTest { - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - @Before - public void setUp() { - buildRule.configureProject( - "src/etc/testcases/taskdefs/optional/script_reference.xml"); - } - - @Test - public void testScript() { - buildRule.executeTarget("script"); - } -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/RhinoScriptTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/RhinoScriptTest.java deleted file mode 100644 index 35576dcb..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/RhinoScriptTest.java +++ /dev/null @@ -1,67 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional; - -import org.apache.tools.ant.BuildFileRule; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -import static org.junit.Assert.assertTrue; - -/** - * Tests the examples of the <script> task docs. - * - * @since Ant 1.5.2 - */ -public class RhinoScriptTest { - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - @Before - public void setUp() { - buildRule.configureProject("src/etc/testcases/taskdefs/optional/script.xml"); - } - - @Test - public void testExample1() { - buildRule.executeTarget("example1"); - int index = buildRule.getLog().indexOf("1"); - assertTrue(index > -1); - index = buildRule.getLog().indexOf("4", index); - assertTrue(index > -1); - index = buildRule.getLog().indexOf("9", index); - assertTrue(index > -1); - index = buildRule.getLog().indexOf("16", index); - assertTrue(index > -1); - index = buildRule.getLog().indexOf("25", index); - assertTrue(index > -1); - index = buildRule.getLog().indexOf("36", index); - assertTrue(index > -1); - index = buildRule.getLog().indexOf("49", index); - assertTrue(index > -1); - index = buildRule.getLog().indexOf("64", index); - assertTrue(index > -1); - index = buildRule.getLog().indexOf("81", index); - assertTrue(index > -1); - index = buildRule.getLog().indexOf("100", index); - assertTrue(index > -1); - } - -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/RpmTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/RpmTest.java deleted file mode 100644 index ac4462d5..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/RpmTest.java +++ /dev/null @@ -1,71 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.taskdefs.Execute; -import org.apache.tools.ant.taskdefs.ExecuteStreamHandler; -import org.apache.tools.ant.types.Commandline; - -import org.junit.Test; - -import static org.junit.Assert.fail; -import static org.apache.tools.ant.AntAssert.assertContains; - -public class RpmTest { - - @Test - public void testShouldThrowExceptionWhenRpmFails() throws Exception { - Rpm rpm = new MyRpm(); - rpm.setProject(new org.apache.tools.ant.Project()); - rpm.setFailOnError(true); - // execute - try { - rpm.execute(); - fail("should have thrown a build exception"); - } catch (BuildException ex) { - assertContains("' failed with exit code 2", ex.getMessage()); - } - } - - @Test - public void testShouldNotThrowExceptionWhenRpmFails() throws Exception { - Rpm rpm = new MyRpm(); - rpm.execute(); - } - - // override some of the code so we can test the handling of the - // return code only. - public static class MyRpm extends Rpm { - protected Execute getExecute(Commandline toExecute, - ExecuteStreamHandler streamhandler) { - return new Execute() { - public int execute() { - // 2 is != 0 and even, so it is considered - // failure on any platform currently supported - // by Execute#isFailure. - return 2; - } - }; - } - - public void log(String msg, int msgLevel) { - } - } - -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/SchemaValidateTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/SchemaValidateTest.java deleted file mode 100644 index 667c8904..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/SchemaValidateTest.java +++ /dev/null @@ -1,128 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional; - -import org.apache.tools.ant.AntAssert; -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.BuildFileRule; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -import static org.junit.Assert.fail; - -/** - * Test schema validation - */ - -public class SchemaValidateTest { - - /** - * where tasks run - */ - private final static String TASKDEFS_DIR = - "src/etc/testcases/taskdefs/optional/"; - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - @Before - public void setUp() { - buildRule.configureProject(TASKDEFS_DIR + "schemavalidate.xml"); - } - - /** - * test with no namespace - */ - @Test - public void testNoNamespace() throws Exception { - buildRule.executeTarget("testNoNamespace"); - } - - /** - * add namespace awareness. - */ - @Test - public void testNSMapping() throws Exception { - buildRule.executeTarget("testNSMapping"); - } - - @Test - public void testNoEmptySchemaNamespace() throws Exception { - try { - buildRule.executeTarget("testNoEmptySchemaNamespace"); - fail("Empty namespace URI"); - } catch (BuildException ex) { - AntAssert.assertContains(SchemaValidate.SchemaLocation.ERROR_NO_URI, ex.getMessage()); - } - } - - @Test - public void testNoEmptySchemaLocation() throws Exception { - try { - buildRule.executeTarget("testNoEmptySchemaLocation"); - fail("Empty schema location"); - } catch (BuildException ex) { - AntAssert.assertContains(SchemaValidate.SchemaLocation.ERROR_NO_LOCATION, - ex.getMessage()); - } - } - - @Test - public void testNoFile() throws Exception { - try { - buildRule.executeTarget("testNoFile"); - fail("No file at file attribute"); - } catch (BuildException ex) { - AntAssert.assertContains(SchemaValidate.SchemaLocation.ERROR_NO_FILE, - ex.getMessage()); - } - } - - @Test - public void testNoDoubleSchemaLocation() throws Exception { - try { - buildRule.executeTarget("testNoDoubleSchemaLocation"); - fail("Two locations for schemas"); - } catch (BuildException ex) { - AntAssert.assertContains(SchemaValidate.SchemaLocation.ERROR_TWO_LOCATIONS, - ex.getMessage()); - } - } - - @Test - public void testNoDuplicateSchema() throws Exception { - try { - buildRule.executeTarget("testNoDuplicateSchema"); - fail("duplicate schemas with different values"); - } catch (BuildException ex) { - AntAssert.assertContains(SchemaValidate.ERROR_DUPLICATE_SCHEMA, - ex.getMessage()); - } - } - - @Test - public void testEqualsSchemasOK() throws Exception { - buildRule.executeTarget("testEqualsSchemasOK"); - } - - @Test - public void testFileset() throws Exception { - buildRule.executeTarget("testFileset"); - } -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java deleted file mode 100644 index 02281eb6..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java +++ /dev/null @@ -1,129 +0,0 @@ -package org.apache.tools.ant.taskdefs.optional; - -import static org.junit.Assert.assertTrue; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.InputStream; -import java.security.Permission; - -import junit.framework.AssertionFailedError; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.taskdefs.XSLTLiaison; -import org.apache.tools.ant.taskdefs.XSLTLogger; -import org.apache.tools.ant.util.JAXPUtils; -import org.junit.After; -import org.junit.Assume; -import org.junit.Test; - -/* - * 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. - * - */ - -/** - * TraX XSLTLiaison testcase - */ -public class TraXLiaisonTest extends AbstractXSLTLiaisonTest - implements XSLTLogger { - - - @After - public void tearDown() { - File f = new File("xalan2-redirect-out.tmp"); - if (f.exists()) { - f.delete(); - } - } - - public XSLTLiaison createLiaison() throws Exception { - TraXLiaison l = new TraXLiaison(); - l.setLogger(this); - return l; - } - - @Test - public void testXalan2Redirect() throws Exception { - try { - getClass().getClassLoader().loadClass("org.apache.xalan.lib.Redirect"); - } catch (Exception exc) { - Assume.assumeNoException("xalan redirect is not on the classpath", exc); - } - File xsl = getFile("/taskdefs/optional/xalan-redirect-in.xsl"); - liaison.setStylesheet(xsl); - File out = new File("xalan2-redirect-out-dummy.tmp"); - File in = getFile("/taskdefs/optional/xsltliaison-in.xsl"); - ClassLoader orig = Thread.currentThread().getContextClassLoader(); - try { - liaison.addParam("xalan-version", "2"); - // Use the JRE's Xerces, not lib/optional/xerces.jar: - Thread.currentThread().setContextClassLoader(new ClassLoader(ClassLoader.getSystemClassLoader().getParent()) { - public InputStream getResourceAsStream(String name) { - if (name.startsWith("META-INF/services/")) { - // work around JAXP #6723276 in JDK 6 - return new ByteArrayInputStream(new byte[0]); - } - return super.getResourceAsStream(name); - } - }); - // Tickle #52382: - System.setSecurityManager(new SecurityManager() {public void checkPermission(Permission perm) {}}); - liaison.transform(in, out); - } finally { - out.delete(); - Thread.currentThread().setContextClassLoader(orig); - System.setSecurityManager(null); - } - } - - @Test - public void testMultipleTransform() throws Exception { - File xsl = getFile("/taskdefs/optional/xsltliaison-in.xsl"); - liaison.setStylesheet(xsl); - liaison.addParam("param", "value"); - File in = getFile("/taskdefs/optional/xsltliaison-in.xml"); - // test for 10 consecutives transform - for (int i = 0; i < 50; i++){ - File out = new File("xsltliaison" + i + ".tmp"); - try { - liaison.transform(in, out); - } catch (Exception e){ - throw new BuildException("failed in transform " + i, e); - } finally { - out.delete(); - } - } - } - - @Test - public void testSystemId(){ - File file = null; - if ( File.separatorChar == '\\' ){ - file = new File("d:\\jdk"); - } else { - file = new File("/user/local/bin"); - } - String systemid = JAXPUtils.getSystemId(file); - assertTrue("SystemIDs should start by file:/", systemid.startsWith("file:/")); - assertTrue("SystemIDs should not start with file:////", !systemid.startsWith("file:////")); - } - - public void log(String message) { - throw new AssertionFailedError("Liaison sent message: "+message); - } - -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XmlValidateCatalogTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XmlValidateCatalogTest.java deleted file mode 100644 index c9948bb9..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XmlValidateCatalogTest.java +++ /dev/null @@ -1,71 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional; - -import org.apache.tools.ant.BuildFileRule; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -/** - * Tests the XMLValidate optional task with nested external catalogs. - * - * @see XmlValidateTest - * @since Ant 1.6 - */ -public class XmlValidateCatalogTest { - - /** - * where tasks run - */ - private final static String TASKDEFS_DIR = "src/etc/testcases/taskdefs/optional/"; - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - @Before - public void setUp() { - buildRule.configureProject(TASKDEFS_DIR + "xmlvalidate.xml"); - } - - - /** - * catalogfiles fileset should be ignored - * if resolver.jar is not present, but will - * be used if it is. either way, test should - * work b/c we have a nested dtd with the same - * entity - */ - @Test - public void testXmlCatalogFiles() { - buildRule.executeTarget("xmlcatalogfiles"); - } - - /** - * Test nested catalogpath. - * It should be ignored if resolver.jar is not - * present, but will be used if it is. either - * way, test should work b/c we have a nested - * dtd with the same entity - */ - @Test - public void testXmlCatalogPath() { - buildRule.executeTarget("xmlcatalogpath"); - } - -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XmlValidateTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XmlValidateTest.java deleted file mode 100644 index 58f7a4b1..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XmlValidateTest.java +++ /dev/null @@ -1,193 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.BuildFileRule; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.internal.AssumptionViolatedException; - -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -/** - * Tests the XMLValidate optional task, by running targets in the test script - * <code>src/etc/testcases/taskdefs/optional/xmlvalidate.xml</code> - * <p> - * - * @see XmlValidateCatalogTest - * @since Ant 1.5 - */ -public class XmlValidateTest { - - /** - * where tasks run - */ - private final static String TASKDEFS_DIR = - "src/etc/testcases/taskdefs/optional/"; - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - @Before - public void setUp() { - buildRule.configureProject(TASKDEFS_DIR + "xmlvalidate.xml"); - } - - /** - * Basic inline 'dtd' element test. - */ - @Test - public void testValidate() throws Exception { - buildRule.executeTarget("testValidate"); - } - - /** - * Test indirect validation. - */ - @Test - public void testDeepValidate() throws Exception { - buildRule.executeTarget("testDeepValidate"); - } - - @Test - public void testXmlCatalog() { - buildRule.executeTarget("xmlcatalog"); - } - - @Test - public void testXmlCatalogViaRefid() { - buildRule.executeTarget("xmlcatalogViaRefid"); - } - - /** - * Test that the nested dtd element is used when resolver.jar is not - * present. This test should pass either way. - */ - @Test - public void testXmlCatalogFiles() { - buildRule.executeTarget("xmlcatalogfiles-override"); - } - - /** - * Test nested catalogpath. - * Test that the nested dtd element is used when resolver.jar is not - * present. This test should pass either way. - */ - @Test - public void testXmlCatalogPath() { - buildRule.executeTarget("xmlcatalogpath-override"); - } - - /** - * Test nested xmlcatalog definitions - */ - @Test - public void testXmlCatalogNested() { - buildRule.executeTarget("xmlcatalognested"); - } - - /** - * Test xml schema validation - */ - @Test - public void testXmlSchemaGood() throws BuildException { - try { - buildRule.executeTarget("testSchemaGood"); - } catch (BuildException e) { - if (e - .getMessage() - .endsWith(" doesn't recognize feature http://apache.org/xml/features/validation/schema") - || e.getMessage().endsWith( - " doesn't support feature http://apache.org/xml/features/validation/schema")) { - throw new AssumptionViolatedException("parser doesn't support schema"); - } else { - throw e; - } - } - } - /** - * Test xml schema validation - */ - @Test - public void testXmlSchemaBad() { - try { - buildRule.executeTarget("testSchemaBad"); - fail("Should throw BuildException because 'Bad Schema Validation'"); - - } catch (BuildException e) { - if (e - .getMessage() - .endsWith(" doesn't recognize feature http://apache.org/xml/features/validation/schema") - || e.getMessage().endsWith( - " doesn't support feature http://apache.org/xml/features/validation/schema")) { - throw new AssumptionViolatedException("parser doesn't support schema"); - } else { - assertTrue( - e.getMessage().indexOf("not a valid XML document") > -1); - } - } - } - - /** - * iso-2022-jp.xml is valid but wouldn't get recognized on systems - * with a different native encoding. - * - * Bug 11279 - */ - @Test - public void testIso2022Jp() { - buildRule.executeTarget("testIso2022Jp"); - } - - /** - * utf-8.xml is invalid as it contains non-UTF-8 characters, but - * would pass on systems with a native iso-8859-1 (or similar) - * encoding. - * - * Bug 11279 - */ - @Test - public void testUtf8() { - try { - buildRule.executeTarget("testUtf8"); - fail("Invalid characters in file"); - } catch(BuildException ex) { - //TODO assert exception message - } - } - - // Tests property element, using XML schema properties as an example. - @Test - public void testPropertySchemaForValidXML() { - buildRule.executeTarget("testProperty.validXML"); - } - - @Test - public void testPropertySchemaForInvalidXML() { - try { - buildRule.executeTarget("testProperty.invalidXML"); - fail("XML file does not satisfy schema"); - } catch(BuildException ex) { - //TODO assert exception message - } - } - -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XsltTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XsltTest.java deleted file mode 100644 index a5b71def..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XsltTest.java +++ /dev/null @@ -1,86 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.BuildFileRule; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -import static org.junit.Assert.fail; - -/** - * Tests the {@link org.apache.tools.ant.taskdefs.XSLTProcess} task. - * TODO merge with {@link org.apache.tools.ant.taskdefs.StyleTest}? - * @since Ant 1.5 - */ -public class XsltTest { - - /** - * where tasks run - */ - private final static String TASKDEFS_DIR = "src/etc/testcases/taskdefs/optional/"; - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - @Before - public void setUp() { - buildRule.configureProject(TASKDEFS_DIR + "xslt.xml"); - } - - - @Test - public void testCatchNoDtd() { - try { - buildRule.executeTarget("testCatchNoDtd"); - fail("Expected failure"); - } catch(BuildException ex) { - //TODO assert exception message - } - } - - @Test - public void testCatalog() throws Exception { - buildRule.executeTarget("testCatalog"); - } - - @Test - public void testOutputProperty() throws Exception { - buildRule.executeTarget("testOutputProperty"); - } - - @Test - public void testXMLWithEntitiesInNonAsciiPath() throws Exception { - buildRule.executeTarget("testXMLWithEntitiesInNonAsciiPath"); - } - - /** - * check that the system id gets set properly on stylesheets. - * @throws Exception if something goes wrong. - */ - @Test - public void testStyleSheetWithInclude() throws Exception { - buildRule.executeTarget("testStyleSheetWithInclude"); - if (buildRule.getLog().indexOf("java.io.FileNotFoundException") != -1) { - fail("xsl:include was not found"); - } - } -} - diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/depend/DependTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/depend/DependTest.java deleted file mode 100644 index 95c1eb0b..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/depend/DependTest.java +++ /dev/null @@ -1,213 +0,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. - * - */ - -package org.apache.tools.ant.taskdefs.optional.depend; - -import java.io.File; -import java.util.Hashtable; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.BuildFileRule; -import org.apache.tools.ant.DirectoryScanner; -import org.apache.tools.ant.FileUtilities; -import org.apache.tools.ant.types.FileSet; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -import static org.apache.tools.ant.AntAssert.assertContains; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -/** - * Testcase for the Depend optional task. - * - */ -public class DependTest { - public static final String RESULT_FILESET = "result"; - - public static final String TEST_BUILD_FILE - = "src/etc/testcases/taskdefs/optional/depend/depend.xml"; - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - @Before - public void setUp() { - buildRule.configureProject(TEST_BUILD_FILE); - } - - /** - * Test direct dependency removal - */ - @Test - public void testDirect() { - buildRule.executeTarget("src1setup"); - buildRule.executeTarget("compile"); - - FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("tempsrc.dir")), 5); - FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("classes.dir")), 5); - - buildRule.executeTarget("testdirect"); - Hashtable files = getResultFiles(); - assertEquals("Depend did not leave correct number of files", 3, - files.size()); - assertTrue("Result did not contain A.class", - files.containsKey("A.class")); - assertTrue("Result did not contain D.class", - files.containsKey("D.class")); - } - - /** - * Test dependency traversal (closure) - */ - @Test - public void testClosure() { - buildRule.executeTarget("src1setup"); - buildRule.executeTarget("compile"); - - FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("tempsrc.dir")), 5); - FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("classes.dir")), 5); - - buildRule.executeTarget("testclosure"); - Hashtable files = getResultFiles(); - assertTrue("Depend did not leave correct number of files", - files.size() <= 2); - assertTrue("Result did not contain D.class", - files.containsKey("D.class")); - } - - /** - * Test that inner class dependencies trigger deletion of the outer class - */ - @Test - public void testInner() { - buildRule.executeTarget("src2setup"); - buildRule.executeTarget("compile"); - - FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("tempsrc.dir")), 5); - FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("classes.dir")), 5); - - - buildRule.executeTarget("testinner"); - assertEquals("Depend did not leave correct number of files", 0, - getResultFiles().size()); - } - - /** - * Test that multi-leve inner class dependencies trigger deletion of - * the outer class - */ - @Test - public void testInnerInner() { - buildRule.executeTarget("src3setup"); - buildRule.executeTarget("compile"); - - FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("tempsrc.dir")), 5); - FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("classes.dir")), 5); - - buildRule.executeTarget("testinnerinner"); - assertEquals("Depend did not leave correct number of files", 0, - getResultFiles().size()); - } - - /** - * Test that an exception is thrown when there is no source - */ - @Test - public void testNoSource() { - try { - buildRule.executeTarget("testnosource"); - fail("Build exception expected: No source specified"); - } catch(BuildException ex) { - assertContains("srcdir attribute must be set", ex.getMessage()); - } - } - - /** - * Test that an exception is thrown when the source attribute is empty - */ - @Test - public void testEmptySource() { - try { - buildRule.executeTarget("testemptysource"); - fail("Build exception expected: No source specified"); - } catch(BuildException ex) { - assertContains("srcdir attribute must be non-empty", ex.getMessage()); - } - } - - /** - * Read the result fileset into a Hashtable - * - * @return a Hashtable containing the names of the files in the result - * fileset - */ - private Hashtable getResultFiles() { - FileSet resultFileSet = (FileSet) buildRule.getProject().getReference(RESULT_FILESET); - DirectoryScanner scanner = resultFileSet.getDirectoryScanner(buildRule.getProject()); - String[] scannedFiles = scanner.getIncludedFiles(); - Hashtable files = new Hashtable(); - for (int i = 0; i < scannedFiles.length; ++i) { - files.put(scannedFiles[i], scannedFiles[i]); - } - return files; - } - - - /** - * Test mutual dependency between inner and outer do not cause both to be - * deleted - */ - @Test - public void testInnerClosure() { - buildRule.executeTarget("testinnerclosure"); - assertEquals("Depend did not leave correct number of files", 4, - getResultFiles().size()); - } - - /** - * Test the operation of the cache - */ - @Test - public void testCache() { - buildRule.executeTarget("testcache"); - } - - /** - * Test the detection and warning of non public classes - */ - @Test - public void testNonPublic() { - buildRule.executeTarget("src5setup"); - buildRule.executeTarget("compile"); - - FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("tempsrc.dir")), 5); - FileUtilities.rollbackTimetamps(new File(buildRule.getProject().getProperty("classes.dir")), 5); - - buildRule.executeTarget("testnonpublic"); - String log = buildRule.getLog(); - assertContains("Expected warning about APrivate", - "The class APrivate in file", log); - assertContains("but has not been deleted because its source file " - + "could not be determined", - "The class APrivate in file", log); - } - -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/i18n/TranslateTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/i18n/TranslateTest.java deleted file mode 100644 index 6abc4f2d..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/i18n/TranslateTest.java +++ /dev/null @@ -1,87 +0,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. - * - */ - -package org.apache.tools.ant.taskdefs.optional.i18n; - -import org.apache.tools.ant.BuildFileRule; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; - -import static org.junit.Assert.assertTrue; - -/** - * Tests the Translate task. - * - * @since Ant 1.6 - */ -public class TranslateTest { - - @Rule - public final BuildFileRule buildRule = new BuildFileRule(); - - static private final int BUF_SIZE = 32768; - - private final static String TASKDEFS_DIR = "src/etc/testcases/taskdefs/optional/i18n/translate"; - - - - @Before - public void setUp() { - buildRule.configureProject(TASKDEFS_DIR + "/translate.xml"); - } - - @Test - public void test1() throws IOException { - buildRule.executeTarget("test1"); - assertTrue("translation of "+ TASKDEFS_DIR + "/input/template.txt",compareFiles(new File(buildRule.getProject().getBaseDir(), "expected/de/template.txt"), - new File(buildRule.getOutputDir(), "de/template.txt"))); - } - private boolean compareFiles(File file1, File file2) throws IOException { - if (!file1.exists() || !file2.exists()) { - return false; - } - - if (file1.length() != file2.length()) { - return false; - } - - // byte - byte compare - byte[] buffer1 = new byte[BUF_SIZE]; - byte[] buffer2 = new byte[BUF_SIZE]; - - FileInputStream fis1 = new FileInputStream(file1); - FileInputStream fis2 = new FileInputStream(file2); - int index = 0; - int read = 0; - while ((read = fis1.read(buffer1)) != -1) { - fis2.read(buffer2); - for (int i = 0; i < read; ++i, ++index) { - if (buffer1[i] != buffer2[i]) { - return false; - } - } - } - return true; - } -} - diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/image/ImageTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/image/ImageTest.java deleted file mode 100644 index be79262d..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/image/ImageTest.java +++ /dev/null @@ -1,133 +0,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. - * - */ - -package org.apache.tools.ant.taskdefs.optional.image; - -import org.apache.tools.ant.AntAssert; -import org.apache.tools.ant.BuildFileRule; -import org.apache.tools.ant.util.FileUtils; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Rule; -import org.junit.Test; - -import java.io.File; - -import static org.junit.Assert.assertTrue; -import static org.junit.Assume.assumeTrue; - - -/** - * Tests the Image task. - * - * @since Ant 1.5 - */ -public class ImageTest { - - private final static String TASKDEFS_DIR = - "src/etc/testcases/taskdefs/optional/image/"; - private final static String LARGEIMAGE = "largeimage.jpg"; - - private static final FileUtils FILE_UTILS = FileUtils.getFileUtils(); - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - @Before - public void setUp() { - buildRule.configureProject(TASKDEFS_DIR + "image.xml"); - } - - - @Test - public void testEchoToLog() { - buildRule.executeTarget("testEchoToLog"); - AntAssert.assertContains("Processing File", buildRule.getLog()); - } - - @Test - public void testSimpleScale(){ - buildRule.executeTarget("testSimpleScale"); - AntAssert.assertContains("Processing File", buildRule.getLog()); - - File f = new File(buildRule.getOutputDir(), LARGEIMAGE); - assertTrue( - "Did not create "+f.getAbsolutePath(), - f.exists()); - - } - - @Test - public void testOverwriteTrue() throws InterruptedException { - buildRule.executeTarget("testSimpleScale"); - AntAssert.assertContains("Processing File", buildRule.getLog()); - File f = new File(buildRule.getOutputDir(), LARGEIMAGE); - assumeTrue("Could not change file modificaiton date", - f.setLastModified(f.lastModified() - (FILE_UTILS.getFileTimestampGranularity() * 2))); - long lastModified = f.lastModified(); - buildRule.executeTarget("testOverwriteTrue"); - AntAssert.assertContains("Processing File", buildRule.getLog()); - f = new File(buildRule.getOutputDir(), LARGEIMAGE); - long overwrittenLastModified = f.lastModified(); - assertTrue("File was not overwritten.", - lastModified < overwrittenLastModified); - } - - @Test - public void testOverwriteFalse() { - buildRule.executeTarget("testSimpleScale"); - AntAssert.assertContains("Processing File", buildRule.getLog()); - File f = new File(buildRule.getOutputDir(), LARGEIMAGE); - long lastModified = f.lastModified(); - buildRule.executeTarget("testOverwriteFalse"); - AntAssert.assertContains("Processing File", buildRule.getLog()); - f = new File(buildRule.getOutputDir(), LARGEIMAGE); - long overwrittenLastModified = f.lastModified(); - assertTrue("File was overwritten.", - lastModified == overwrittenLastModified); - } - - @Test - public void testSimpleScaleWithMapper() { - buildRule.executeTarget("testSimpleScaleWithMapper"); - AntAssert.assertContains("Processing File", buildRule.getLog()); - File f = new File(buildRule.getOutputDir(), "scaled-" + LARGEIMAGE); - assertTrue( - "Did not create "+f.getAbsolutePath(), - f.exists()); - - } - - @Test - @Ignore("Previously named in a manner to prevent execution") - public void testFailOnError() { - try { - buildRule.executeTarget("testFailOnError"); - AntAssert.assertContains("Unable to process image stream", buildRule.getLog()); - } - catch (RuntimeException re){ - assertTrue("Run time exception should say " - + "'Unable to process image stream'. :" - + re.toString(), - re.toString() - .indexOf("Unable to process image stream") > -1); - } - } - -} - diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTest.java deleted file mode 100644 index 545b7cbc..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/jdepend/JDependTest.java +++ /dev/null @@ -1,99 +0,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. - * - */ - -package org.apache.tools.ant.taskdefs.optional.jdepend; - -import org.apache.tools.ant.AntAssert; -import org.apache.tools.ant.BuildFileRule; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -/** - * Testcase for the JDepend optional task. - * - */ -public class JDependTest { - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - @Before - public void setUp() { - buildRule.configureProject( - "src/etc/testcases/taskdefs/optional/jdepend/jdepend.xml"); - } - - /** - * Test simple - */ - @Test - public void testSimple() { - buildRule.executeTarget("simple"); - AntAssert.assertContains("Package: org.apache.tools.ant.util.facade", - buildRule.getOutput()); - } - - /** - * Test xml - */ - @Test - public void testXml() { - buildRule.executeTarget("xml"); - AntAssert.assertContains("<DependsUpon>", buildRule.getOutput()); - } - - /** - * Test fork - * - forked output goes to log - */ - @Test - public void testFork() { - buildRule.executeTarget("fork"); - AntAssert.assertContains("Package: org.apache.tools.ant.util.facade", buildRule.getLog()); - } - - /** - * Test fork xml - */ - @Test - public void testForkXml() { - buildRule.executeTarget("fork-xml"); - AntAssert.assertContains("<DependsUpon>", buildRule.getLog()); - } - - /** - * Test timeout - */ - @Test - public void testTimeout() { - buildRule.executeTarget("fork-xml"); - AntAssert.assertContains( "JDepend FAILED - Timed out", buildRule.getLog()); - } - - - /** - * Test timeout without timing out - */ - @Test - public void testTimeoutNot() { - buildRule.executeTarget("fork-timeout-not"); - AntAssert.assertContains("Package: org.apache.tools.ant.util.facade", buildRule.getLog()); - } - -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/BatchTestTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/BatchTestTest.java deleted file mode 100644 index 52a12ecc..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/BatchTestTest.java +++ /dev/null @@ -1,121 +0,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. - * - */ - -package org.apache.tools.ant.taskdefs.optional.junit; - - -import static org.junit.Assert.fail; -import static org.junit.Assert.assertArrayEquals; - -import org.junit.Test; - -/** - * - * @author Marian Petras - */ -public class BatchTestTest { - - @Test - public void testParseTestMethodNamesList() { - try { - JUnitTest.parseTestMethodNamesList(null); - fail("IllegalArgumentException expected when the param is <null>"); - } catch (IllegalArgumentException ex) { - //this is an expected exception - } - - assertArrayEquals(new String[0], JUnitTest.parseTestMethodNamesList("")); - assertArrayEquals(new String[0], JUnitTest.parseTestMethodNamesList(" ")); - assertArrayEquals(new String[0], JUnitTest.parseTestMethodNamesList(" ")); - - checkParseCausesIAE(","); - checkParseCausesIAE(" ,"); - checkParseCausesIAE(", "); - checkParseCausesIAE(" , "); - checkParseCausesIAE(",a"); - checkParseCausesIAE(" ,a"); - checkParseCausesIAE(" ,a"); - checkParseCausesIAE(" , a"); - checkParseCausesIAE(" ,a "); - checkParseCausesIAE(" ,a ,"); - checkParseCausesIAE("ab,,cd"); - checkParseCausesIAE("ab, ,cd"); - checkParseCausesIAE("ab, ,cd"); - checkParseCausesIAE("ab, ,cd,"); - checkParseCausesIAE(",ab, ,cd,"); - - assertArrayEquals(new String[] {"abc"}, JUnitTest.parseTestMethodNamesList("abc")); - assertArrayEquals(new String[] {"abc"}, JUnitTest.parseTestMethodNamesList("abc ")); - assertArrayEquals(new String[] {"abc"}, JUnitTest.parseTestMethodNamesList(" abc")); - assertArrayEquals(new String[] {"abc"}, JUnitTest.parseTestMethodNamesList(" abc ")); - assertArrayEquals(new String[] {"abc"}, JUnitTest.parseTestMethodNamesList("abc ")); - assertArrayEquals(new String[] {"abc"}, JUnitTest.parseTestMethodNamesList("abc,")); - assertArrayEquals(new String[] {"abc"}, JUnitTest.parseTestMethodNamesList("abc, ")); - assertArrayEquals(new String[] {"abc"}, JUnitTest.parseTestMethodNamesList("abc ,")); - assertArrayEquals(new String[] {"abc"}, JUnitTest.parseTestMethodNamesList("abc , ")); - assertArrayEquals(new String[] {"abc"}, JUnitTest.parseTestMethodNamesList(" abc ,")); - - /* legal Java identifiers: */ - assertArrayEquals(new String[] {"a"}, JUnitTest.parseTestMethodNamesList("a")); - assertArrayEquals(new String[] {"a1"}, JUnitTest.parseTestMethodNamesList("a1")); - assertArrayEquals(new String[] {"a$"}, JUnitTest.parseTestMethodNamesList("a$")); - assertArrayEquals(new String[] {"a$1"}, JUnitTest.parseTestMethodNamesList("a$1")); - assertArrayEquals(new String[] {"_bc"}, JUnitTest.parseTestMethodNamesList("_bc")); - assertArrayEquals(new String[] {"___"}, JUnitTest.parseTestMethodNamesList("___")); - - /* illegal Java identifiers: */ - checkParseCausesIAE("1"); - checkParseCausesIAE("1a"); - checkParseCausesIAE("1ab"); - checkParseCausesIAE("1abc"); - checkParseCausesIAE("1abc d"); - checkParseCausesIAE("1abc de"); - checkParseCausesIAE("1abc def"); - checkParseCausesIAE("1abc def,"); - checkParseCausesIAE(",1abc def"); - - assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList("abc,def")); - assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList("abc,def,")); - assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList("abc,def ")); - assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList("abc, def")); - assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList("abc, def ")); - assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList("abc ,def")); - assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList("abc ,def ")); - assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList("abc , def")); - assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList("abc , def ")); - assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList(" abc,def")); - assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList(" abc,def ")); - assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList(" abc, def")); - assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList(" abc, def ")); - assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList(" abc ,def")); - assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList(" abc ,def ")); - assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList(" abc , def")); - assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList(" abc , def ")); - assertArrayEquals(new String[] {"abc", "def"}, JUnitTest.parseTestMethodNamesList(" abc , def ,")); - } - - private static void checkParseCausesIAE(String param) { - try { - JUnitTest.parseTestMethodNamesList(param); - fail("IllegalArgumentException expected when the param is \"" + param + '"'); - } catch (IllegalArgumentException ex) { - //this is an expected exception - } - } - -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/DOMUtilTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/DOMUtilTest.java deleted file mode 100644 index b72f69cc..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/DOMUtilTest.java +++ /dev/null @@ -1,53 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional.junit; - -import static org.junit.Assert.assertEquals; - -import java.io.IOException; -import java.io.InputStream; - -import javax.xml.parsers.DocumentBuilder; - -import org.apache.tools.ant.util.JAXPUtils; -import org.junit.Test; -import org.w3c.dom.Document; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.xml.sax.SAXException; - -public class DOMUtilTest { - - @Test - public void testListChildNodes() throws SAXException, IOException { - DocumentBuilder db = JAXPUtils.getDocumentBuilder(); - InputStream is = this.getClass().getClassLoader().getResourceAsStream("taskdefs/optional/junit/matches.xml"); - Document doc = db.parse(is); - NodeList nl = DOMUtil.listChildNodes(doc.getDocumentElement(), new FooNodeFilter(), true); - assertEquals("expecting 3", 3, nl.getLength()); - } - - public class FooNodeFilter implements DOMUtil.NodeFilter { - public boolean accept(Node node) { - if (node.getNodeName().equals("foo")) { - return true; - } - return false; - } - } -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitClassLoaderTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitClassLoaderTest.java deleted file mode 100644 index 4baf7418..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitClassLoaderTest.java +++ /dev/null @@ -1,37 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional.junit; - -import static org.junit.Assert.assertSame; - -import org.junit.Test; - -/** - * Test to ensure that the classloader loading JUnit testcase - * is also the context classloader. - * - */ -public class JUnitClassLoaderTest { - - @Test - public void testContextClassLoader(){ - ClassLoader context = Thread.currentThread().getContextClassLoader(); - ClassLoader caller = getClass().getClassLoader(); - assertSame(context, caller); - } -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitReportTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitReportTest.java deleted file mode 100644 index c5b6feb9..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitReportTest.java +++ /dev/null @@ -1,211 +0,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. - * - */ - -package org.apache.tools.ant.taskdefs.optional.junit; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import static org.apache.tools.ant.AntAssert.assertContains; -import static org.junit.Assert.fail; - -import java.io.File; -import java.io.FileReader; -import java.io.InputStream; -import java.net.URL; - -import org.apache.tools.ant.BuildFileRule; -import org.apache.tools.ant.util.FileUtils; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -/** - * Small testcase for the junitreporttask. - * First test added to reproduce an fault, still a lot to improve - * - */ -public class JUnitReportTest { - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - @Before - public void setUp() { - buildRule.configureProject("src/etc/testcases/taskdefs/optional/junitreport.xml"); - } - - /** - * Verifies that no empty junit-noframes.html is generated when frames - * output is selected via the default. - * Needs reports1 task from junitreport.xml. - */ - @Test - public void testNoFileJUnitNoFrames() { - buildRule.executeTarget("reports1"); - assertFalse("No file junit-noframes.html expected", (new File(System.getProperty("root"), "src/etc/testcases/taskdefs/optional/junitreport/test/html/junit-noframes.html").exists())); - - } - - public void assertIndexCreated() { - if (!new File(buildRule.getProject().getProperty("output"), "html/index.html").exists()) { - fail("No file index file found"); - } - - } - - - @Test - public void testEmptyFile() throws Exception { - buildRule.executeTarget("testEmptyFile"); - assertIndexCreated(); - assertContains("Required text not found in log", XMLResultAggregator.WARNING_EMPTY_FILE, buildRule.getLog()); - } - - @Test - public void testIncompleteFile() throws Exception { - buildRule.executeTarget("testIncompleteFile"); - assertIndexCreated(); - assertContains("Required text not found in log", XMLResultAggregator.WARNING_IS_POSSIBLY_CORRUPTED, buildRule.getLog()); - } - - @Test - public void testWrongElement() throws Exception { - buildRule.executeTarget("testWrongElement"); - assertIndexCreated(); - assertContains("Required text not found in log", XMLResultAggregator.WARNING_INVALID_ROOT_ELEMENT, buildRule.getLog()); - } - - // Bugzilla Report 34963 - @Test - public void testStackTraceLineBreaks() throws Exception { - buildRule.executeTarget("testStackTraceLineBreaks"); - assertIndexCreated(); - FileReader r = null; - try { - r = new FileReader(new File(buildRule.getOutputDir(), "html/sampleproject/coins/0_CoinTest.html")); - String report = FileUtils.readFully(r); - assertContains("output must contain <br>:\n" + report, "junit.framework.AssertionFailedError: DOEG<br>", report); - assertContains("#51049: output must translate line breaks:\n" + report, "cur['line.separator'] = '\\r\\n';", report); - } finally { - FileUtils.close(r); - } - } - - - // Bugzilla Report 38477 - @Test - public void testSpecialSignsInSrcPath() throws Exception { - buildRule.executeTarget("testSpecialSignsInSrcPath"); - File reportFile = new File(buildRule.getOutputDir(), "html/index.html"); - // tests one the file object - assertTrue("No index.html present. Not generated?", reportFile.exists() ); - assertTrue("Cant read the report file.", reportFile.canRead() ); - assertTrue("File shouldn't be empty.", reportFile.length() > 0 ); - // conversion to URL via FileUtils like in XMLResultAggregator, not as suggested in the bug report - URL reportUrl = new URL( FileUtils.getFileUtils().toURI(reportFile.getAbsolutePath()) ); - InputStream reportStream = reportUrl.openStream(); - assertTrue("This shouldn't be an empty stream.", reportStream.available() > 0); - } - - @Test - public void testSpecialSignsInHtmlPath() throws Exception { - buildRule.executeTarget("testSpecialSignsInHtmlPath"); - File reportFile = new File(buildRule.getOutputDir(), "html# $%\u00A7&-!report/index.html"); - // tests one the file object - assertTrue("No index.html present. Not generated?", reportFile.exists() ); - assertTrue("Cant read the report file.", reportFile.canRead() ); - assertTrue("File shouldn't be empty.", reportFile.length() > 0 ); - // conversion to URL via FileUtils like in XMLResultAggregator, not as suggested in the bug report - URL reportUrl = new URL( FileUtils.getFileUtils().toURI(reportFile.getAbsolutePath()) ); - InputStream reportStream = reportUrl.openStream(); - assertTrue("This shouldn't be an empty stream.", reportStream.available() > 0); - } - - //Bugzilla Report 39708 - @Test - public void testWithStyleFromDir() throws Exception { - buildRule.executeTarget("testWithStyleFromDir"); - File reportFile = new File(buildRule.getOutputDir(), "html/index.html"); - // tests one the file object - assertTrue("No index.html present. Not generated?", reportFile.exists() ); - assertTrue("Cant read the report file.", reportFile.canRead() ); - assertTrue("File shouldn't be empty.", reportFile.length() > 0 ); - // conversion to URL via FileUtils like in XMLResultAggregator, not as suggested in the bug report - URL reportUrl = new URL( FileUtils.getFileUtils().toURI(reportFile.getAbsolutePath()) ); - InputStream reportStream = reportUrl.openStream(); - assertTrue("This shouldn't be an empty stream.", reportStream.available() > 0); - } - - //Bugzilla Report 40021 - @Test - public void testNoFrames() throws Exception { - buildRule.executeTarget("testNoFrames"); - File reportFile = new File(buildRule.getOutputDir(), "html/junit-noframes.html"); - // tests one the file object - assertTrue("No junit-noframes.html present. Not generated?", reportFile.exists() ); - assertTrue("Cant read the report file.", reportFile.canRead() ); - assertTrue("File shouldn't be empty.", reportFile.length() > 0 ); - // conversion to URL via FileUtils like in XMLResultAggregator, not as suggested in the bug report - URL reportUrl = new URL( FileUtils.getFileUtils().toURI(reportFile.getAbsolutePath()) ); - InputStream reportStream = reportUrl.openStream(); - assertTrue("This shouldn't be an empty stream.", reportStream.available() > 0); - } - //Bugzilla Report 39708 - @Test - public void testWithStyleFromDirAndXslImport() throws Exception { - buildRule.executeTarget("testWithStyleFromDirAndXslImport"); - File reportFile = new File(buildRule.getOutputDir(), "html/index.html"); - // tests one the file object - assertTrue("No index.html present. Not generated?", reportFile.exists() ); - assertTrue("Cant read the report file.", reportFile.canRead() ); - assertTrue("File shouldn't be empty.", reportFile.length() > 0 ); - // conversion to URL via FileUtils like in XMLResultAggregator, not as suggested in the bug report - URL reportUrl = new URL( FileUtils.getFileUtils().toURI(reportFile.getAbsolutePath()) ); - InputStream reportStream = reportUrl.openStream(); - assertTrue("This shouldn't be an empty stream.", reportStream.available() > 0); - } - - @Test - public void testWithStyleFromClasspath() throws Exception { - buildRule.executeTarget("testWithStyleFromClasspath"); - File reportFile = new File(buildRule.getOutputDir(), "html/index.html"); - // tests one the file object - assertTrue("No index.html present. Not generated?", reportFile.exists() ); - assertTrue("Cant read the report file.", reportFile.canRead() ); - assertTrue("File shouldn't be empty.", reportFile.length() > 0 ); - // conversion to URL via FileUtils like in XMLResultAggregator, not as suggested in the bug report - URL reportUrl = new URL( FileUtils.getFileUtils().toURI(reportFile.getAbsolutePath()) ); - InputStream reportStream = reportUrl.openStream(); - assertTrue("This shouldn't be an empty stream.", reportStream.available() > 0); - } - - @Test - public void testWithParams() throws Exception { - buildRule.executeTarget("testWithParams"); - assertContains("key1=value1,key2=value2", buildRule.getLog()); - File reportFile = new File(buildRule.getOutputDir(), "html/index.html"); - // tests one the file object - assertTrue("No index.html present. Not generated?", reportFile.exists() ); - assertTrue("Cant read the report file.", reportFile.canRead() ); - assertTrue("File shouldn't be empty.", reportFile.length() > 0 ); - // conversion to URL via FileUtils like in XMLResultAggregator, not as suggested in the bug report - URL reportUrl = new URL( FileUtils.getFileUtils().toURI(reportFile.getAbsolutePath()) ); - InputStream reportStream = reportUrl.openStream(); - assertTrue("This shouldn't be an empty stream.", reportStream.available() > 0); - } -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitTaskTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitTaskTest.java deleted file mode 100644 index 61504ad1..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitTaskTest.java +++ /dev/null @@ -1,398 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional.junit; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; - -import static org.apache.tools.ant.AntAssert.assertNotContains; -import static org.apache.tools.ant.AntAssert.assertContains; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.xpath.XPath; -import javax.xml.xpath.XPathConstants; -import javax.xml.xpath.XPathFactory; - -import org.apache.tools.ant.BuildFileRule; -import org.apache.tools.ant.util.JavaEnvUtils; -import org.junit.Assume; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.w3c.dom.Document; -import org.w3c.dom.Node; - -public class JUnitTaskTest { - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - /** - * The JUnit setup method. - */ - @Before - public void setUp() { - buildRule.configureProject("src/etc/testcases/taskdefs/optional/junit.xml"); - } - - @Test - public void testCrash() { - buildRule.executeTarget("crash"); - assertEquals("true", buildRule.getProject().getProperty("crashed")); - } - - @Test - public void testNoCrash() { - buildRule.executeTarget("nocrash"); - assertNull(buildRule.getProject().getProperty("crashed")); - } - - @Test - public void testTimeout() { - buildRule.executeTarget("timeout"); - assertEquals("true", buildRule.getProject().getProperty("timeout")); - } - - @Test - public void testNoTimeout() { - buildRule.executeTarget("notimeout"); - assertNull(buildRule.getProject().getProperty("timeout")); - } - - @Test - public void testNonForkedCapture() throws IOException { - buildRule.executeTarget("capture"); - assertNoPrint(buildRule.getLog(), "log"); - assertNoPrint(buildRule.getFullLog(), "debug log"); - } - - @Test - public void testForkedCapture() throws IOException { - buildRule.getProject().setProperty("fork", "true"); - testNonForkedCapture(); - // those would fail because of the way BuildFileRule captures output - assertNoPrint(buildRule.getOutput(), "output"); - assertNoPrint(buildRule.getError(), "error output"); - assertOutput(); - } - - @Test - public void testBatchTestForkOnceToDir() { - assertResultFilesExist("testBatchTestForkOnceToDir", ".xml"); - } - - /** Bugzilla Report 32973 */ - @Test - public void testBatchTestForkOnceExtension() { - assertResultFilesExist("testBatchTestForkOnceExtension", ".foo"); - } - - - /* Bugzilla Report 42984 */ - //TODO This scenario works from command line, but not from JUnit ... - // Running these steps from the junit.xml-directory work - // $ ant -f junit.xml failureRecorder.prepare - // $ ant -f junit.xml failureRecorder.runtest - // $ ant -f junit.xml failureRecorder.runtest - // $ ant -f junit.xml failureRecorder.fixing - // $ ant -f junit.xml failureRecorder.runtest - // $ ant -f junit.xml failureRecorder.runtest - // But running the JUnit testcase fails in 4th run. - @Test - public void testFailureRecorder() { - if (JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_1_5)) { - try { - Class<?> clazz =Class.forName("junit.framework.JUnit4TestAdapter"); - Assume.assumeFalse("Skipping test since it fails with JUnit 4", clazz != null); - } catch (ClassNotFoundException e) { - // OK, this is JUnit3, can run test - } - } - - File testDir = new File(buildRule.getOutputDir(), "out"); - File collectorFile = new File(buildRule.getOutputDir(), - "out/FailedTests.java"); - - // ensure that there is a clean test environment - assertFalse("Test directory '" + testDir.getAbsolutePath() - + "' must not exist before the test preparation.", - testDir.exists()); - assertFalse("The collector file '" - + collectorFile.getAbsolutePath() - + "'must not exist before the test preparation.", - collectorFile.exists()); - - - // prepare the test environment - buildRule.executeTarget("failureRecorder.prepare"); - assertTrue("Test directory '" + testDir.getAbsolutePath() - + "' was not created.", testDir.exists()); - assertTrue("There should be one class.", - (new File(testDir, "A.class")).exists()); - assertFalse("The collector file '" - + collectorFile.getAbsolutePath() - + "' should not exist before the 1st run.", - collectorFile.exists()); - - - // 1st junit run: should do all tests - failing and not failing tests - buildRule.executeTarget("failureRecorder.runtest"); - assertTrue("The collector file '" + collectorFile.getAbsolutePath() - + "' should exist after the 1st run.", - collectorFile.exists()); - // the passing test cases - buildRule.executeTarget("A.test01"); - assertContains("1st run: should run A.test01", buildRule.getOutput()); - buildRule.executeTarget("B.test05"); - assertContains("1st run: should run B.test05", buildRule.getOutput()); - buildRule.executeTarget("B.test06"); - assertContains("1st run: should run B.test06", buildRule.getOutput()); - buildRule.executeTarget("C.test07"); - assertContains("1st run: should run C.test07", buildRule.getOutput()); - buildRule.executeTarget("C.test08"); - assertContains("1st run: should run C.test08", buildRule.getOutput()); - buildRule.executeTarget("C.test09"); - assertContains("1st run: should run C.test09", buildRule.getOutput()); - // the failing test cases - buildRule.executeTarget("A.test02"); - assertContains("1st run: should run A.test02", buildRule.getOutput()); - buildRule.executeTarget("A.test03"); - assertContains("1st run: should run A.test03", buildRule.getOutput()); - buildRule.executeTarget("B.test04"); - assertContains("1st run: should run B.test04", buildRule.getOutput()); - buildRule.executeTarget("D.test10"); - assertContains("1st run: should run D.test10", buildRule.getOutput()); - - - // 2nd junit run: should do only failing tests - buildRule.executeTarget("failureRecorder.runtest"); - assertTrue("The collector file '" + collectorFile.getAbsolutePath() - + "' should exist after the 2nd run.", - collectorFile.exists()); - // the passing test cases - buildRule.executeTarget("A.test01"); - assertNotContains("2nd run: should not run A.test01", buildRule.getOutput()); - buildRule.executeTarget("B.test05"); - assertNotContains("2nd run: should not run A.test05", buildRule.getOutput()); - buildRule.executeTarget("B.test06"); - assertNotContains("2nd run: should not run B.test06", buildRule.getOutput()); - buildRule.executeTarget("C.test07"); - assertNotContains("2nd run: should not run C.test07", buildRule.getOutput()); - buildRule.executeTarget("C.test08"); - assertNotContains("2nd run: should not run C.test08", buildRule.getOutput()); - buildRule.executeTarget("C.test09"); - assertNotContains("2nd run: should not run C.test09", buildRule.getOutput()); - // the failing test cases - buildRule.executeTarget("A.test02"); - assertContains("2nd run: should run A.test02", buildRule.getOutput()); - buildRule.executeTarget("A.test03"); - assertContains("2nd run: should run A.test03", buildRule.getOutput()); - buildRule.executeTarget("B.test04"); - assertContains("2nd run: should run B.test04", buildRule.getOutput()); - buildRule.executeTarget("D.test10"); - assertContains("2nd run: should run D.test10", buildRule.getOutput()); - - - // "fix" errors in class A - buildRule.executeTarget("failureRecorder.fixing"); - - // 3rd run: four running tests with two errors - buildRule.executeTarget("failureRecorder.runtest"); - assertTrue("The collector file '" + collectorFile.getAbsolutePath() - + "' should exist after the 3rd run.", - collectorFile.exists()); - buildRule.executeTarget("A.test02"); - assertContains("3rd run: should run A.test02", buildRule.getOutput()); - buildRule.executeTarget("A.test03"); - assertContains("3rd run: should run A.test03", buildRule.getOutput()); - buildRule.executeTarget("B.test04"); - assertContains("3rd run: should run B.test04", buildRule.getOutput()); - buildRule.executeTarget("D.test10"); - assertContains("3rd run: should run D.test10", buildRule.getOutput()); - - - // 4rd run: two running tests with errors - buildRule.executeTarget("failureRecorder.runtest"); - assertTrue("The collector file '" + collectorFile.getAbsolutePath() - + "' should exist after the 4th run.", - collectorFile.exists()); - //TODO: these two statements fail - //buildRule.executeTarget("A.test02");assertNotContains("4th run: should not run A.test02", buildRule.getOutput()); - //buildRule.executeTarget("A.test03");assertNotContains("4th run: should not run A.test03", buildRule.getOutput()); - buildRule.executeTarget("B.test04"); - assertContains("4th run: should run B.test04", buildRule.getOutput()); - buildRule.executeTarget("D.test10"); - assertContains("4th run: should run D.test10", buildRule.getOutput()); - - } - - @Test - public void testBatchTestForkOnceCustomFormatter() { - assertResultFilesExist("testBatchTestForkOnceCustomFormatter", "foo"); - } - - // Bugzilla Issue 45411 - @Test - public void testMultilineAssertsNoFork() { - buildRule.executeTarget("testMultilineAssertsNoFork"); - assertNotContains("messaged up", buildRule.getLog()); - assertNotContains("crashed)", buildRule.getLog()); - } - - // Bugzilla Issue 45411 - @Test - public void testMultilineAssertsFork() { - buildRule.executeTarget("testMultilineAssertsFork"); - assertNotContains("messaged up", buildRule.getLog()); - assertNotContains("crashed)", buildRule.getLog()); - } - - private void assertResultFilesExist(String target, String extension) { - buildRule.executeTarget(target); - assertResultFileExists("JUnitClassLoader", extension); - assertResultFileExists("JUnitTestRunner", extension); - assertResultFileExists("JUnitVersionHelper", extension); - } - - private void assertResultFileExists(String classNameFragment, String ext) { - assertTrue("result for " + classNameFragment + "Test" + ext + " exists", - - new File(buildRule.getOutputDir(), "TEST-org.apache.tools.ant." - + "taskdefs.optional.junit." - + classNameFragment + "Test" + ext) - .exists()); - } - - private void assertNoPrint(String result, String where) { - assertNotContains(where + " '" + result + "' must not contain print statement", - "print to System.", result); - } - - private void assertOutput() throws IOException { - FileReader inner = new FileReader(new File(buildRule.getOutputDir(), - "testlog.txt")); - BufferedReader reader = new BufferedReader(inner); - try { - String line = reader.readLine(); - assertEquals("Testsuite: org.apache.tools.ant.taskdefs.optional.junit.Printer", - line); - line = reader.readLine(); - assertNotNull(line); - assertTrue(line.startsWith("Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed:")); - line = reader.readLine(); - assertEquals("------------- Standard Output ---------------", - line); - assertPrint(reader.readLine(), "static", "out"); - assertPrint(reader.readLine(), "constructor", "out"); - assertPrint(reader.readLine(), "method", "out"); - line = reader.readLine(); - assertEquals("------------- ---------------- ---------------", - line); - line = reader.readLine(); - assertEquals("------------- Standard Error -----------------", - line); - assertPrint(reader.readLine(), "static", "err"); - assertPrint(reader.readLine(), "constructor", "err"); - assertPrint(reader.readLine(), "method", "err"); - line = reader.readLine(); - assertEquals("------------- ---------------- ---------------", - line); - line = reader.readLine(); - assertEquals("", line); - line = reader.readLine(); - assertNotNull(line); - assertTrue(line.startsWith("Testcase: testNoCrash took ")); - } finally { - inner.close(); - } - } - - private void assertPrint(String line, String from, String to) { - String search = from + " print to System." + to; - assertEquals(search, line); - } - - @Test - public void testJUnit4Skip() throws Exception { - buildRule.executeTarget("testSkippableTests"); - - DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); - DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); - Document doc = dBuilder.parse(new File(buildRule.getOutputDir(), "TEST-org.example.junit.JUnit4Skippable.xml")); - - assertEquals("Incorrect number of nodes created", 8, doc.getElementsByTagName("testcase").getLength()); - - XPathFactory factory = XPathFactory.newInstance(); - XPath xpath = factory.newXPath(); - - assertEquals("Incorrect number of skipped tests in header", 4, Integer.parseInt(xpath.compile("//testsuite/@skipped").evaluate(doc))); - assertEquals("Incorrect number of error tests in header", 1, Integer.parseInt(xpath.compile("//testsuite/@errors").evaluate(doc))); - assertEquals("Incorrect number of failure tests in header", 2, Integer.parseInt(xpath.compile("//testsuite/@failures").evaluate(doc))); - assertEquals("Incorrect number of tests in header", 8, Integer.parseInt(xpath.compile("//testsuite/@tests").evaluate(doc))); - - - assertEquals("Incorrect ignore message on explicit ignored test", "Please don't ignore me!", xpath.compile("//testsuite/testcase[@name='explicitIgnoreTest']/skipped/@message").evaluate(doc)); - assertEquals("No message should be set on Ignored tests with no Ignore annotation text", 0, ((Node)xpath.compile("//testsuite/testcase[@name='explicitlyIgnoreTestNoMessage']/skipped").evaluate(doc, XPathConstants.NODE)).getAttributes().getLength()); - assertEquals("Incorrect ignore message on implicit ignored test", "This test will be ignored", xpath.compile("//testsuite/testcase[@name='implicitlyIgnoreTest']/skipped/@message").evaluate(doc)); - assertNotNull("Implicit ignore test should have an ignore element", xpath.compile("//testsuite/testcase[@name='implicitlyIgnoreTestNoMessage']/skipped").evaluate(doc, XPathConstants.NODE)); - - } - - @Test - public void testTestMethods() throws Exception { - buildRule.executeTarget("testTestMethods"); - } - - @Test - public void testNonTestsSkipped() throws Exception { - - buildRule.executeTarget("testNonTests"); - assertFalse("Test result should not exist as test was skipped - TEST-org.example.junit.NonTestMissed.xml", new File(buildRule.getOutputDir(), "TEST-org.example.junit.NonTestMissed.xml").exists()); - assertFalse("Test result should not exist as test was skipped - TEST-org.example.junit.JUnit3NonTestMissed.xml", new File(buildRule.getOutputDir(), "TEST-org.example.junit.JUnit3TestMissed.xml").exists()); - assertFalse("Test result should not exist as test was skipped - TEST-org.example.junit.AbstractTestMissed.xml", new File(buildRule.getOutputDir(), "TEST-org.example.junit.AbstractTestMissed.xml").exists()); - assertFalse("Test result should not exist as test was skipped - TEST-org.example.junit.AbstractJUnit3TestMissed.xml", new File(buildRule.getOutputDir(), "TEST-org.example.junit.AbstractJUnit3TestMissed.xml").exists()); - assertTrue("Test result should exist as test was not skipped - TEST-org.example.junit.AbstractTestNotMissed.xml", new File(buildRule.getOutputDir(), "TEST-org.example.junit.AbstractTestNotMissed.xml").exists()); - assertTrue("Test result should exist as test was not skipped - TEST-org.example.junit.AbstractJUnit3TestNotMissed.xml", new File(buildRule.getOutputDir(), "TEST-org.example.junit.AbstractJUnit3TestNotMissed.xml").exists()); - assertTrue("Test result should exist as test was not skipped - TEST-org.example.junit.TestNotMissed.xml", new File(buildRule.getOutputDir(), "TEST-org.example.junit.TestNotMissed.xml").exists()); - assertTrue("Test result should exist as test was not skipped - TEST-org.example.junit.JUnit3TestNotMissed.xml", new File(buildRule.getOutputDir(), "TEST-org.example.junit.JUnit3TestNotMissed.xml").exists()); - assertTrue("Test result should exist as test was not skipped - TEST-org.example.junit.TestWithSuiteNotMissed.xml", new File(buildRule.getOutputDir(), "TEST-org.example.junit.TestWithSuiteNotMissed.xml").exists()); - - buildRule.executeTarget("testNonTestsRun"); - assertTrue("Test result should exist as test was not skipped - TEST-org.example.junit.NonTestMissed.xml", new File(buildRule.getOutputDir(), "TEST-org.example.junit.NonTestMissed.xml").exists()); - assertTrue("Test result should exist as test was not skipped - TEST-org.example.junit.JUnit3NonTestMissed.xml", new File(buildRule.getOutputDir(), "TEST-org.example.junit.JUnit3NonTestMissed.xml").exists()); - assertTrue("Test result should exist as test was not skipped - TEST-org.example.junit.TestNotMissed.xml", new File(buildRule.getOutputDir(), "TEST-org.example.junit.TestNotMissed.xml").exists()); - assertTrue("Test result should exist as test was not skipped - TEST-org.example.junit.JUnit3TestNotMissed.xml", new File(buildRule.getOutputDir(), "TEST-org.example.junit.JUnit3TestNotMissed.xml").exists()); - assertTrue("Test result should exist as test was not skipped - TEST-org.example.junit.AbstractTestMissed.xml", new File(buildRule.getOutputDir(), "TEST-org.example.junit.AbstractTestMissed.xml").exists()); - assertTrue("Test result should exist as test was not skipped - TEST-org.example.junit.AbstractTestNotMissed.xml", new File(buildRule.getOutputDir(), "TEST-org.example.junit.AbstractTestNotMissed.xml").exists()); - assertTrue("Test result should exist as test was not skipped - TEST-org.example.junit.AbstractJUnit3TestMissed.xml", new File(buildRule.getOutputDir(), "TEST-org.example.junit.AbstractJUnit3TestMissed.xml").exists()); - assertTrue("Test result should exist as test was not skipped - TEST-org.example.junit.JUnit3NonTestMissed.xml", new File(buildRule.getOutputDir(), "TEST-org.example.junit.JUnit3NonTestMissed.xml").exists()); - assertTrue("Test result should exist as test was not skipped - TEST-org.example.junit.TestWithSuiteNotMissed.xml", new File(buildRule.getOutputDir(), "TEST-org.example.junit.TestWithSuiteNotMissed.xml").exists()); - - - } - -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestListenerTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestListenerTest.java deleted file mode 100644 index 38eaa142..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestListenerTest.java +++ /dev/null @@ -1,111 +0,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. - * - */ - -package org.apache.tools.ant.taskdefs.optional.junit; - -import static org.apache.tools.ant.AntAssert.assertContains; -import static org.apache.tools.ant.AntAssert.assertNotContains; - -import org.apache.tools.ant.BuildFileRule; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -public class JUnitTestListenerTest{ - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - // The captureToSummary test writes to stdout and stderr, good for - // verifying that the TestListener support doesn't break anything. - private static final String PASS_TEST_TARGET = "captureToSummary"; - - // testNoCrash is the test invoked by the captureToSummary's junit task - private static final String PASS_TEST = "testNoCrash"; - - @Before - public void setUp() { - buildRule.configureProject("src/etc/testcases/taskdefs/optional/junit.xml"); - } - - - @Test - public void testFullLogOutput() { - buildRule.getProject().setProperty("enableEvents", "true"); - buildRule.executeTarget(PASS_TEST_TARGET); - assertContains("expecting full log to have BuildListener events", - JUnitTask.TESTLISTENER_PREFIX, buildRule.getFullLog()); - } - - @Test - public void testNoLogOutput() { - buildRule.getProject().setProperty("enableEvents", "true"); - buildRule.executeTarget(PASS_TEST_TARGET); - assertNotContains("expecting log to not have BuildListener events", - JUnitTask.TESTLISTENER_PREFIX, buildRule.getLog()); - } - - @Test - public void testTestCountFired() { - buildRule.getProject().setProperty("enableEvents", "true"); - buildRule.executeTarget(PASS_TEST_TARGET); - assertContains("expecting test count message", JUnitTask.TESTLISTENER_PREFIX + - "tests to run: ", buildRule.getFullLog()); - } - - @Test - public void testStartTestFired() { - buildRule.getProject().setProperty("enableEvents", "true"); - buildRule.executeTarget(PASS_TEST_TARGET); - assertContains("expecting test started message", JUnitTask.TESTLISTENER_PREFIX + - "startTest(" + PASS_TEST + ")", buildRule.getFullLog()); - } - - @Test - public void testEndTestFired() { - buildRule.getProject().setProperty("enableEvents", "true"); - buildRule.executeTarget(PASS_TEST_TARGET); - assertContains("expecting test ended message", JUnitTask.TESTLISTENER_PREFIX + - "endTest(" + PASS_TEST + ")", buildRule.getFullLog()); - } - - @Test - public void testNoFullLogOutputByDefault() { - buildRule.executeTarget(PASS_TEST_TARGET); - assertNotContains("expecting full log to not have BuildListener events", - JUnitTask.TESTLISTENER_PREFIX, buildRule.getFullLog()); - } - - @Test - public void testFullLogOutputMagicProperty() { - buildRule.getProject().setProperty(JUnitTask.ENABLE_TESTLISTENER_EVENTS, "true"); - buildRule.executeTarget(PASS_TEST_TARGET); - assertContains("expecting full log to have BuildListener events", - JUnitTask.TESTLISTENER_PREFIX, buildRule.getFullLog()); - } - - @Test - public void testNoFullLogOutputMagicPropertyWins() { - buildRule.getProject().setProperty(JUnitTask.ENABLE_TESTLISTENER_EVENTS, "false"); - buildRule.getProject().setProperty("enableEvents", "true"); - buildRule.executeTarget(PASS_TEST_TARGET); - assertNotContains("expecting full log to not have BuildListener events", - JUnitTask.TESTLISTENER_PREFIX, buildRule.getFullLog()); - } - -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunnerTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunnerTest.java deleted file mode 100644 index a75c5cbe..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunnerTest.java +++ /dev/null @@ -1,217 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional.junit; - -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; - -import java.io.PrintWriter; -import java.io.StringWriter; - -import junit.framework.AssertionFailedError; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -import org.apache.tools.ant.BuildException; -import org.junit.Test; - -/** - * Small testcase for the runner, tests are very very very basics. - * They must be enhanced with time. - * - */ -public class JUnitTestRunnerTest{ - - - - // check that a valid method name generates no errors - @Test - public void testValidMethod(){ - TestRunner runner = createRunnerForTestMethod(ValidMethodTestCase.class,"testA"); - runner.run(); - assertEquals(runner.getFormatter().getError(), JUnitTestRunner.SUCCESS, runner.getRetCode()); - } - - // check that having an invalid method name generates an error - @Test - public void testInvalidMethod(){ - TestRunner runner = createRunnerForTestMethod(InvalidMethodTestCase.class,"testInvalid"); - runner.run(); - String error = runner.getFormatter().getError(); - // might be FAILURES or ERRORS depending on JUnit version? - assertTrue(error, runner.getRetCode() != JUnitTestRunner.SUCCESS); - } - - // check that having no suite generates no errors - @Test - public void testNoSuite(){ - TestRunner runner = createRunner(NoSuiteTestCase.class); - runner.run(); - assertEquals(runner.getFormatter().getError(), JUnitTestRunner.SUCCESS, runner.getRetCode()); - } - - // check that a suite generates no errors - @Test - public void testSuite(){ - TestRunner runner = createRunner(SuiteTestCase.class); - runner.run(); - assertEquals(runner.getFormatter().getError(), JUnitTestRunner.SUCCESS, runner.getRetCode()); - } - - // check that an invalid suite generates an error. - @Test - public void testInvalidSuite(){ - TestRunner runner = createRunner(InvalidSuiteTestCase.class); - runner.run(); - String error = runner.getFormatter().getError(); - assertEquals(error, JUnitTestRunner.ERRORS, runner.getRetCode()); - assertTrue(error, error.indexOf("thrown on purpose") != -1); - } - - // check that something which is not a testcase generates no errors - // at first even though this is incorrect. - @Test - public void testNoTestCase(){ - TestRunner runner = createRunner(NoTestCase.class); - runner.run(); - // On junit3 this is a FAILURE, on junit4 this is an ERROR - int ret = runner.getRetCode(); - - if (ret != JUnitTestRunner.FAILURES && ret != JUnitTestRunner.ERRORS) { - fail("Unexpected result " + ret + " from junit runner"); - } - // JUnit3 test - //assertEquals(runner.getFormatter().getError(), JUnitTestRunner.FAILURES, runner.getRetCode()); - } - - // check that an exception in the constructor is noticed - @Test - public void testInvalidTestCase(){ - TestRunner runner = createRunner(InvalidTestCase.class); - runner.run(); - // On junit3 this is a FAILURE, on junit4 this is an ERROR - int ret = runner.getRetCode(); - if (ret != JUnitTestRunner.FAILURES && ret != JUnitTestRunner.ERRORS) { - fail("Unexpected result " + ret + " from junit runner"); - } - // JUNIT3 test - //assertEquals(error, JUnitTestRunner.FAILURES, runner.getRetCode()); - //@fixme as of now does not report the original stacktrace. - //assertTrue(error, error.indexOf("thrown on purpose") != -1); - } - - protected TestRunner createRunner(Class<?> clazz){ - return new TestRunner(new JUnitTest(clazz.getName()), null, - true, true, true); - } - - protected TestRunner createRunnerForTestMethod(Class<?> clazz, String method){ - return new TestRunner(new JUnitTest(clazz.getName()), new String[] {method}, - true, true, true); - } - - // the test runner that wrap the dummy formatter that interests us - private final static class TestRunner extends JUnitTestRunner { - private ResultFormatter formatter = new ResultFormatter(); - TestRunner(JUnitTest test, String[] methods, boolean haltonerror, - boolean filtertrace, boolean haltonfailure){ - super(test, methods, haltonerror, filtertrace, haltonfailure, - false, false, TestRunner.class.getClassLoader()); - // use the classloader that loaded this class otherwise - // it will not be able to run inner classes if this test - // is ran in non-forked mode. - addFormatter(formatter); - } - ResultFormatter getFormatter(){ - return formatter; - } - } - - // dummy formatter just to catch the error - private final static class ResultFormatter implements JUnitResultFormatter { - private Throwable error; - public void setSystemOutput(String output){} - public void setSystemError(String output){} - public void startTestSuite(JUnitTest suite) throws BuildException{} - public void endTestSuite(JUnitTest suite) throws BuildException{} - public void setOutput(java.io.OutputStream out){} - public void startTest(junit.framework.Test t) {} - public void endTest(junit.framework.Test test) {} - public void addFailure(junit.framework.Test test, AssertionFailedError t) { } - public void addError(junit.framework.Test test, Throwable t) { - error = t; - } - String getError(){ - if (error == null){ - return ""; - } - StringWriter sw = new StringWriter(); - error.printStackTrace(new PrintWriter(sw)); - return sw.toString(); - } - } - - public static class NoTestCase { - } - - public static class InvalidMethodTestCase extends TestCase { - public InvalidMethodTestCase(String name){ super(name); } - public void testA(){ - throw new NullPointerException("thrown on purpose"); - } - } - - public static class ValidMethodTestCase extends TestCase { - public ValidMethodTestCase(String name){ super(name); } - public void testA(){ - // expected to be executed - } - public void testB(){ - // should not be executed - throw new NullPointerException("thrown on purpose"); - } - } - - public static class InvalidTestCase extends TestCase { - public InvalidTestCase(String name){ - super(name); - throw new NullPointerException("thrown on purpose"); - } - } - - public static class NoSuiteTestCase extends TestCase { - public NoSuiteTestCase(String name){ super(name); } - public void testA(){} - } - - public static class SuiteTestCase extends NoSuiteTestCase { - public SuiteTestCase(String name){ super(name); } - public static junit.framework.Test suite(){ - return new TestSuite(SuiteTestCase.class); - } - } - - public static class InvalidSuiteTestCase extends NoSuiteTestCase { - public InvalidSuiteTestCase(String name){ super(name); } - public static junit.framework.Test suite(){ - throw new NullPointerException("thrown on purpose"); - } - } -} - diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitVersionHelperTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitVersionHelperTest.java deleted file mode 100644 index 8af3d23c..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/JUnitVersionHelperTest.java +++ /dev/null @@ -1,102 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional.junit; - -import static org.junit.Assert.assertEquals; -import junit.framework.JUnit4TestAdapterCache; -import junit.framework.TestCase; -import junit.framework.TestResult; - -import org.junit.Test; -import org.junit.runner.Description; - -/** - */ -public class JUnitVersionHelperTest { - - @Test - public void testMyOwnName() { - assertEquals("testMyOwnName", - JUnitVersionHelper.getTestCaseName( - JUnit4TestAdapterCache.getDefault().asTest( - Description.createTestDescription(JUnitVersionHelperTest.class, "testMyOwnName") - ) - ) - ); - } - - @Test - public void testNonTestCaseName() { - assertEquals("I'm a foo", - JUnitVersionHelper.getTestCaseName(new Foo1())); - } - - @Test - public void testNoStringReturn() { - assertEquals("unknown", - JUnitVersionHelper.getTestCaseName(new Foo2())); - } - - @Test - public void testNoGetName() { - assertEquals("unknown", - JUnitVersionHelper.getTestCaseName(new Foo3())); - } - - @Test - public void testNameNotGetName() { - assertEquals("I'm a foo, too", - JUnitVersionHelper.getTestCaseName(new Foo4())); - } - - @Test - public void testNull() { - assertEquals("unknown", JUnitVersionHelper.getTestCaseName(null)); - } - - @Test - public void testTestCaseSubClass() { - assertEquals("overridden getName", - JUnitVersionHelper.getTestCaseName(new Foo5())); - } - - public static class Foo implements junit.framework.Test { - public int countTestCases() {return 0;} - public void run(TestResult result) {} - } - - public static class Foo1 extends Foo { - public String getName() {return "I'm a foo";} - } - - public static class Foo2 extends Foo { - public int getName() {return 1;} - } - - public static class Foo3 extends Foo { - } - - public static class Foo4 extends Foo { - public String name() {return "I'm a foo, too";} - } - - public static class Foo5 extends TestCase { - public String getName() {return "overridden getName";} - } - -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/NoVmCrash.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/NoVmCrash.java deleted file mode 100644 index 392a92ee..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/NoVmCrash.java +++ /dev/null @@ -1,30 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional.junit; - -import org.junit.Test; - -/** - */ -public class NoVmCrash { - - @Test - public void testNoCrash() { - } - -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/Printer.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/Printer.java deleted file mode 100644 index 0200648d..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/Printer.java +++ /dev/null @@ -1,42 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional.junit; - -import org.junit.Test; - -/** - */ -public class Printer { - - public Printer() { - System.err.println("constructor print to System.err"); - System.out.println("constructor print to System.out"); - } - - static { - System.err.println("static print to System.err"); - System.out.println("static print to System.out"); - } - - @Test - public void testNoCrash() { - System.err.println("method print to System.err"); - System.out.println("method print to System.out"); - } - -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/Sleeper.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/Sleeper.java deleted file mode 100644 index 15098948..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/Sleeper.java +++ /dev/null @@ -1,30 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional.junit; - - -import org.junit.Test; - -public class Sleeper { - - @Test - public void testSleep() throws InterruptedException { - Thread.sleep(5 * 1000); - } - -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/SuiteMethodTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/SuiteMethodTest.java deleted file mode 100644 index 14a09661..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/SuiteMethodTest.java +++ /dev/null @@ -1,42 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional.junit; - -import junit.framework.Test; -import junit.framework.TestCase; - -/** - * validates that the suite() method works in classes that don't - * implement Test. - */ -public class SuiteMethodTest { - - public static Test suite() { - return new Nested("testMethod"); - } - - public static class Nested extends TestCase { - public Nested(String name) { - super(name); - } - - public void testMethod() { - assertTrue(true); - } - } -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/TearDownOnVmCrashTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/TearDownOnVmCrashTest.java deleted file mode 100644 index 9908eeea..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/TearDownOnVmCrashTest.java +++ /dev/null @@ -1,53 +0,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. - * - */ - -package org.apache.tools.ant.taskdefs.optional.junit; - -import static org.apache.tools.ant.AntAssert.assertContains; -import static org.apache.tools.ant.AntAssert.assertNotContains; -import static org.junit.Assert.assertEquals; - -import org.apache.tools.ant.BuildFileRule; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -public class TearDownOnVmCrashTest { - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - @Before - public void setUp() { - buildRule.configureProject("src/etc/testcases/taskdefs/optional/junit/teardownlistener.xml"); - } - - @Test - public void testNoTeardown() { - buildRule.executeTarget("testNoTeardown"); - assertEquals("true", buildRule.getProject().getProperty("error")); - assertNotContains("tearDown called on Timeout", buildRule.getOutput()); - } - - @Test - public void testTeardown() { - buildRule.executeTarget("testTeardown"); - assertEquals("true", buildRule.getProject().getProperty("error")); - assertContains("tearDown called on Timeout", buildRule.getOutput()); - } -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/TestFormatter.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/TestFormatter.java deleted file mode 100644 index 27420d6f..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/TestFormatter.java +++ /dev/null @@ -1,112 +0,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. - * - */ - -package org.apache.tools.ant.taskdefs.optional.junit; - -import java.io.IOException; -import java.io.OutputStream; - -import junit.framework.AssertionFailedError; -import junit.framework.Test; - -import org.apache.tools.ant.BuildException; - -public class TestFormatter implements JUnitResultFormatter { - - private static final byte[] grafitto = new byte[] { - (byte) 'T', (byte) 'e', (byte) 's', (byte) 't', (byte) 'F', (byte) 'o', - (byte) 'r', (byte) 'm', (byte) 'a', (byte) 't', (byte) 't', (byte) 'e', - (byte) 'r', (byte) ' ', (byte) 'w', (byte) 'a', (byte) 's', (byte) ' ', - (byte) 'h', (byte) 'e', (byte) 'r', (byte) 'e', 10 - }; - - /** - * Where to write the log to. - */ - private OutputStream out; - - /** - * Empty - */ - public TestFormatter() { - } - - /** - * Empty - */ - public void startTestSuite(JUnitTest suite) { - } - /** - * Empty - */ - public void startTest(Test t) { - } - /** - * Empty - */ - public void endTest(Test test) { - } - /** - * Empty - */ - public void addFailure(Test test, Throwable t) { - } - /** - * Empty - */ - public void addFailure(Test test, AssertionFailedError t) { - } - /** - * Empty - */ - public void addError(Test test, Throwable t) { - } - /** - * Empty - */ - public void setSystemOutput(String out) { - } - /** - * Empty - */ - public void setSystemError(String err) { - } - - public void setOutput(OutputStream out) { - this.out = out; - } - - public void endTestSuite(JUnitTest suite) throws BuildException { - if (out != null) { - try { - out.write(grafitto); - out.flush(); - } catch (IOException ioex) { - throw new BuildException("Unable to write output", ioex); - } finally { - if (out != System.out && out != System.err) { - try { - out.close(); - } catch (IOException e) { - // ignore - } - } - } - } - } -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/VmCrash.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/VmCrash.java deleted file mode 100644 index 92d21b68..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/VmCrash.java +++ /dev/null @@ -1,31 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional.junit; - -import org.junit.Test; - -/** - */ -public class VmCrash { - - @Test - public void testCrash() { - System.exit(0); - } - -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/XMLFormatterWithCDATAOnSystemOut.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/XMLFormatterWithCDATAOnSystemOut.java deleted file mode 100644 index 3f464d87..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/XMLFormatterWithCDATAOnSystemOut.java +++ /dev/null @@ -1,83 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional.junit; - -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -import org.apache.tools.ant.BuildFileRule; -import org.apache.tools.ant.util.FileUtils; -import org.junit.Rule; -import org.junit.Test; - -import static org.junit.Assert.assertTrue; - -public class XMLFormatterWithCDATAOnSystemOut { - - private static final String DIR = "src/etc/testcases/taskdefs/optional/junit"; - private static final String REPORT = - "TEST-" + XMLFormatterWithCDATAOnSystemOut.class.getName() + ".xml"; - - private static final String TESTDATA = - "<ERROR>" + - "<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + - " <RESPONSE>" + - " <GDS/>" + - " <ERROR>" + - " <ID/>" + - " <MESSAGE/>" + - " <REQUEST_TYPE/>" + - " <RESEND/>" + - " <RAW_RESPONSE/>" + - " </ERROR>" + - " </RESPONSE>" + - "]]>" + - "</ERROR>"; - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - @Test - public void testOutput() { - System.out.println(TESTDATA); - } - - @Test - public void testBuildfile() throws IOException { - buildRule.configureProject(DIR + "/cdataoutput.xml"); - if (buildRule.getProject().getProperty("cdata.inner") == null) { - // avoid endless loop - buildRule.executeTarget("run-junit"); - File f = buildRule.getProject().resolveFile(REPORT); - FileReader reader = null; - try { - reader = new FileReader(f); - String content = FileUtils.readFully(reader); - assertTrue(content.indexOf("</RESPONSE>]]>" - + "</ERROR>") > 0); - } finally { - if (reader != null) { - reader.close(); - } - f.delete(); - } - } - } - -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregatorTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregatorTest.java deleted file mode 100644 index da67fec8..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregatorTest.java +++ /dev/null @@ -1,93 +0,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. - * - */ - -package org.apache.tools.ant.taskdefs.optional.junit; - -import static org.junit.Assert.assertTrue; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.PrintWriter; -import java.security.Permission; - -import org.apache.tools.ant.DefaultLogger; -import org.apache.tools.ant.Project; -import org.apache.tools.ant.taskdefs.Delete; -import org.apache.tools.ant.types.FileSet; -import org.junit.Assume; -import org.junit.Test; - -public class XMLResultAggregatorTest { - - @Test - public void testFrames() throws Exception { - // For now, skip this test on JDK 6 (and below); see below for why: - try { - Class.forName("java.nio.file.Files"); - } catch (ClassNotFoundException x) { - Assume.assumeNoException("Skip test on JDK 6 and below", x); - } - final File d = new File(System.getProperty("java.io.tmpdir"), "XMLResultAggregatorTest"); - if (d.exists()) { - new Delete() {{removeDir(d);}}; // is there no utility method for this? - } - assertTrue(d.getAbsolutePath(), d.mkdir()); - File xml = new File(d, "x.xml"); - PrintWriter pw = new PrintWriter(new FileOutputStream(xml)); - try { - pw.println("<testsuite errors='0' failures='0' name='my.UnitTest' tests='1'>"); - pw.println(" <testcase classname='my.UnitTest' name='testSomething'/>"); - pw.println("</testsuite>"); - pw.flush(); - } finally { - pw.close(); - } - XMLResultAggregator task = new XMLResultAggregator(); - task.setTodir(d); - Project project = new Project(); - DefaultLogger logger = new DefaultLogger(); - logger.setOutputPrintStream(System.out); - logger.setErrorPrintStream(System.err); - logger.setMessageOutputLevel(Project.MSG_INFO); - project.addBuildListener(logger); - project.init(); - task.setProject(project); - AggregateTransformer report = task.createReport(); - report.setTodir(d); - FileSet fs = new FileSet(); - fs.setFile(xml); - task.addFileSet(fs); - /* getResourceAsStream override unnecessary on JDK 7. Ought to work around JAXP #6723276 in JDK 6, but causes a TypeCheckError in FunctionCall for reasons TBD: - Thread.currentThread().setContextClassLoader(new ClassLoader(ClassLoader.getSystemClassLoader().getParent()) { - public InputStream getResourceAsStream(String name) { - if (name.startsWith("META-INF/services/")) { - return new ByteArrayInputStream(new byte[0]); - } - return super.getResourceAsStream(name); - } - }); - */ - // Use the JRE's Xerces, not lib/optional/xerces.jar: - Thread.currentThread().setContextClassLoader(ClassLoader.getSystemClassLoader().getParent()); - // Tickle #51668: - System.setSecurityManager(new SecurityManager() {public void checkPermission(Permission perm) {}}); - task.execute(); - assertTrue(new File(d, "index.html").isFile()); - } - -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/net/FTPTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/net/FTPTest.java deleted file mode 100644 index 1a22115e..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/net/FTPTest.java +++ /dev/null @@ -1,879 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional.net; - -import static org.apache.tools.ant.AntAssert.assertContains; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import java.io.File; -import java.io.IOException; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.Random; -import java.util.Vector; - -import org.apache.commons.net.ftp.FTPClient; -import org.apache.tools.ant.BuildEvent; -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.BuildFileRule; -import org.apache.tools.ant.DefaultLogger; -import org.apache.tools.ant.DirectoryScanner; -import org.apache.tools.ant.Project; -import org.apache.tools.ant.taskdefs.condition.Os; -import org.apache.tools.ant.types.FileSet; -import org.apache.tools.ant.util.RetryHandler; -import org.apache.tools.ant.util.Retryable; -import org.apache.tools.ant.util.regexp.RegexpMatcher; -import org.apache.tools.ant.util.regexp.RegexpMatcherFactory; -import org.junit.After; -import org.junit.Assume; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -//FIXME these tests are more integration than unit tests and report errors badly -public class FTPTest { - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - // keep track of what operating systems are supported here. - private boolean supportsSymlinks = Os.isFamily("unix"); - - private FTPClient ftp; - - private boolean loginSuceeded = false; - - private String loginFailureMessage; - - private String tmpDir = null; - private String remoteTmpDir = null; - private String ftpFileSep = null; - private myFTP myFTPTask = new myFTP(); - - - @Before - public void setUp() { - buildRule.configureProject("src/etc/testcases/taskdefs/optional/net/ftp.xml"); - Project project = buildRule.getProject(); - project.executeTarget("setup"); - tmpDir = project.getProperty("tmp.dir"); - ftp = new FTPClient(); - ftpFileSep = project.getProperty("ftp.filesep"); - myFTPTask.setSeparator(ftpFileSep); - myFTPTask.setProject(project); - remoteTmpDir = myFTPTask.resolveFile(tmpDir); - String remoteHost = project.getProperty("ftp.host"); - int port = Integer.parseInt(project.getProperty("ftp.port")); - String remoteUser = project.getProperty("ftp.user"); - String password = project.getProperty("ftp.password"); - boolean connectionSucceeded = false; - try { - ftp.connect(remoteHost, port); - connectionSucceeded = true; - } catch (Exception ex) { - loginFailureMessage = "could not connect to host " + remoteHost + " on port " + port; - } - if (connectionSucceeded) { - try { - ftp.login(remoteUser, password); - loginSuceeded = true; - } catch (IOException ioe) { - loginFailureMessage = "could not log on to " + remoteHost + " as user " + remoteUser; - } - } - } - - @After - public void tearDown() { - try { - if (ftp!= null) { - ftp.disconnect(); - } - } catch (IOException ioe) { - // do nothing - } - buildRule.getProject().executeTarget("cleanup"); - } - - private boolean changeRemoteDir(String remoteDir) { - boolean result = true; - try { - ftp.cwd(remoteDir); - } - catch (Exception ex) { - System.out.println("could not change directory to " + remoteTmpDir); - result = false; - } - return result; - } - - @Test - public void test1() { - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setIncludes(new String[] {"alpha"}); - ds.scan(); - compareFiles(ds, new String[] {} ,new String[] {"alpha"}); - } - - @Test - public void test2() { - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setIncludes(new String[] {"alpha/"}); - ds.scan(); - compareFiles(ds, new String[] {"alpha/beta/beta.xml", - "alpha/beta/gamma/gamma.xml"}, - new String[] {"alpha", "alpha/beta", "alpha/beta/gamma"}); - } - - @Test - public void test3() { - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.scan(); - compareFiles(ds, new String[] {"alpha/beta/beta.xml", - "alpha/beta/gamma/gamma.xml"}, - new String[] {"alpha", "alpha/beta", - "alpha/beta/gamma"}); - } - - @Test - public void testFullPathMatchesCaseSensitive() { - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setIncludes(new String[] {"alpha/beta/gamma/GAMMA.XML"}); - ds.scan(); - compareFiles(ds, new String[] {}, new String[] {}); - } - - @Test - public void testFullPathMatchesCaseInsensitive() { - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setCaseSensitive(false); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setIncludes(new String[] {"alpha/beta/gamma/GAMMA.XML"}); - ds.scan(); - compareFiles(ds, new String[] {"alpha/beta/gamma/gamma.xml"}, - new String[] {}); - } - - @Test - public void test2ButCaseInsensitive() { - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setIncludes(new String[] {"ALPHA/"}); - ds.setCaseSensitive(false); - ds.scan(); - compareFiles(ds, new String[] {"alpha/beta/beta.xml", - "alpha/beta/gamma/gamma.xml"}, - new String[] {"alpha", "alpha/beta", "alpha/beta/gamma"}); - } - - @Test - public void test2bisButCaseInsensitive() { - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setIncludes(new String[] {"alpha/BETA/gamma/"}); - ds.setCaseSensitive(false); - ds.scan(); - compareFiles(ds, new String[] {"alpha/beta/gamma/gamma.xml"}, - new String[] {"alpha/beta/gamma"}); - } - - @Test - public void testGetWithSelector() { - buildRule.executeTarget("ftp-get-with-selector"); - assertContains("selectors are not supported in remote filesets", buildRule.getLog()); - FileSet fsDestination = (FileSet) buildRule.getProject().getReference("fileset-destination-without-selector"); - DirectoryScanner dsDestination = fsDestination.getDirectoryScanner(buildRule.getProject()); - dsDestination.scan(); - String [] sortedDestinationDirectories = dsDestination.getIncludedDirectories(); - String [] sortedDestinationFiles = dsDestination.getIncludedFiles(); - for (int counter = 0; counter < sortedDestinationDirectories.length; counter++) { - sortedDestinationDirectories[counter] = - sortedDestinationDirectories[counter].replace(File.separatorChar, '/'); - } - for (int counter = 0; counter < sortedDestinationFiles.length; counter++) { - sortedDestinationFiles[counter] = - sortedDestinationFiles[counter].replace(File.separatorChar, '/'); - } - FileSet fsSource = (FileSet) buildRule.getProject().getReference("fileset-source-without-selector"); - DirectoryScanner dsSource = fsSource.getDirectoryScanner(buildRule.getProject()); - dsSource.scan(); - compareFiles(dsSource, sortedDestinationFiles, sortedDestinationDirectories); - } - - @Test - public void testGetFollowSymlinksTrue() { - Assume.assumeTrue("System does not support Symlinks", supportsSymlinks); - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - buildRule.getProject().executeTarget("ftp-get-directory-symbolic-link"); - FileSet fsDestination = (FileSet) buildRule.getProject().getReference("fileset-destination-without-selector"); - DirectoryScanner dsDestination = fsDestination.getDirectoryScanner(buildRule.getProject()); - dsDestination.scan(); - compareFiles(dsDestination, new String[] {"alpha/beta/gamma/gamma.xml"}, - new String[] {"alpha", "alpha/beta", "alpha/beta/gamma"}); - } - - @Test - public void testGetFollowSymlinksFalse() { - Assume.assumeTrue("System does not support Symlinks", supportsSymlinks); - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - buildRule.getProject().executeTarget("ftp-get-directory-no-symbolic-link"); - FileSet fsDestination = (FileSet) buildRule.getProject().getReference("fileset-destination-without-selector"); - DirectoryScanner dsDestination = fsDestination.getDirectoryScanner(buildRule.getProject()); - dsDestination.scan(); - compareFiles(dsDestination, new String[] {}, - new String[] {}); - } - - @Test - public void testAllowSymlinks() { - Assume.assumeTrue("System does not support Symlinks", supportsSymlinks); - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - buildRule.getProject().executeTarget("symlink-setup"); - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setIncludes(new String[] {"alpha/beta/gamma/"}); - ds.setFollowSymlinks(true); - ds.scan(); - compareFiles(ds, new String[] {"alpha/beta/gamma/gamma.xml"}, - new String[] {"alpha/beta/gamma"}); - } - - @Test - public void testProhibitSymlinks() { - Assume.assumeTrue("System does not support Symlinks", supportsSymlinks); - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - buildRule.getProject().executeTarget("symlink-setup"); - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setIncludes(new String[] {"alpha/beta/gamma/"}); - ds.setFollowSymlinks(false); - ds.scan(); - compareFiles(ds, new String[] {}, new String[] {}); - } - - @Test - public void testFileSymlink() { - Assume.assumeTrue("System does not support Symlinks", supportsSymlinks); - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - buildRule.getProject().executeTarget("symlink-file-setup"); - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setIncludes(new String[] {"alpha/beta/gamma/"}); - ds.setFollowSymlinks(true); - ds.scan(); - compareFiles(ds, new String[] {"alpha/beta/gamma/gamma.xml"}, - new String[] {"alpha/beta/gamma"}); - } - - // father and child pattern test - @Test - public void testOrderOfIncludePatternsIrrelevant() { - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - String [] expectedFiles = {"alpha/beta/beta.xml", - "alpha/beta/gamma/gamma.xml"}; - String [] expectedDirectories = {"alpha/beta", "alpha/beta/gamma" }; - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setIncludes(new String[] {"alpha/be?a/**", "alpha/beta/gamma/"}); - ds.scan(); - compareFiles(ds, expectedFiles, expectedDirectories); - // redo the test, but the 2 include patterns are inverted - ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setIncludes(new String[] {"alpha/beta/gamma/", "alpha/be?a/**"}); - ds.scan(); - compareFiles(ds, expectedFiles, expectedDirectories); - } - - @Test - public void testPatternsDifferInCaseScanningSensitive() { - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setIncludes(new String[] {"alpha/", "ALPHA/"}); - ds.scan(); - compareFiles(ds, new String[] {"alpha/beta/beta.xml", - "alpha/beta/gamma/gamma.xml"}, - new String[] {"alpha", "alpha/beta", "alpha/beta/gamma"}); - } - - @Test - public void testPatternsDifferInCaseScanningInsensitive() { - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setIncludes(new String[] {"alpha/", "ALPHA/"}); - ds.setCaseSensitive(false); - ds.scan(); - compareFiles(ds, new String[] {"alpha/beta/beta.xml", - "alpha/beta/gamma/gamma.xml"}, - new String[] {"alpha", "alpha/beta", "alpha/beta/gamma"}); - } - - @Test - public void testFullpathDiffersInCaseScanningSensitive() { - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setIncludes(new String[] { - "alpha/beta/gamma/gamma.xml", - "alpha/beta/gamma/GAMMA.XML" - }); - ds.scan(); - compareFiles(ds, new String[] {"alpha/beta/gamma/gamma.xml"}, - new String[] {}); - } - - @Test - public void testFullpathDiffersInCaseScanningInsensitive() { - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setIncludes(new String[] { - "alpha/beta/gamma/gamma.xml", - "alpha/beta/gamma/GAMMA.XML" - }); - ds.setCaseSensitive(false); - ds.scan(); - compareFiles(ds, new String[] {"alpha/beta/gamma/gamma.xml"}, - new String[] {}); - } - - @Test - public void testParentDiffersInCaseScanningSensitive() { - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setIncludes(new String[] {"alpha/", "ALPHA/beta/"}); - ds.scan(); - compareFiles(ds, new String[] {"alpha/beta/beta.xml", - "alpha/beta/gamma/gamma.xml"}, - new String[] {"alpha", "alpha/beta", "alpha/beta/gamma"}); - } - - @Test - public void testParentDiffersInCaseScanningInsensitive() { - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setIncludes(new String[] {"alpha/", "ALPHA/beta/"}); - ds.setCaseSensitive(false); - ds.scan(); - compareFiles(ds, new String[] {"alpha/beta/beta.xml", - "alpha/beta/gamma/gamma.xml"}, - new String[] {"alpha", "alpha/beta", "alpha/beta/gamma"}); - } - - @Test - public void testExcludeOneFile() { - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setIncludes(new String[] { - "**/*.xml" - }); - ds.setExcludes(new String[] { - "alpha/beta/b*xml" - }); - ds.scan(); - compareFiles(ds, new String[] {"alpha/beta/gamma/gamma.xml"}, - new String[] {}); - } - - @Test - public void testExcludeHasPrecedence() { - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setIncludes(new String[] { - "alpha/**" - }); - ds.setExcludes(new String[] { - "alpha/**" - }); - ds.scan(); - compareFiles(ds, new String[] {}, - new String[] {}); - - } - - @Test - public void testAlternateIncludeExclude() { - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setIncludes(new String[] { - "alpha/**", - "alpha/beta/gamma/**" - }); - ds.setExcludes(new String[] { - "alpha/beta/**" - }); - ds.scan(); - compareFiles(ds, new String[] {}, - new String[] {"alpha"}); - - } - - @Test - public void testAlternateExcludeInclude() { - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setExcludes(new String[] { - "alpha/**", - "alpha/beta/gamma/**" - }); - ds.setIncludes(new String[] { - "alpha/beta/**" - }); - ds.scan(); - compareFiles(ds, new String[] {}, - new String[] {}); - - } - - /** - * Test inspired by Bug#1415. - */ - @Test - public void testChildrenOfExcludedDirectory() { - Assume.assumeTrue(loginFailureMessage, loginSuceeded); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - buildRule.getProject().executeTarget("children-of-excluded-dir-setup"); - FTP.FTPDirectoryScanner ds = myFTPTask.newScanner(ftp); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setExcludes(new String[] {"alpha/**"}); - ds.scan(); - compareFiles(ds, new String[] {"delta/delta.xml"}, - new String[] {"delta"}); - - ds = myFTPTask.newScanner(ftp); - Assume.assumeTrue("Could not change remote directory", changeRemoteDir(remoteTmpDir)); - ds.setBasedir(new File(buildRule.getProject().getBaseDir(), "tmp")); - ds.setExcludes(new String[] {"alpha"}); - ds.scan(); - compareFiles(ds, new String[] {"alpha/beta/beta.xml", - "alpha/beta/gamma/gamma.xml", - "delta/delta.xml"}, - new String[] {"alpha/beta", "alpha/beta/gamma", "delta"}); - - } - - /** - * This class enables the use of the log messages as a way of testing - * the number of files actually transferred. - * It uses the ant regular expression mechanism to get a regex parser - * to parse the log output. - */ - private class CountLogListener extends DefaultLogger { - private Vector lastMatchGroups = null; - private RegexpMatcher matcher = new RegexpMatcherFactory().newRegexpMatcher(); - - /** - * The only constructor for a CountLogListener - * @param pattern a regular expression pattern. It should have - * one parenthesized group and that group should contain the - * number desired. - */ - public CountLogListener(String pattern) { - super(); - this.matcher.setPattern(pattern); - } - - - /* - * @param event the build event that is being logged. - */ - public void messageLogged(BuildEvent event) { - String message = event.getMessage(); - if (this.matcher.matches(message)) { - lastMatchGroups = this.matcher.getGroups(message); - } - super.messageLogged(event); - } - - /** - * returns the desired number that results from parsing the log - * message - * @return the number of files indicated in the desired message or -1 - * if a matching log message was never found. - */ - public int getCount() { - if (this.lastMatchGroups == null) { - return -1; - } - return Integer.parseInt((String) this.lastMatchGroups.get(1)); - } - } - - /** - * This class enables the use of the log to count the number - * of times a message has been emitted. - */ - private class LogCounter extends DefaultLogger { - private Map searchMap = new HashMap(); - private int matchCount; - - public void addLogMessageToSearch(String message) { - searchMap.put(message, new Integer(0)); - } - - /* - * @param event the build event that is being logged. - */ - public void messageLogged(BuildEvent event) { - String message = event.getMessage(); - Integer mcnt = (Integer) searchMap.get(message); - if (null != mcnt) { - searchMap.put(message, new Integer(mcnt.intValue() + 1)); - } - super.messageLogged(event); - } - - /** - * @return the number of times that the looked for message was sent - * to the log - */ - public int getMatchCount(String message) { - Integer mcnt = (Integer) searchMap.get(message); - if (null != mcnt) { - return mcnt.intValue(); - } - return 0; - } - } - /** - * Tests the combination of the newer parameter and the - * serverTimezoneConfig parameter in the PUT action. The default - * configuration is an ftp server on localhost which formats - * timestamps as GMT. - */ - @Test - public void testTimezonePut() { - CountLogListener log = new CountLogListener("(\\d+) files? sent"); - buildRule.getProject().executeTarget("timed.test.setup"); - buildRule.getProject().addBuildListener(log); - buildRule.getProject().executeTarget("timed.test.put.older"); - assertEquals(1, log.getCount()); - } - - /** - * Tests the combination of the newer parameter and the - * serverTimezoneConfig parameter in the GET action. The default - * configuration is an ftp server on localhost which formats - * timestamps as GMT. - */ - @Test - public void testTimezoneGet() { - CountLogListener log = new CountLogListener("(\\d+) files? retrieved"); - buildRule.getProject().executeTarget("timed.test.setup"); - buildRule.getProject().addBuildListener(log); - buildRule.getProject().executeTarget("timed.test.get.older"); - assertEquals(3, log.getCount()); - } - - - /** - * Tests that the presence of one of the server config params forces - * the system type to Unix if not specified. - */ - @Test - public void testConfiguration1() { - int[] expectedCounts = { - 1,1,0,1,0,0,0 - }; - performConfigTest("configuration.1", expectedCounts); - - } - - /** - * Tests the systemTypeKey attribute. - */ - @Test - public void testConfiguration2() { - int[] expectedCounts = { - 1,0,0,1,1,0,0 - }; - performConfigTest("configuration.2", expectedCounts); - - } - - /** - * Tests the systemTypeKey attribute with UNIX specified. - */ - @Test - public void testConfiguration3() { - int[] expectedCounts = { - 1,0,1,0,0,1,0 - }; - performConfigTest("configuration.3", expectedCounts); - - } - - @Test - public void testConfigurationLang() { - int[] expectedCounts = { - 1,1,0,0,0,0,1 - }; - performConfigTest("configuration.lang.good", expectedCounts); - - try { - performConfigTest("configuration.lang.bad", expectedCounts); - fail("BuildException Expected"); - } catch (Exception bx) { - assertTrue(bx instanceof BuildException); - } - } - /** - * Tests the systemTypeKey attribute. - */ - @Test - public void testConfigurationNone() { - int[] expectedCounts = { - 0,0,0,0,0,0,0 - }; - performConfigTest("configuration.none", expectedCounts); - - } - - private void performConfigTest(String target, int[] expectedCounts) { - String[] messages = new String[]{ - "custom configuration", - "custom config: system key = default (UNIX)", - "custom config: system key = UNIX", - "custom config: server time zone ID = " + buildRule.getProject().getProperty("ftp.server.timezone"), - "custom config: system key = WINDOWS", - "custom config: default date format = yyyy/MM/dd HH:mm", - "custom config: server language code = de" - - }; - LogCounter counter = new LogCounter(); - for (int i=0; i < messages.length; i++) { - counter.addLogMessageToSearch(messages[i]); - } - - buildRule.getProject().addBuildListener(counter); - buildRule.getProject().executeTarget(target); - for (int i=0; i < messages.length; i++) { - assertEquals("target "+target+":message "+ i, expectedCounts[i], counter.getMatchCount(messages[i])); - } - - } - - - /** - * this test is inspired by a user reporting that deletions of directories with the ftp task do not work - */ - @Test - public void testFTPDelete() { - buildRule.getProject().executeTarget("ftp-delete"); - } - - private void compareFiles(DirectoryScanner ds, String[] expectedFiles, - String[] expectedDirectories) { - String includedFiles[] = ds.getIncludedFiles(); - String includedDirectories[] = ds.getIncludedDirectories(); - assertEquals("file present: ", expectedFiles.length, - includedFiles.length); - assertEquals("directories present: ", expectedDirectories.length, - includedDirectories.length); - - for (int counter=0; counter < includedFiles.length; counter++) { - includedFiles[counter] = includedFiles[counter].replace(File.separatorChar, '/'); - } - Arrays.sort(includedFiles); - for (int counter=0; counter < includedDirectories.length; counter++) { - includedDirectories[counter] = includedDirectories[counter] - .replace(File.separatorChar, '/'); - } - Arrays.sort(includedDirectories); - for (int counter=0; counter < includedFiles.length; counter++) { - assertEquals(expectedFiles[counter], includedFiles[counter]); - } - for (int counter=0; counter < includedDirectories.length; counter++) { - assertEquals(expectedDirectories[counter], includedDirectories[counter]); - counter++; - } - } - private static class myFTP extends FTP { - public FTP.FTPDirectoryScanner newScanner(FTPClient client) { - return new FTP.FTPDirectoryScanner(client); - } - // provide public visibility - public String resolveFile(String file) { - return super.resolveFile(file); - } - } - - - public abstract static class myRetryableFTP extends FTP { - private final int numberOfFailuresToSimulate; - private int simulatedFailuresLeft; - - protected myRetryableFTP(int numberOfFailuresToSimulate) { - this.numberOfFailuresToSimulate = numberOfFailuresToSimulate; - this.simulatedFailuresLeft = numberOfFailuresToSimulate; - } - - protected void getFile(FTPClient ftp, String dir, String filename) - throws IOException, BuildException - { - if (this.simulatedFailuresLeft > 0) { - this.simulatedFailuresLeft--; - throw new IOException("Simulated failure for testing"); - } - super.getFile(ftp, dir, filename); - } - protected void executeRetryable(RetryHandler h, Retryable r, - String filename) throws IOException - { - this.simulatedFailuresLeft = this.numberOfFailuresToSimulate; - super.executeRetryable(h, r, filename); - } - } - public static class oneFailureFTP extends myRetryableFTP { - public oneFailureFTP() { - super(1); - } - } - public static class twoFailureFTP extends myRetryableFTP { - public twoFailureFTP() { - super(2); - } - } - public static class threeFailureFTP extends myRetryableFTP { - public threeFailureFTP() { - super(3); - } - } - - public static class randomFailureFTP extends myRetryableFTP { - public randomFailureFTP() { - super(new Random().nextInt(Short.MAX_VALUE)); - } - } - public void testGetWithSelectorRetryable1() { - buildRule.getProject().addTaskDefinition("ftp", oneFailureFTP.class); - try { - buildRule.getProject().executeTarget("ftp-get-with-selector-retryable"); - } catch (BuildException bx) { - fail("Two retries expected, failed after one."); - } - } - - @Test - public void testGetWithSelectorRetryable2() { - buildRule.getProject().addTaskDefinition("ftp", twoFailureFTP.class); - try { - buildRule.getProject().executeTarget("ftp-get-with-selector-retryable"); - } catch (BuildException bx) { - fail("Two retries expected, failed after two."); - } - } - - @Test - public void testGetWithSelectorRetryable3() { - buildRule.getProject().addTaskDefinition("ftp", threeFailureFTP.class); - try { - buildRule.getProject().executeTarget("ftp-get-with-selector-retryable"); - fail("Two retries expected, continued after two."); - } catch (BuildException bx) { - } - } - - @Test - public void testGetWithSelectorRetryableRandom() { - buildRule.getProject().addTaskDefinition("ftp", randomFailureFTP.class); - try { - buildRule.getProject().setProperty("ftp.retries", "forever"); - buildRule.getProject().executeTarget("ftp-get-with-selector-retryable"); - } catch (BuildException bx) { - fail("Retry forever specified, but failed."); - } - } - - @Test - public void testInitialCommand() { - performCommandTest("test-initial-command", new int[] { 1,0 }); - } - - @Test - public void testSiteAction() { - performCommandTest("test-site-action", new int[] { 1,0 }); - } - - private void performCommandTest(String target, int[] expectedCounts) { - String[] messages = new String[]{ - "Doing Site Command: umask 222", - "Failed to issue Site Command: umask 222", - - }; - LogCounter counter = new LogCounter(); - for (int i=0; i < messages.length; i++) { - counter.addLogMessageToSearch(messages[i]); - } - - buildRule.getProject().addBuildListener(counter); - buildRule.getProject().executeTarget(target); - for (int i=0; i < messages.length; i++) { - assertEquals("target "+target+":message "+ i, expectedCounts[i], counter.getMatchCount(messages[i])); - } - - } - -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/script/ScriptDefTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/script/ScriptDefTest.java deleted file mode 100644 index 5d4d4cf6..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/script/ScriptDefTest.java +++ /dev/null @@ -1,146 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional.script; - -import org.apache.tools.ant.AntAssert; -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.BuildFileRule; -import org.apache.tools.ant.Project; -import org.apache.tools.ant.types.FileSet; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -import java.io.File; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -/** - * Tests the examples of the <scriptdef> task. - * - * @since Ant 1.6 - */ -public class ScriptDefTest { - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - @Before - public void setUp() { - buildRule.configureProject("src/etc/testcases/taskdefs/optional/script/scriptdef.xml"); - } - - @Test - public void testSimple() { - buildRule.executeTarget("simple"); - // get the fileset and its basedir - Project p = buildRule.getProject(); - FileSet fileset = (FileSet) p.getReference("testfileset"); - File baseDir = fileset.getDir(p); - String log = buildRule.getLog(); - assertTrue("Expecting attribute value printed", - log.indexOf("Attribute attr1 = test") != -1); - - assertTrue("Expecting nested element value printed", - log.indexOf("Fileset basedir = " + baseDir.getAbsolutePath()) != -1); - } - - @Test - public void testNoLang() { - try { - buildRule.executeTarget("nolang"); - fail("Absence of language attribute not detected"); - } catch(BuildException ex) { - AntAssert.assertContains("requires a language attribute", ex.getMessage()); - } - } - - @Test - public void testNoName() { - try { - buildRule.executeTarget("noname"); - fail("Absence of name attribute not detected"); - } catch(BuildException ex) { - AntAssert.assertContains("scriptdef requires a name attribute", ex.getMessage()); - } - } - - @Test - public void testNestedByClassName() { - buildRule.executeTarget("nestedbyclassname"); - // get the fileset and its basedir - Project p = buildRule.getProject(); - FileSet fileset = (FileSet) p.getReference("testfileset"); - File baseDir = fileset.getDir(p); - String log = buildRule.getLog(); - assertTrue("Expecting attribute value to be printed", - log.indexOf("Attribute attr1 = test") != -1); - - assertTrue("Expecting nested element value to be printed", - log.indexOf("Fileset basedir = " + baseDir.getAbsolutePath()) != -1); - } - - @Test - public void testNoElement() { - buildRule.executeTarget("noelement"); - assertEquals("Attribute attr1 = test", buildRule.getOutput().trim()); - } - - @Test - public void testException() { - try { - buildRule.executeTarget("exception"); - fail("Should have thrown an exception in the script"); - } catch(BuildException ex) { - AntAssert.assertContains("TypeError", ex.getMessage()); - } - } - - @Test - public void testDoubleDef() { - buildRule.executeTarget("doubledef"); - String log = buildRule.getLog(); - assertTrue("Task1 did not execute", - log.indexOf("Task1") != -1); - assertTrue("Task2 did not execute", - log.indexOf("Task2") != -1); - } - - @Test - public void testDoubleAttribute() { - try { - buildRule.executeTarget("doubleAttributeDef"); - fail("Should have detected duplicate attirbute definition"); - } catch(BuildException ex) { - AntAssert.assertContains("attr1 attribute more than once", ex.getMessage()); - } - } - - @Test - public void testProperty() { - buildRule.executeTarget("property"); - // get the fileset and its basedir - String log = buildRule.getLog(); - assertTrue("Expecting property in attribute value replaced", - log.indexOf("Attribute value = test") != -1); - } - - -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/sos/SOSTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/sos/SOSTest.java deleted file mode 100644 index c45ec17e..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/sos/SOSTest.java +++ /dev/null @@ -1,351 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional.sos; - -import java.io.File; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.BuildFileRule; -import org.apache.tools.ant.Project; -import org.apache.tools.ant.types.Commandline; -import org.apache.tools.ant.types.Path; -import org.junit.After; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; - -/** - * Testcase to ensure that command line generation and required attributes are - * correct. - * - */ -public class SOSTest { - - private Commandline commandline; - - private static final String VSS_SERVER_PATH = "\\\\server\\vss\\srcsafe.ini"; - private static final String VSS_PROJECT_PATH = "/SourceRoot/Project"; - private static final String DS_VSS_PROJECT_PATH = "$/SourceRoot/Project"; - private static final String SOS_SERVER_PATH = "192.168.0.1:8888"; - private static final String SOS_USERNAME = "ant"; - private static final String SOS_PASSWORD = "rocks"; - private static final String LOCAL_PATH = "testdir"; - private static final String SRC_FILE = "Class1.java"; - private static final String SRC_LABEL = "label1"; - private static final String SRC_COMMENT = "I fixed a bug"; - private static final String SOS_HOME = "/home/user/.sos"; - private static final String VERSION = "007"; - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - private Project project; - - @Before - public void setUp() { - project = new Project(); - project.init(); - project.setBasedir("."); - } - - @After - public void tearDown() { - File file = new File(project.getBaseDir(), LOCAL_PATH); - if (file.exists()) { - file.delete(); - } - } - - /** Test SOSGetFile flags & commandline generation */ - @Test - public void testGetFileFlags() { - String[] sTestCmdLine = {"soscmd", "-command", "GetFile", "-file", - SRC_FILE, "-revision", "007", "-server", SOS_SERVER_PATH, "-name", - SOS_USERNAME, "-password", SOS_PASSWORD, "-database", VSS_SERVER_PATH, - "-project", DS_VSS_PROJECT_PATH, "-verbose", "-nocompress", - "-nocache", "-workdir", project.getBaseDir().getAbsolutePath() - + File.separator + LOCAL_PATH}; - - // Set up a SOSGet task - SOSGet sosGet = new SOSGet(); - sosGet.setProject(project); - sosGet.setVssServerPath(VSS_SERVER_PATH); - sosGet.setSosServerPath(SOS_SERVER_PATH); - sosGet.setProjectPath(VSS_PROJECT_PATH); - sosGet.setFile(SRC_FILE); - sosGet.setUsername(SOS_USERNAME); - sosGet.setPassword(SOS_PASSWORD); - sosGet.setVersion(VERSION); - sosGet.setLocalPath(new Path(project, LOCAL_PATH)); - sosGet.setNoCache(true); - sosGet.setNoCompress(true); - sosGet.setVerbose(true); - sosGet.setRecursive(true); - - commandline = sosGet.buildCmdLine(); - - checkCommandLines(sTestCmdLine, commandline.getCommandline()); - } - - /** Test SOSGetProject flags & commandline generation */ - @Test - public void testGetProjectFlags() { - String[] sTestCmdLine = {"soscmd", "-command", "GetProject", "-recursive", - "-label", SRC_LABEL, "-server", SOS_SERVER_PATH, "-name", SOS_USERNAME, - "-password", "", "-database", VSS_SERVER_PATH, "-project", - DS_VSS_PROJECT_PATH, "", "", "-soshome", SOS_HOME, "-workdir", - project.getBaseDir().getAbsolutePath()}; - - // Set up a SOSGet task - SOSGet sosGet = new SOSGet(); - sosGet.setProject(project); - sosGet.setVssServerPath(VSS_SERVER_PATH); - sosGet.setSosServerPath(SOS_SERVER_PATH); - sosGet.setProjectPath(DS_VSS_PROJECT_PATH); - sosGet.setLabel(SRC_LABEL); - sosGet.setUsername(SOS_USERNAME); - sosGet.setSosHome(SOS_HOME); - sosGet.setNoCache(true); - sosGet.setNoCompress(false); - sosGet.setVerbose(false); - sosGet.setRecursive(true); - - commandline = sosGet.buildCmdLine(); - - checkCommandLines(sTestCmdLine, commandline.getCommandline()); - } - - /** Tests SOSGet required attributes. */ - @Test - public void testGetExceptions() { - buildRule.configureProject("src/etc/testcases/taskdefs/optional/sos/sos.xml"); - expectSpecificBuildException("sosget.1", "some cause", "sosserverpath attribute must be set!"); - expectSpecificBuildException("sosget.2", "some cause", "username attribute must be set!"); - expectSpecificBuildException("sosget.3", "some cause", "vssserverpath attribute must be set!"); - expectSpecificBuildException("sosget.4", "some cause", "projectpath attribute must be set!"); - } - - /** Test CheckInFile option flags */ - @Test - public void testCheckinFileFlags() { - String[] sTestCmdLine = {"soscmd", "-command", "CheckInFile", "-file", - SRC_FILE, "-server", SOS_SERVER_PATH, "-name", SOS_USERNAME, - "-password", SOS_PASSWORD, "-database", VSS_SERVER_PATH, "-project", - DS_VSS_PROJECT_PATH, "-verbose", "-nocompress", "-nocache", - "-workdir", project.getBaseDir().getAbsolutePath() + File.separator - + LOCAL_PATH, "-log", SRC_COMMENT}; - - // Set up a SOSCheckin task - SOSCheckin sosCheckin = new SOSCheckin(); - sosCheckin.setProject(project); - sosCheckin.setVssServerPath(VSS_SERVER_PATH); - sosCheckin.setSosServerPath(SOS_SERVER_PATH); - sosCheckin.setProjectPath(VSS_PROJECT_PATH); - sosCheckin.setFile(SRC_FILE); - sosCheckin.setComment(SRC_COMMENT); - sosCheckin.setUsername(SOS_USERNAME); - sosCheckin.setPassword(SOS_PASSWORD); - sosCheckin.setLocalPath(new Path(project, LOCAL_PATH)); - sosCheckin.setNoCache(true); - sosCheckin.setNoCompress(true); - sosCheckin.setVerbose(true); - sosCheckin.setRecursive(true); - - commandline = sosCheckin.buildCmdLine(); - - checkCommandLines(sTestCmdLine, commandline.getCommandline()); - } - - /** Test CheckInProject option flags */ - @Test - public void testCheckinProjectFlags() { - String[] sTestCmdLine = {"soscmd", "-command", "CheckInProject", - "-recursive", "-server", SOS_SERVER_PATH, "-name", SOS_USERNAME, - "-password", "", "-database", VSS_SERVER_PATH, "-project", - DS_VSS_PROJECT_PATH, "", "", "-soshome", SOS_HOME, "-workdir", - project.getBaseDir().getAbsolutePath(), "-log", SRC_COMMENT,}; - - // Set up a SOSCheckin task - SOSCheckin sosCheckin = new SOSCheckin(); - sosCheckin.setProject(project); - sosCheckin.setVssServerPath(VSS_SERVER_PATH); - sosCheckin.setSosServerPath(SOS_SERVER_PATH); - sosCheckin.setProjectPath(DS_VSS_PROJECT_PATH); - sosCheckin.setComment(SRC_COMMENT); - sosCheckin.setUsername(SOS_USERNAME); - sosCheckin.setSosHome(SOS_HOME); - sosCheckin.setNoCache(true); - sosCheckin.setNoCompress(false); - sosCheckin.setVerbose(false); - sosCheckin.setRecursive(true); - - commandline = sosCheckin.buildCmdLine(); - - checkCommandLines(sTestCmdLine, commandline.getCommandline()); - } - - /** Test SOSCheckIn required attributes. */ - @Test - public void testCheckinExceptions() { - buildRule.configureProject("src/etc/testcases/taskdefs/optional/sos/sos.xml"); - expectSpecificBuildException("soscheckin.1", "some cause", "sosserverpath attribute must be set!"); - expectSpecificBuildException("soscheckin.2", "some cause", "username attribute must be set!"); - expectSpecificBuildException("soscheckin.3", "some cause", "vssserverpath attribute must be set!"); - expectSpecificBuildException("soscheckin.4", "some cause", "projectpath attribute must be set!"); - } - - /** Test CheckOutFile option flags */ - @Test - public void testCheckoutFileFlags() { - String[] sTestCmdLine = {"soscmd", "-command", "CheckOutFile", "-file", - SRC_FILE, "-server", SOS_SERVER_PATH, "-name", SOS_USERNAME, - "-password", SOS_PASSWORD, "-database", VSS_SERVER_PATH, "-project", - DS_VSS_PROJECT_PATH, "-verbose", "-nocompress", "-nocache", - "-workdir", project.getBaseDir().getAbsolutePath() - + File.separator + LOCAL_PATH}; - - // Set up a SOSCheckout task - SOSCheckout sosCheckout = new SOSCheckout(); - sosCheckout.setProject(project); - sosCheckout.setVssServerPath(VSS_SERVER_PATH); - sosCheckout.setSosServerPath(SOS_SERVER_PATH); - sosCheckout.setProjectPath(DS_VSS_PROJECT_PATH); - sosCheckout.setFile(SRC_FILE); - sosCheckout.setUsername(SOS_USERNAME); - sosCheckout.setPassword(SOS_PASSWORD); - sosCheckout.setLocalPath(new Path(project, LOCAL_PATH)); - sosCheckout.setNoCache(true); - sosCheckout.setNoCompress(true); - sosCheckout.setVerbose(true); - sosCheckout.setRecursive(true); - - commandline = sosCheckout.buildCmdLine(); - - checkCommandLines(sTestCmdLine, commandline.getCommandline()); - } - - /** Test CheckOutProject option flags */ - @Test - public void testCheckoutProjectFlags() { - String[] sTestCmdLine = {"soscmd", "-command", "CheckOutProject", - "-recursive", "-server", SOS_SERVER_PATH, "-name", SOS_USERNAME, - "-password", "", "-database", VSS_SERVER_PATH, "-project", - DS_VSS_PROJECT_PATH, "", "", "-soshome", SOS_HOME, "-workdir", - project.getBaseDir().getAbsolutePath()}; - - // Set up a sosCheckout task - SOSCheckout sosCheckout = new SOSCheckout(); - sosCheckout.setProject(project); - sosCheckout.setVssServerPath(VSS_SERVER_PATH); - sosCheckout.setSosServerPath(SOS_SERVER_PATH); - sosCheckout.setProjectPath(VSS_PROJECT_PATH); - sosCheckout.setUsername(SOS_USERNAME); - sosCheckout.setSosHome(SOS_HOME); - sosCheckout.setNoCache(true); - sosCheckout.setNoCompress(false); - sosCheckout.setVerbose(false); - sosCheckout.setRecursive(true); - - commandline = sosCheckout.buildCmdLine(); - - checkCommandLines(sTestCmdLine, commandline.getCommandline()); - } - - /** Test SOSCheckout required attributes. */ - @Test - public void testCheckoutExceptions() { - buildRule.configureProject("src/etc/testcases/taskdefs/optional/sos/sos.xml"); - expectSpecificBuildException("soscheckout.1", "some cause", "sosserverpath attribute must be set!"); - expectSpecificBuildException("soscheckout.2", "some cause", "username attribute must be set!"); - expectSpecificBuildException("soscheckout.3", "some cause", "vssserverpath attribute must be set!"); - expectSpecificBuildException("soscheckout.4", "some cause", "projectpath attribute must be set!"); - } - - /** Test Label option flags */ - @Test - public void testLabelFlags() { - String[] sTestCmdLine = {"soscmd", "-command", "AddLabel", "-server", - SOS_SERVER_PATH, "-name", SOS_USERNAME, "-password", "", "-database", - VSS_SERVER_PATH, "-project", DS_VSS_PROJECT_PATH, "-label", - SRC_LABEL, "-verbose", "-log", SRC_COMMENT}; - - // Set up a sosCheckout task - SOSLabel sosLabel = new SOSLabel(); - sosLabel.setVssServerPath(VSS_SERVER_PATH); - sosLabel.setSosServerPath(SOS_SERVER_PATH); - sosLabel.setProjectPath(DS_VSS_PROJECT_PATH); - sosLabel.setUsername(SOS_USERNAME); - sosLabel.setSosHome(SOS_HOME); - sosLabel.setComment(SRC_COMMENT); - sosLabel.setLabel(SRC_LABEL); - sosLabel.setNoCache(true); - sosLabel.setNoCompress(false); - sosLabel.setVerbose(true); - - commandline = sosLabel.buildCmdLine(); - - checkCommandLines(sTestCmdLine, commandline.getCommandline()); - } - - /** Test SOSLabel required attributes. */ - @Test - public void testLabelExceptions() { - buildRule.configureProject("src/etc/testcases/taskdefs/optional/sos/sos.xml"); - expectSpecificBuildException("soslabel.1", "some cause", "sosserverpath attribute must be set!"); - expectSpecificBuildException("soslabel.2", "some cause", "username attribute must be set!"); - expectSpecificBuildException("soslabel.3", "some cause", "vssserverpath attribute must be set!"); - expectSpecificBuildException("soslabel.4", "some cause", "projectpath attribute must be set!"); - expectSpecificBuildException("soslabel.5", "some cause", "label attribute must be set!"); - } - - private void expectSpecificBuildException(String target, String errorMessage, - String exceptionMessage) { - try { - buildRule.executeTarget(target); - fail(errorMessage); - } catch(BuildException ex) { - assertEquals(exceptionMessage, ex.getMessage()); - } - } - - /** - * Iterate through the generated command line comparing it to reference - * one. - * - * @param sTestCmdLine The reference command line; - * @param sGeneratedCmdLine The generated command line; - */ - private void checkCommandLines(String[] sTestCmdLine, String[] sGeneratedCmdLine) { - int length = sTestCmdLine.length; - for (int i = 0; i < length; i++) { - try { - assertEquals("arg # " + String.valueOf(i), - sTestCmdLine[i], - sGeneratedCmdLine[i]); - } catch (ArrayIndexOutOfBoundsException aioob) { - fail("missing arg " + sTestCmdLine[i]); - } - } - if (sGeneratedCmdLine.length > sTestCmdLine.length) { - // We have extra elements - fail("extra args"); - } - } -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/splash/SplashScreenTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/splash/SplashScreenTest.java deleted file mode 100644 index fb0b3eaf..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/splash/SplashScreenTest.java +++ /dev/null @@ -1,50 +0,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. - * - */ - -package org.apache.tools.ant.taskdefs.optional.splash; - -import org.apache.tools.ant.Project; - -/** - * This is an "interactive" test, it passes if the splash screen - * disappears after the "finished" but before the "exiting" message. - * - * This even isn't a JUnit test case. - * - * @since Ant 1.5.2 - */ -public class SplashScreenTest { - - public static void main(String[] args) throws InterruptedException { - Project p = new Project(); - SplashTask t = new SplashTask(); - t.setProject(p); - t.execute(); - - // give it some time to display - Thread.sleep(2000); - - p.fireBuildFinished(null); - System.err.println("finished"); - - Thread.sleep(2000); - System.err.println("exiting"); - System.exit(0); - } -} - diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/ssh/ScpTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/ssh/ScpTest.java deleted file mode 100644 index dff5b25a..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/ssh/ScpTest.java +++ /dev/null @@ -1,206 +0,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. - * - */ - -package org.apache.tools.ant.taskdefs.optional.ssh; - -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.Project; -import org.apache.tools.ant.taskdefs.condition.FilesMatch; -import org.apache.tools.ant.types.FileSet; -import org.apache.tools.ant.types.selectors.FilenameSelector; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -/** - * This is a unit test for the Scp task in Ant. It must be - * configured with command line options in order for it to work. - * Here are the options: - * - * scp.tmp This is a local path to a temporary - * directory for this task to use. - * scp.host This is the remote location of the form: - * "user:password@host:/path/to/directory" - * scp.port The port of the listening SSH service. - * Defaults to 22. (optional) - * scp.known.hosts The file containing the public keys of known - * hosts. Must be a SSH2 version file, but - * supports RSA and DSA keys. If it is not present - * this task setTrust() to true. (optional) - */ -public class ScpTest { - - private File tempDir; - private String sshHostUri = System.getProperty("scp.host"); - private int port = Integer.parseInt( System.getProperty( "scp.port", "22" ) ); - private String knownHosts = System.getProperty("scp.known.hosts"); - - private List cleanUpList = new ArrayList(); - - public ScpTest() { - if (System.getProperty("scp.tmp") != null) { - tempDir = new File(System.getProperty("scp.tmp")); - } - } - - @Before - public void setUp() { - cleanUpList.clear(); - } - - @After - public void tearDown() { - for( Iterator i = cleanUpList.iterator(); i.hasNext(); ) { - File file = (File) i.next(); - file.delete(); - } - } - - @Test - public void testSingleFileUploadAndDownload() throws IOException { - assertNotNull("system property scp.tmp must be set", tempDir); - File uploadFile = createTemporaryFile(); - - // upload - Scp scpTask = createTask(); - scpTask.setFile( uploadFile.getPath() ); - scpTask.setTodir( sshHostUri ); - scpTask.execute(); - - File testFile = new File( tempDir.getPath() + File.separator + - "download-testSingleFileUploadAndDownload.test" ); - addCleanup(testFile ); - assertFalse("Assert that the testFile does not exist.", testFile.exists()); - - // download - scpTask = createTask(); - scpTask.setFile( sshHostUri + "/" + uploadFile.getName() ); - scpTask.setTodir( testFile.getPath() ); - scpTask.execute(); - - assertTrue( "Assert that the testFile exists.", testFile.exists() ); - compareFiles( uploadFile, testFile ); - } - - @Test - public void testMultiUploadAndDownload() throws IOException { - assertNotNull("system property scp.tmp must be set", tempDir); - List uploadList = new ArrayList(); - for( int i = 0; i < 5; i++ ) { - uploadList.add( createTemporaryFile() ); - } - - Scp scp = createTask(); - FilenameSelector selector = new FilenameSelector(); - selector.setName( "scp*" ); - FileSet fileset = new FileSet(); - fileset.setDir( tempDir ); - fileset.addFilename( selector ); - scp.addFileset( fileset ); - scp.setTodir( sshHostUri ); - scp.execute(); - - File multi = new File( tempDir, "multi" ); - multi.mkdir(); - addCleanup( multi ); - - Scp scp2 = createTask(); - scp2.setFile( sshHostUri + "/scp*" ); - scp2.setTodir( multi.getPath() ); - scp2.execute(); - - FilesMatch match = new FilesMatch(); - for( Iterator i = uploadList.iterator(); i.hasNext(); ) { - File f = (File)i.next(); - match.setFile1( f ); - File f2 = new File( multi, f.getName() ); - match.setFile2( f2 ); - assertTrue("Assert file '" + f.getPath() + "' and file '" + - f2.getPath() + "'", match.eval() ); - } - } - - @Test - public void testRemoteToDir() throws IOException { - Scp scpTask = createTask(); - - // first try an invalid URI - try { - scpTask.setRemoteTodir( "host:/a/path/without/an/at" ); - fail("Expected a BuildException to be thrown due to invalid" - + " remoteToDir"); - } - catch (BuildException e) - { - // expected - //TODO we should be asserting a value in here - } - - // And this one should work - scpTask.setRemoteTodir( "user:password@host:/a/path/with/an/at" ); - // no exception - } - - public void addCleanup( File file ) { - cleanUpList.add( file ); - } - - private void compareFiles(File src, File dest) { - FilesMatch match = new FilesMatch(); - match.setFile1( src ); - match.setFile2( dest ); - - assertTrue( "Assert files are equal.", match.eval() ); - } - - private File createTemporaryFile() throws IOException { - File uploadFile; - uploadFile = File.createTempFile( "scp", "test", tempDir ); - FileWriter writer = new FileWriter( uploadFile ); - writer.write("Can you hear me now?\n"); - writer.close(); - addCleanup( uploadFile ); - return uploadFile; - } - - private Scp createTask() { - Scp scp = new Scp(); - Project p = new Project(); - p.init(); - scp.setProject( p ); - if( knownHosts != null ) { - scp.setKnownhosts( knownHosts ); - } else { - scp.setTrust( true ); - } - scp.setPort( port ); - return scp; - } -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/unix/SymlinkTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/unix/SymlinkTest.java deleted file mode 100644 index e36d6838..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/unix/SymlinkTest.java +++ /dev/null @@ -1,297 +0,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. - * - */ - -/* - * Since the initial version of this file was deveolped on the clock on - * an NSF grant I should say the following boilerplate: - * - * This material is based upon work supported by the National Science - * Foundaton under Grant No. EIA-0196404. Any opinions, findings, and - * conclusions or recommendations expressed in this material are those - * of the author and do not necessarily reflect the views of the - * National Science Foundation. - */ - -package org.apache.tools.ant.taskdefs.optional.unix; - -import org.apache.tools.ant.BuildFileRule; -import org.apache.tools.ant.taskdefs.condition.Os; - -import org.apache.tools.ant.Project; -import org.apache.tools.ant.util.SymbolicLinkUtils; -import org.junit.After; -import org.junit.Assume; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import java.io.File; - -/** - * Test cases for the Symlink task. Link creation, link deletion, recording - * of links in multiple directories, and restoration of links recorded are - * all tested. A separate test for the utility method Symlink.deleteSymlink - * is not included because action="delete" only prints a message and calls - * Symlink.deleteSymlink, making a separate test redundant. - * - */ - -public class SymlinkTest { - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - - private boolean supportsSymlinks = Os.isFamily("unix"); - - @Before - public void setUp() { - Assume.assumeTrue("Symlinks not supported on current operating system", supportsSymlinks); - buildRule.configureProject("src/etc/testcases/taskdefs/optional/unix/symlink.xml"); - buildRule.executeTarget("setUp"); - } - - @Test - public void testSingle() { - buildRule.executeTarget("test-single"); - Project p = buildRule.getProject(); - assertNotNull("Failed to create file", - p.getProperty("test.single.file.created")); - assertNotNull("Failed to create link", - p.getProperty("test.single.link.created")); - } - - @Test - public void testDelete() { - buildRule.executeTarget("test-delete"); - Project p = buildRule.getProject(); - String linkDeleted = p.getProperty("test.delete.link.still.there"); - assertNotNull("Actual file deleted by symlink", - p.getProperty("test.delete.file.still.there")); - if (linkDeleted != null) { - fail(linkDeleted); - } - } - - @Test - public void testRecord() { - buildRule.executeTarget("test-record"); - Project p = buildRule.getProject(); - - assertNotNull("Failed to create dir1", - p.getProperty("test.record.dir1.created")); - - assertNotNull("Failed to create dir2", - p.getProperty("test.record.dir2.created")); - - assertNotNull("Failed to create file1", - p.getProperty("test.record.file1.created")); - - assertNotNull("Failed to create file2", - p.getProperty("test.record.file2.created")); - - assertNotNull("Failed to create fileA", - p.getProperty("test.record.fileA.created")); - - assertNotNull("Failed to create fileB", - p.getProperty("test.record.fileB.created")); - - assertNotNull("Failed to create fileC", - p.getProperty("test.record.fileC.created")); - - assertNotNull("Failed to create link1", - p.getProperty("test.record.link1.created")); - - assertNotNull("Failed to create link2", - p.getProperty("test.record.link2.created")); - - assertNotNull("Failed to create link3", - p.getProperty("test.record.link3.created")); - - assertNotNull("Failed to create dirlink", - p.getProperty("test.record.dirlink.created")); - - assertNotNull("Failed to create dirlink2", - p.getProperty("test.record.dirlink2.created")); - - assertNotNull("Couldn't record links in dir1", - p.getProperty("test.record.dir1.recorded")); - - assertNotNull("Couldn't record links in dir2", - p.getProperty("test.record.dir2.recorded")); - - String dir3rec = p.getProperty("test.record.dir3.recorded"); - - if (dir3rec != null) { - fail(dir3rec); - } - - } - - @Test - public void testRecreate() { - buildRule.executeTarget("test-recreate"); - Project p = buildRule.getProject(); - String link1Rem = p.getProperty("test.recreate.link1.not.removed"); - String link2Rem = p.getProperty("test.recreate.link2.not.removed"); - String link3Rem = p.getProperty("test.recreate.link3.not.removed"); - String dirlinkRem = p.getProperty("test.recreate.dirlink.not.removed"); - if (link1Rem != null) { - fail(link1Rem); - } - if (link2Rem != null) { - fail(link2Rem); - } - if (link3Rem != null) { - fail(link3Rem); - } - if (dirlinkRem != null) { - fail(dirlinkRem); - } - assertNotNull("Failed to recreate link1", - p.getProperty("test.recreate.link1.recreated")); - assertNotNull("Failed to recreate link2", - p.getProperty("test.recreate.link2.recreated")); - assertNotNull("Failed to recreate link3", - p.getProperty("test.recreate.link3.recreated")); - assertNotNull("Failed to recreate dirlink", - p.getProperty("test.recreate.dirlink.recreated")); - - String doubleRecreate = p.getProperty("test.recreate.dirlink2.recreated.twice"); - - if (doubleRecreate != null) { - fail(doubleRecreate); - } - - assertNotNull("Failed to alter dirlink3", - p.getProperty("test.recreate.dirlink3.was.altered")); - } - - @Test - public void testSymbolicLinkUtilsMethods() throws Exception { - - buildRule.executeTarget("test-fileutils"); - SymbolicLinkUtils su = SymbolicLinkUtils.getSymbolicLinkUtils(); - - java.io.File f = new File(buildRule.getOutputDir(), "file1"); - assertTrue(f.exists()); - assertFalse(f.isDirectory()); - assertTrue(f.isFile()); - assertFalse(su.isSymbolicLink(f.getAbsolutePath())); - assertFalse(su.isSymbolicLink(f.getParentFile(), - f.getName())); - assertFalse(su.isDanglingSymbolicLink(f.getAbsolutePath())); - assertFalse(su.isDanglingSymbolicLink(f.getParentFile(), - f.getName())); - - f = new File(buildRule.getOutputDir(), "dir1"); - assertTrue(f.exists()); - assertTrue(f.isDirectory()); - assertFalse(f.isFile()); - assertFalse(su.isSymbolicLink(f.getAbsolutePath())); - assertFalse(su.isSymbolicLink(f.getParentFile(), - f.getName())); - assertFalse(su.isDanglingSymbolicLink(f.getAbsolutePath())); - assertFalse(su.isDanglingSymbolicLink(f.getParentFile(), - f.getName())); - - f = new File(buildRule.getOutputDir(), "file2"); - assertFalse(f.exists()); - assertFalse(f.isDirectory()); - assertFalse(f.isFile()); - assertFalse(su.isSymbolicLink(f.getAbsolutePath())); - assertFalse(su.isSymbolicLink(f.getParentFile(), - f.getName())); - assertFalse(su.isDanglingSymbolicLink(f.getAbsolutePath())); - assertFalse(su.isDanglingSymbolicLink(f.getParentFile(), - f.getName())); - - f = new File(buildRule.getOutputDir(), "dir2"); - assertFalse(f.exists()); - assertFalse(f.isDirectory()); - assertFalse(f.isFile()); - assertFalse(su.isSymbolicLink(f.getAbsolutePath())); - assertFalse(su.isSymbolicLink(f.getParentFile(), - f.getName())); - assertFalse(su.isDanglingSymbolicLink(f.getAbsolutePath())); - assertFalse(su.isDanglingSymbolicLink(f.getParentFile(), - f.getName())); - - - f = new File(buildRule.getOutputDir(), "file.there"); - assertTrue(f.exists()); - assertFalse(f.isDirectory()); - assertTrue(f.isFile()); - assertTrue(su.isSymbolicLink(f.getAbsolutePath())); - assertTrue(su.isSymbolicLink(f.getParentFile(), - f.getName())); - assertFalse(su.isDanglingSymbolicLink(f.getAbsolutePath())); - assertFalse(su.isDanglingSymbolicLink(f.getParentFile(), - f.getName())); - - f = new File(buildRule.getOutputDir(), "dir.there"); - assertTrue(f.exists()); - assertTrue(f.isDirectory()); - assertFalse(f.isFile()); - assertTrue(su.isSymbolicLink(f.getAbsolutePath())); - assertTrue(su.isSymbolicLink(f.getParentFile(), - f.getName())); - assertFalse(su.isDanglingSymbolicLink(f.getAbsolutePath())); - assertFalse(su.isDanglingSymbolicLink(f.getParentFile(), - f.getName())); - - // it is not possible to find out that symbolic links pointing - // to inexistent files or directories are symbolic links - // it used to be possible to detect this on Mac - // this is not true under Snow Leopard and JDK 1.5 - // Removing special handling of MacOS until someone shouts - // Antoine - f = new File(buildRule.getOutputDir(), "file.notthere"); - assertFalse(f.exists()); - assertFalse(f.isDirectory()); - assertFalse(f.isFile()); - assertTrue(su.isSymbolicLink(f.getAbsolutePath()) == false); - assertTrue(su.isSymbolicLink(f.getParentFile(), f.getName()) == false); - assertTrue(su.isDanglingSymbolicLink(f.getAbsolutePath())); - assertTrue(su.isDanglingSymbolicLink(f.getParentFile(), - f.getName())); - - f = new File(buildRule.getOutputDir(), "dir.notthere"); - assertFalse(f.exists()); - assertFalse(f.isDirectory()); - assertFalse(f.isFile()); - assertTrue(su.isSymbolicLink(f.getAbsolutePath()) == false); - assertTrue(su.isSymbolicLink(f.getParentFile(), f.getName()) == false); - assertTrue(su.isDanglingSymbolicLink(f.getAbsolutePath())); - assertTrue(su.isDanglingSymbolicLink(f.getParentFile(), - f.getName())); - - } - - @After - public void tearDown() { - if (buildRule.getProject() != null) { - buildRule.executeTarget("tearDown"); - } - } - -} diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/vss/MSVSSTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/vss/MSVSSTest.java deleted file mode 100644 index aa96d8d5..00000000 --- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/optional/vss/MSVSSTest.java +++ /dev/null @@ -1,475 +0,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. - * - */ -package org.apache.tools.ant.taskdefs.optional.vss; - -import java.io.File; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; -import java.util.TimeZone; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.BuildFileRule; -import org.apache.tools.ant.Location; -import org.apache.tools.ant.Project; -import org.apache.tools.ant.taskdefs.Tstamp; -import org.apache.tools.ant.types.Commandline; -import org.apache.tools.ant.types.Path; -import org.junit.After; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; - -/** - * Testcase to ensure that command line generation and required attributes are correct. - * - */ -public class MSVSSTest implements MSVSSConstants { - - private Commandline commandline; - - private static final String VSS_PROJECT_PATH = "/SourceRoot/Project"; - private static final String DS_VSS_PROJECT_PATH = "$/SourceRoot/Project"; - private static final String VSS_USERNAME = "ant"; - private static final String VSS_PASSWORD = "rocks"; - private static final String LOCAL_PATH = "testdir"; - private static final String SRC_LABEL = "label1"; - private static final String LONG_LABEL = "123456789012345678901234567890"; - private static final String SRC_COMMENT = "I fixed a bug"; - private static final String VERSION = "007"; - private static final String DATE = "00-00-00"; - private static final String DATE2 = "01-01-01"; - private static final String OUTPUT = "output.log"; - private static final String SS_DIR = "c:/winnt".replace('/', File.separatorChar); - - @Rule - public BuildFileRule buildRule = new BuildFileRule(); - private Project project; - - @Before - public void setUp(){ - project = new Project(); - project.setBasedir("."); - project.init(); - } - - @After - public void tearDown() { - File file = new File(project.getBaseDir(), LOCAL_PATH); - if (file.exists()) { - file.delete(); - } - } - - @Test - public void testGetCommandLine() { - String[] sTestCmdLine = {MSVSS.SS_EXE, MSVSS.COMMAND_GET, DS_VSS_PROJECT_PATH, - MSVSS.FLAG_OVERRIDE_WORKING_DIR + project.getBaseDir() - .getAbsolutePath() - + File.separator + LOCAL_PATH, MSVSS.FLAG_AUTORESPONSE_DEF, - MSVSS.FLAG_RECURSION, MSVSS.FLAG_VERSION + VERSION, MSVSS.FLAG_LOGIN - + VSS_USERNAME + "," + VSS_PASSWORD, FLAG_FILETIME_UPDATED, FLAG_SKIP_WRITABLE}; - - // Set up a VSSGet task - MSVSSGET vssGet = new MSVSSGET(); - vssGet.setProject(project); - vssGet.setRecursive(true); - vssGet.setLocalpath(new Path(project, LOCAL_PATH)); - vssGet.setLogin(VSS_USERNAME + "," + VSS_PASSWORD); - vssGet.setVersion(VERSION); - vssGet.setQuiet(false); - vssGet.setDate(DATE); - vssGet.setLabel(SRC_LABEL); - vssGet.setVsspath(VSS_PROJECT_PATH); - MSVSS.CurrentModUpdated cmu = new MSVSS.CurrentModUpdated(); - cmu.setValue(TIME_UPDATED); - vssGet.setFileTimeStamp(cmu); - MSVSS.WritableFiles wf = new MSVSS.WritableFiles(); - wf.setValue(WRITABLE_SKIP); - vssGet.setWritableFiles(wf); - - commandline = vssGet.buildCmdLine(); - - checkCommandLines(sTestCmdLine, commandline.getCommandline()); - } - - /** Tests VSSGet required attributes. */ - @Test - public void testGetExceptions() { - buildRule.configureProject("src/etc/testcases/taskdefs/optional/vss/vss.xml"); - expectSpecificBuildException("vssget.1", "some cause", "vsspath attribute must be set!"); - } - - /** Tests Label commandline generation. */ - @Test - public void testLabelCommandLine1() { - String[] sTestCmdLine = {MSVSS.SS_EXE, MSVSS.COMMAND_LABEL, DS_VSS_PROJECT_PATH, - MSVSS.FLAG_COMMENT + SRC_COMMENT, MSVSS.FLAG_AUTORESPONSE_YES, - MSVSS.FLAG_LABEL + SRC_LABEL, MSVSS.FLAG_VERSION + VERSION, MSVSS.FLAG_LOGIN - + VSS_USERNAME + "," + VSS_PASSWORD}; - - // Set up a VSSLabel task - MSVSSLABEL vssLabel = new MSVSSLABEL(); - vssLabel.setProject(project); - vssLabel.setComment(SRC_COMMENT); - vssLabel.setLogin(VSS_USERNAME + "," + VSS_PASSWORD); - vssLabel.setVersion(VERSION); - vssLabel.setAutoresponse("Y"); - vssLabel.setLabel(SRC_LABEL); - vssLabel.setVsspath(VSS_PROJECT_PATH); - - commandline = vssLabel.buildCmdLine(); - - checkCommandLines(sTestCmdLine, commandline.getCommandline()); - } - - /** Tests Label commandline generation with a label of more than 31 chars. */ - @Test - public void testLabelCommandLine2() { - String[] sTestCmdLine = {MSVSS.SS_EXE, MSVSS.COMMAND_LABEL, DS_VSS_PROJECT_PATH, - MSVSS.FLAG_COMMENT + SRC_COMMENT, MSVSS.FLAG_AUTORESPONSE_DEF, - MSVSS.FLAG_LABEL + LONG_LABEL, - MSVSS.FLAG_LOGIN + VSS_USERNAME + "," + VSS_PASSWORD}; - - // Set up a VSSLabel task - MSVSSLABEL vssLabel = new MSVSSLABEL(); - vssLabel.setProject(project); - vssLabel.setComment(SRC_COMMENT); - vssLabel.setLogin(VSS_USERNAME + "," + VSS_PASSWORD); - vssLabel.setLabel(LONG_LABEL + "blahblah"); - vssLabel.setVsspath(VSS_PROJECT_PATH); - - commandline = vssLabel.buildCmdLine(); - - checkCommandLines(sTestCmdLine, commandline.getCommandline()); - } - - /** - * Test VSSLabel required attributes. - */ - @Test - public void testLabelExceptions() { - buildRule.configureProject("src/etc/testcases/taskdefs/optional/vss/vss.xml"); - expectSpecificBuildException("vsslabel.1", "some cause", "vsspath attribute must be set!"); - expectSpecificBuildException("vsslabel.2", "some cause", "label attribute must be set!"); - } - - /** Tests VSSHistory commandline generation with from label. */ - @Test - public void testHistoryCommandLine1() { - String[] sTestCmdLine = {MSVSS.SS_EXE, MSVSS.COMMAND_HISTORY, DS_VSS_PROJECT_PATH, - MSVSS.FLAG_AUTORESPONSE_DEF, MSVSS.FLAG_VERSION_LABEL + LONG_LABEL - + MSVSS.VALUE_FROMLABEL + SRC_LABEL, MSVSS.FLAG_LOGIN + VSS_USERNAME - + "," + VSS_PASSWORD, MSVSS.FLAG_OUTPUT + project.getBaseDir() - .getAbsolutePath() - + File.separator + OUTPUT}; - - // Set up a VSSHistory task - MSVSSHISTORY vssHistory = new MSVSSHISTORY(); - vssHistory.setProject(project); - - vssHistory.setLogin(VSS_USERNAME + "," + VSS_PASSWORD); - - vssHistory.setFromLabel(SRC_LABEL); - vssHistory.setToLabel(LONG_LABEL + "blahblah"); - vssHistory.setVsspath(VSS_PROJECT_PATH); - vssHistory.setRecursive(false); - vssHistory.setOutput(new File(project.getBaseDir().getAbsolutePath(), OUTPUT)); - - commandline = vssHistory.buildCmdLine(); - - checkCommandLines(sTestCmdLine, commandline.getCommandline()); - } - - /** Tests VSSHistory commandline generation with from date. */ - @Test - public void testHistoryCommandLine2() { - String[] sTestCmdLine = {MSVSS.SS_EXE, MSVSS.COMMAND_HISTORY, DS_VSS_PROJECT_PATH, - MSVSS.FLAG_AUTORESPONSE_DEF, MSVSS.FLAG_VERSION_DATE + DATE + MSVSS.VALUE_FROMDATE - + DATE2, MSVSS.FLAG_RECURSION, MSVSS.FLAG_LOGIN + VSS_USERNAME + "," + VSS_PASSWORD}; - - // Set up a VSSHistory task - MSVSSHISTORY vssHistory = new MSVSSHISTORY(); - vssHistory.setProject(project); - vssHistory.setLogin(VSS_USERNAME + "," + VSS_PASSWORD); - vssHistory.setFromDate(DATE2); - vssHistory.setToDate(DATE); - vssHistory.setVsspath(VSS_PROJECT_PATH); - vssHistory.setRecursive(true); - - commandline = vssHistory.buildCmdLine(); - - checkCommandLines(sTestCmdLine, commandline.getCommandline()); - } - - /** Tests VSSHistory commandline generation with date calculation. */ - @Test - public void testHistoryCommandLine3() { - // Set up a Timestamp - Tstamp tstamp = new Tstamp(); - Location location = new Location("src/etc/testcases/taskdefs/optional/vss/vss.xml"); - tstamp.setLocation(location); - tstamp.setProject(project); - Tstamp.CustomFormat format = tstamp.createFormat(); - format.setProperty("today"); - format.setPattern("HH:mm:ss z"); - format.setTimezone("GMT"); - Date date = Calendar.getInstance().getTime(); - format.execute(project, date, location); - String today = project.getProperty("today"); - - // Get today's date - SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss z"); - sdf.setTimeZone( TimeZone.getTimeZone("GMT") ); - String expected = sdf.format(date); - - // Set up a VSSHistory task - MSVSSHISTORY vssHistory = new MSVSSHISTORY(); - vssHistory.setProject(project); - vssHistory.setLogin(VSS_USERNAME); - vssHistory.setToDate(today); - vssHistory.setVsspath(VSS_PROJECT_PATH); - - String[] sTestCmdLine = {MSVSS.SS_EXE, MSVSS.COMMAND_HISTORY, DS_VSS_PROJECT_PATH, - MSVSS.FLAG_AUTORESPONSE_DEF, MSVSS.FLAG_VERSION_DATE + expected, MSVSS.FLAG_LOGIN + VSS_USERNAME}; - - commandline = vssHistory.buildCmdLine(); - - checkCommandLines(sTestCmdLine, commandline.getCommandline()); - } - - /** - * Tests VSSHistory required attributes. - */ - @Test - public void testHistoryExceptions() { - buildRule.configureProject("src/etc/testcases/taskdefs/optional/vss/vss.xml"); - expectSpecificBuildException("vsshistory.1", "some cause", "vsspath attribute must be set!"); - } - - private void expectSpecificBuildException(String target, String failMessage, - String exceptionMessage) { - try { - buildRule.executeTarget(target); - fail(failMessage); - } catch(BuildException ex) { - assertEquals(exceptionMessage, ex.getMessage()); - } - } - - /** Tests CheckIn commandline generation. */ - @Test - public void testCheckinCommandLine() { - String[] sTestCmdLine = {MSVSS.SS_EXE, MSVSS.COMMAND_CHECKIN, DS_VSS_PROJECT_PATH, - MSVSS.FLAG_AUTORESPONSE_NO, MSVSS.FLAG_WRITABLE, MSVSS.FLAG_LOGIN + VSS_USERNAME, - MSVSS.FLAG_COMMENT + SRC_COMMENT}; - - // Set up a VSSCheckIn task - MSVSSCHECKIN vssCheckin = new MSVSSCHECKIN(); - vssCheckin.setProject(project); - vssCheckin.setComment(SRC_COMMENT); - vssCheckin.setLogin(VSS_USERNAME); - vssCheckin.setAutoresponse("N"); - vssCheckin.setVsspath(VSS_PROJECT_PATH); - vssCheckin.setWritable(true); - - commandline = vssCheckin.buildCmdLine(); - - checkCommandLines(sTestCmdLine, commandline.getCommandline()); - } - - /** - * Test VSSCheckIn required attributes. - */ - @Test - public void testCheckinExceptions() { - buildRule.configureProject("src/etc/testcases/taskdefs/optional/vss/vss.xml"); - expectSpecificBuildException("vsscheckin.1", "some cause", "vsspath attribute must be set!"); - } - - /** Tests CheckOut commandline generation. */ - @Test - public void testCheckoutCommandLine() { - String[] sTestCmdLine = {SS_DIR + File.separator + MSVSS.SS_EXE, MSVSS.COMMAND_CHECKOUT, - DS_VSS_PROJECT_PATH, MSVSS.FLAG_AUTORESPONSE_DEF, MSVSS.FLAG_RECURSION, - MSVSS.FLAG_VERSION_DATE + DATE, MSVSS.FLAG_LOGIN + VSS_USERNAME, - FLAG_FILETIME_MODIFIED, FLAG_NO_GET}; - - // Set up a VSSCheckOut task - MSVSSCHECKOUT vssCheckout = new MSVSSCHECKOUT(); - vssCheckout.setProject(project); - vssCheckout.setLogin(VSS_USERNAME); - vssCheckout.setVsspath(DS_VSS_PROJECT_PATH); - vssCheckout.setRecursive(true); - vssCheckout.setDate(DATE); - vssCheckout.setLabel(SRC_LABEL); - vssCheckout.setSsdir(SS_DIR); - MSVSS.CurrentModUpdated cmu = new MSVSS.CurrentModUpdated(); - cmu.setValue(TIME_MODIFIED); - vssCheckout.setFileTimeStamp(cmu); - vssCheckout.setGetLocalCopy(false); - - commandline = vssCheckout.buildCmdLine(); - - checkCommandLines(sTestCmdLine, commandline.getCommandline()); - } - - /** - * Test VSSCheckout required attributes. - */ - @Test - public void testCheckoutExceptions() { - buildRule.configureProject("src/etc/testcases/taskdefs/optional/vss/vss.xml"); - expectSpecificBuildException("vsscheckout.1", "some cause", "vsspath attribute must be set!"); - expectSpecificBuildException("vsscheckout.2", "some cause", "blah is not a legal value for this attribute"); - } - - /** Tests Add commandline generation. */ - @Test - public void testAddCommandLine() { - String[] sTestCmdLine = {SS_DIR + File.separator + MSVSS.SS_EXE, MSVSS.COMMAND_ADD, - project.getBaseDir().getAbsolutePath() + File.separator + LOCAL_PATH, - MSVSS.FLAG_AUTORESPONSE_DEF, MSVSS.FLAG_RECURSION, - MSVSS.FLAG_LOGIN + VSS_USERNAME + "," + VSS_PASSWORD, MSVSS.FLAG_COMMENT + "-"}; - - // Set up a VSSAdd task - MSVSSADD vssAdd = new MSVSSADD(); - vssAdd.setProject(project); - vssAdd.setLogin(VSS_USERNAME + "," + VSS_PASSWORD); - vssAdd.setVsspath(DS_VSS_PROJECT_PATH); - vssAdd.setRecursive(true); - vssAdd.setSsdir(SS_DIR); - vssAdd.setWritable(false); - vssAdd.setLocalpath(new Path(project, LOCAL_PATH)); - - commandline = vssAdd.buildCmdLine(); - - checkCommandLines(sTestCmdLine, commandline.getCommandline()); - } - - /** - * Test VSSAdd required attributes. - */ - @Test - public void testAddExceptions() { - buildRule.configureProject("src/etc/testcases/taskdefs/optional/vss/vss.xml"); - expectSpecificBuildException("vssadd.1", "some cause", "localPath attribute must be set!"); - } - - /** Tests CP commandline generation. */ - @Test - public void testCpCommandLine() { - String[] sTestCmdLine = {MSVSS.SS_EXE, MSVSS.COMMAND_CP, - DS_VSS_PROJECT_PATH, MSVSS.FLAG_AUTORESPONSE_DEF, MSVSS.FLAG_LOGIN + - VSS_USERNAME}; - - // Set up a VSSCp task - MSVSSCP vssCp = new MSVSSCP(); - vssCp.setProject(project); - vssCp.setLogin(VSS_USERNAME); - vssCp.setVsspath(DS_VSS_PROJECT_PATH); - - commandline = vssCp.buildCmdLine(); - - checkCommandLines(sTestCmdLine, commandline.getCommandline()); - } - - /** - * Test VSSCP required attributes. - */ - @Test - public void testCpExceptions() { - buildRule.configureProject("src/etc/testcases/taskdefs/optional/vss/vss.xml"); - expectSpecificBuildException("vsscp.1", "some cause", "vsspath attribute must be set!"); - } - - /** Tests Create commandline generation. */ - @Test - public void testCreateCommandLine() { - String[] sTestCmdLine = { MSVSS.SS_EXE, MSVSS.COMMAND_CREATE, - DS_VSS_PROJECT_PATH, MSVSS.FLAG_COMMENT + SRC_COMMENT, MSVSS.FLAG_AUTORESPONSE_NO, - MSVSS.FLAG_QUIET, MSVSS.FLAG_LOGIN + VSS_USERNAME}; - - // Set up a VSSCreate task - MSVSSCREATE vssCreate = new MSVSSCREATE(); - vssCreate.setProject(project); - vssCreate.setComment(SRC_COMMENT); - vssCreate.setLogin(VSS_USERNAME); - vssCreate.setVsspath(DS_VSS_PROJECT_PATH); - vssCreate.setFailOnError(true); - vssCreate.setAutoresponse("N"); - vssCreate.setQuiet(true); - - commandline = vssCreate.buildCmdLine(); - - checkCommandLines(sTestCmdLine, commandline.getCommandline()); - } - - /** - * Test VSSCreate required attributes. - */ - @Test - public void testCreateExceptions() { - buildRule.configureProject("src/etc/testcases/taskdefs/optional/vss/vss.xml"); - expectSpecificBuildException("vsscreate.1", "some cause", "vsspath attribute must be set!"); - } - - /** - * Iterate through the generated command line comparing it to reference one. - * @param sTestCmdLine The reference command line; - * @param sGeneratedCmdLine The generated command line; - */ - private void checkCommandLines(String[] sTestCmdLine, String[] sGeneratedCmdLine) { - int testLength = sTestCmdLine.length; - int genLength = sGeneratedCmdLine.length; - - int genIndex = 0; - int testIndex = 0; - - while (testIndex < testLength) { - try { - if (sGeneratedCmdLine[genIndex].equals("")) { - genIndex++; - continue; - } - assertEquals("arg # " + testIndex, - sTestCmdLine[testIndex], - sGeneratedCmdLine[genIndex]); - testIndex++; - genIndex++; - } catch (ArrayIndexOutOfBoundsException aioob) { - fail("missing arg " + sTestCmdLine[testIndex]); - } - } - - // Count the number of empty strings - int cnt = 0; - for (int i = 0; i < genLength; i++) { - if (sGeneratedCmdLine[i].equals("")) { - cnt++; - } - } - if (genLength - cnt > sTestCmdLine.length) { - // We have extra elements - fail("extra args"); - } - } -} |