aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/JavaTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/JavaTest.java')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/JavaTest.java475
1 files changed, 0 insertions, 475 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/JavaTest.java b/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/JavaTest.java
deleted file mode 100644
index d54b8f28..00000000
--- a/framework/src/ant/apache-ant-1.9.6/src/tests/junit/org/apache/tools/ant/taskdefs/JavaTest.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;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.PipedInputStream;
-import java.io.PipedOutputStream;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.BuildFileRule;
-import org.apache.tools.ant.input.DefaultInputHandler;
-import org.apache.tools.ant.util.FileUtils;
-import org.apache.tools.ant.util.TeeOutputStream;
-import org.junit.Assume;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.internal.AssumptionViolatedException;
-
-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;
-
-/**
- * stress out java task
- * */
-public class JavaTest {
-
- @Rule
- public BuildFileRule buildRule = new BuildFileRule();
-
- private static final int TIME_TO_WAIT = 1;
- // wait 1 second extra to allow for java to start ...
- // this time was OK on a Win NT machine and on nagoya
- private static final int SECURITY_MARGIN = 2000;
-
- /** Utilities used for file operations */
- private static final FileUtils FILE_UTILS = FileUtils.getFileUtils();
-
- private boolean runFatalTests=false;
-
-
- /**
- * configure the project.
- * if the property junit.run.fatal.tests is set we run
- * the fatal tests
- */
- @Before
- public void setUp() {
- buildRule.configureProject("src/etc/testcases/taskdefs/java.xml");
- buildRule.executeTarget("setUp");
-
- //final String propname="tests-classpath.value";
- //String testClasspath=System.getProperty(propname);
- //System.out.println("Test cp="+testClasspath);
- String runFatal=System.getProperty("junit.run.fatal.tests");
- if(runFatal!=null)
- runFatalTests=true;
- }
-
- @Test
- public void testNoJarNoClassname(){
- try {
- buildRule.executeTarget("testNoJarNoClassname");
- fail("Build exception should have been thrown - parameter validation");
- } catch (BuildException ex) {
- assertContains("Classname must not be null.", ex.getMessage());
- }
- }
-
- @Test
- public void testJarNoFork() {
- try {
- buildRule.executeTarget("testJarNoFork");
- fail("Build exception should have been thrown - parameter validation");
- } catch (BuildException ex) {
- assertContains("Cannot execute a jar in non-forked mode. Please set fork='true'. ", ex.getMessage());
- }
- }
-
- @Test
- public void testJarAndClassName() {
- try {
- buildRule.executeTarget("testJarAndClassName");
- fail("Build exception should have been thrown - both classname and JAR are not allowed");
- } catch (BuildException ex) {
- assertEquals("Cannot use 'jar' and 'classname' attributes in same command", ex.getMessage());
- }
- }
-
- @Test
- public void testClassnameAndJar() {
- try {
- buildRule.executeTarget("testClassnameAndJar");
- fail("Build exception should have been thrown - both classname and JAR are not allowed");
- } catch (BuildException ex) {
- assertEquals("Cannot use 'jar' and 'classname' attributes in same command.", ex.getMessage());
- }
- }
-
- @Test
- public void testRun() {
- buildRule.executeTarget("testRun");
- }
-
-
-
- /** this test fails but we ignore the return value;
- * we verify that failure only matters when failonerror is set
- */
- @Test
- public void testRunFail() {
- Assume.assumeTrue("Fatal tests have not been set to run", runFatalTests);
- buildRule.executeTarget("testRunFail");
- }
-
- @Test
- public void testRunFailFoe() {
- Assume.assumeTrue("Fatal tests have not been set to run", runFatalTests);
- try {
- buildRule.executeTarget("testRunFailFoe");
- fail("Build exception should have been thrown - " + "java failures being propagated");
- } catch (BuildException ex) {
- assertContains("Java returned:", ex.getMessage());
- }
- }
-
- @Test
- public void testRunFailFoeFork() {
- try {
- buildRule.executeTarget("testRunFailFoeFork");
- fail("Build exception should have been thrown - " + "java failures being propagated");
- } catch (BuildException ex) {
- assertContains("Java returned:", ex.getMessage());
- }
- }
-
- @Test
- public void testExcepting() {
- buildRule.executeTarget("testExcepting");
- assertContains("Exception raised inside called program", buildRule.getLog());
- }
-
- @Test
- public void testExceptingFork() {
- buildRule.executeTarget("testExceptingFork");
- assertContains("Java Result:", buildRule.getLog());
- }
-
- @Test
- public void testExceptingFoe() {
- try {
- buildRule.executeTarget("testExceptingFoe");
- fail("Build exception should have been thrown - " + "passes exception through");
- } catch (BuildException ex) {
- assertContains("Exception raised inside called program", ex.getMessage());
- }
- }
-
- @Test
- public void testExceptingFoeFork() {
- try {
- buildRule.executeTarget("testExceptingFoeFork");
- fail("Build exception should have been thrown - " + "exceptions turned into error codes");
- } catch (BuildException ex) {
- assertContains("Java returned:", ex.getMessage());
- }
- }
-
- @Test
- public void testResultPropertyZero() {
- buildRule.executeTarget("testResultPropertyZero");
- assertEquals("0", buildRule.getProject().getProperty("exitcode"));
- }
-
- @Test
- public void testResultPropertyNonZero() {
- buildRule.executeTarget("testResultPropertyNonZero");
- assertEquals("2", buildRule.getProject().getProperty("exitcode"));
- }
-
- @Test
- public void testResultPropertyZeroNoFork() {
- buildRule.executeTarget("testResultPropertyZeroNoFork");
- assertEquals("0", buildRule.getProject().getProperty("exitcode"));
- }
-
- @Test
- public void testResultPropertyNonZeroNoFork() {
- buildRule.executeTarget("testResultPropertyNonZeroNoFork");
- assertEquals("-1", buildRule.getProject().getProperty("exitcode"));
- }
-
- @Test
- public void testRunFailWithFailOnError() {
- try {
- buildRule.executeTarget("testRunFailWithFailOnError");
- fail("Build exception should have been thrown - " + "non zero return code");
- } catch (BuildException ex) {
- assertContains("Java returned:", ex.getMessage());
- }
- }
-
- @Test
- public void testRunSuccessWithFailOnError() {
- buildRule.executeTarget("testRunSuccessWithFailOnError");
- }
-
- @Test
- public void testSpawn() throws InterruptedException {
- File logFile = FILE_UTILS.createTempFile("spawn", "log",
- new File(buildRule.getProject().getProperty("output")), false, false);
- // this is guaranteed by FileUtils#createTempFile
- assertTrue("log file not existing", !logFile.exists());
- buildRule.getProject().setProperty("logFile", logFile.getAbsolutePath());
- buildRule.getProject().setProperty("timeToWait", Long.toString(TIME_TO_WAIT));
- buildRule.getProject().executeTarget("testSpawn");
-
- Thread.sleep(TIME_TO_WAIT * 1000 + SECURITY_MARGIN);
-
-
- // let's be nice with the next generation of developers
- if (!logFile.exists()) {
- System.out.println("suggestion: increase the constant"
- + " SECURITY_MARGIN to give more time for java to start.");
- }
- assertTrue("log file exists", logFile.exists());
- }
-
- @Test
- public void testRedirect1() {
- buildRule.executeTarget("redirect1");
- }
-
- @Test
- public void testRedirect2() {
- buildRule.executeTarget("redirect2");
- }
-
- @Test
- public void testRedirect3() {
- buildRule.executeTarget("redirect3");
- }
-
- @Test
- public void testRedirector1() {
- buildRule.executeTarget("redirector1");
- }
-
- @Test
- public void testRedirector2() {
- buildRule.executeTarget("redirector2");
- }
-
- @Test
- public void testReleasedInput() throws Exception {
- PipedOutputStream out = new PipedOutputStream();
- final PipedInputStream in = new PipedInputStream(out);
- buildRule.getProject().setInputHandler(new DefaultInputHandler() {
- protected InputStream getInputStream() {
- return in;
- }
- });
- buildRule.getProject().setDefaultInputStream(in);
-
- Java java = new Java();
- java.setProject(buildRule.getProject());
- java.setClassname("org.apache.tools.ant.Main");
- java.setArgs("-version");
- java.setFork(true);
- // note: due to the missing classpath it will fail, but the input stream
- // reader will be read
- java.execute();
-
- Thread inputThread = new Thread(new Runnable() {
- public void run() {
- Input input = new Input();
- input.setProject(buildRule.getProject());
- input.setAddproperty("input.value");
- input.execute();
- }
- });
- inputThread.start();
-
- // wait a little bit for the task to wait for input
- Thread.sleep(100);
-
- // write some stuff in the input stream to be catched by the input task
- out.write("foo\n".getBytes());
- out.flush();
- try {
- out.write("bar\n".getBytes());
- out.flush();
- } catch (IOException x) {
- // "Pipe closed" on XP; ignore?
- }
-
- inputThread.join(2000);
-
- assertEquals("foo", buildRule.getProject().getProperty("input.value"));
- }
-
- @Test
- public void testFlushedInput() throws Exception {
- final PipedOutputStream out = new PipedOutputStream();
- final PipedInputStream in = new PipedInputStream(out);
- buildRule.getProject().setInputHandler(new DefaultInputHandler() {
- protected InputStream getInputStream() {
- return in;
- }
- });
- buildRule.getProject().setDefaultInputStream(in);
-
- final boolean[] timeout = new boolean[1];
- timeout[0] = false;
-
- Thread writingThread = new Thread(new Runnable() {
- public void run() {
- try {
- // wait a little bit to have the target executed
- Thread.sleep(500);
- } catch (InterruptedException e) {
- throw new AssumptionViolatedException("Thread interrupted", e);
- }
- try {
- out.write("foo-FlushedInput\n".getBytes());
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
- });
- writingThread.setDaemon(true);
-
- writingThread.start();
- buildRule.executeTarget("flushedInput");
- }
-
- /**
- * entry point class with no dependencies other
- * than normal JRE runtime
- */
- public static class EntryPoint {
-
- /**
- * this entry point is used by the java.xml tests to
- * generate failure strings to handle
- * argv[0] = exit code (optional)
- * argv[1] = string to print to System.out (optional)
- * argv[1] = string to print to System.err (optional)
- */
- public static void main(String[] argv) {
- int exitCode=0;
- if(argv.length>0) {
- try {
- exitCode=Integer.parseInt(argv[0]);
- } catch(NumberFormatException nfe) {
- exitCode=-1;
- }
- }
- if(argv.length>1) {
- System.out.println(argv[1]);
- }
- if(argv.length>2) {
- System.err.println(argv[2]);
- }
- if(exitCode!=0) {
- System.exit(exitCode);
- }
- }
- }
-
- /**
- * entry point class with no dependencies other
- * than normal JRE runtime
- */
- public static class ExceptingEntryPoint {
-
- /**
- * throw a run time exception which does not need
- * to be in the signature of the entry point
- */
- public static void main(String[] argv) {
- throw new NullPointerException("Exception raised inside called program");
- }
- }
- /**
- * test class for spawn
- */
- public static class SpawnEntryPoint {
- public static void main(String [] argv) throws InterruptedException {
- int sleepTime = 10;
- String logFile = "spawn.log";
- if (argv.length >= 1) {
- sleepTime = Integer.parseInt(argv[0]);
- }
- if (argv.length >= 2)
- {
- logFile = argv[1];
- }
- OutputStreamWriter out = null;
- Thread.sleep(sleepTime * 1000);
-
- try {
- File dest = new File(logFile);
- FileOutputStream fos = new FileOutputStream(dest);
- out = new OutputStreamWriter(fos);
- out.write("bye bye\n");
- } catch (Exception ex) {}
- finally {
- try {out.close();} catch (IOException ioe) {}}
-
- }
- }
-
- /**
- * entry point class to pipe System.in to the specified stream:
- * "out", "err", or "both". If none specified, swallow the input.
- */
- public static class PipeEntryPoint {
-
- /**
- * pipe input to specified output
- */
- public static void main(String[] args) throws InterruptedException {
- OutputStream os = null;
- if (args.length > 0) {
- if ("out".equalsIgnoreCase(args[0])) {
- os = System.out;
- } else if ("err".equalsIgnoreCase(args[0])) {
- os = System.err;
- } else if ("both".equalsIgnoreCase(args[0])) {
- os = new TeeOutputStream(System.out, System.err);
- }
- }
- if (os != null) {
- Thread t = new Thread(new StreamPumper(System.in, os, true));
- t.setName("PipeEntryPoint " + args[0]);
- t.start();
- t.join();
- }
- }
- }
-
- public static class ReadPoint {
- public static void main(String[] args) throws IOException {
- String line = new BufferedReader(new InputStreamReader(System.in)).readLine();
- System.out.println(line);
- }
- }
-
-}