diff --git a/src/etc/testcases/taskdefs/exec/exec.xml b/src/etc/testcases/taskdefs/exec/exec.xml
index 4a6157ed6..6f2615902 100644
--- a/src/etc/testcases/taskdefs/exec/exec.xml
+++ b/src/etc/testcases/taskdefs/exec/exec.xml
@@ -32,26 +32,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -62,324 +42,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- x y z
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- x y z
-
-
-
-
-
-
-
-
-
-
-
- blah before blah
-
-
-
-
-
-
-
-
-
-
-
-
-
- blah before blah
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- blah before blah
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Files were not created.
-
-
-
-
-
-
-
-
-
-
-
-
- Files were created.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/src/tests/antunit/taskdefs/exec/exec-test.xml b/src/tests/antunit/taskdefs/exec/exec-test.xml
new file mode 100644
index 000000000..afa6adc11
--- /dev/null
+++ b/src/tests/antunit/taskdefs/exec/exec-test.xml
@@ -0,0 +1,639 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${ant.file} out${line.separator}${ant.file} err
+
+
+
+
+
+
+
+
+
+
+
+
+ ${ant.file} out
+
+
+
+
+
+ ${ant.file} err
+
+
+
+
+
+
+
+
+
+
+
+
+ ${ant.file} out
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${ant.file} out
+
+
+
+
+
+
+ ${ant.file} err
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ x y z
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${ant.file} out${line.separator}${ant.file} err
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${ant.file} out
+
+
+
+
+
+ ${ant.file} err
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${ant.file} out
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${ant.file} out
+
+
+
+
+
+
+ ${ant.file} err
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${ant.file} out
+
+
+
+
+
+
+ ${ant.file} err
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${ant.file} out
+
+
+
+
+
+
+ ${ant.file} ERROR!!!
+
+
+
+
+
+
+
+ x y z
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ blah before blah
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ blah before blah
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ blah before blah
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/etc/testcases/taskdefs/exec/expected/utf-8 b/src/tests/antunit/taskdefs/exec/expected/utf-8
similarity index 100%
rename from src/etc/testcases/taskdefs/exec/expected/utf-8
rename to src/tests/antunit/taskdefs/exec/expected/utf-8
diff --git a/src/etc/testcases/taskdefs/exec/input/iso8859-1 b/src/tests/antunit/taskdefs/exec/input/iso8859-1
similarity index 100%
rename from src/etc/testcases/taskdefs/exec/input/iso8859-1
rename to src/tests/antunit/taskdefs/exec/input/iso8859-1
diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/ExecTaskTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/ExecTaskTest.java
index d3a143f22..3c1749c56 100644
--- a/src/tests/junit/org/apache/tools/ant/taskdefs/ExecTaskTest.java
+++ b/src/tests/junit/org/apache/tools/ant/taskdefs/ExecTaskTest.java
@@ -22,12 +22,8 @@ import org.apache.tools.ant.*;
import org.apache.tools.ant.util.FileUtils;
import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
import java.util.GregorianCalendar;
-import junit.framework.ComparisonFailure;
-
/**
* Unit test for the <exec> task.
*/
@@ -38,7 +34,8 @@ public class ExecTaskTest extends BuildFileTest {
/** maximum time allowed for the build in milliseconds */
private static final int MAX_BUILD_TIME = 4000;
private static final int SECURITY_MARGIN = 2000; // wait 2 second extras
- // the test failed with 100 ms of margin on cvs.apache.org on August 1st, 2003
+ // the test failed with 100 ms of margin on cvs.apache.org on August 1st,
+ // 2003
/** Utilities used for file operations */
private static final FileUtils FILE_UTILS = FileUtils.getFileUtils();
@@ -46,6 +43,7 @@ public class ExecTaskTest extends BuildFileTest {
private File logFile;
private MonitoredBuild myBuild = null;
volatile private boolean buildFinished = false;
+
public ExecTaskTest(String name) {
super(name);
}
@@ -61,293 +59,13 @@ public class ExecTaskTest extends BuildFileTest {
executeTarget("cleanup");
}
- public void testNoRedirect() {
- executeTarget("no-redirect");
- if (getProject().getProperty("test.can.run") == null) {
- return;
- }
- assertEquals("unexpected log content",
- getProject().getProperty("ant.file") + " out"
- + getProject().getProperty("ant.file") + " err", getLog());
- }
-
- public void testRedirect1() throws IOException {
- executeTarget("redirect1");
- if (getProject().getProperty("test.can.run") == null) {
- return;
- }
- String expectedOut = getProject().getProperty("ant.file") + " out\n"
- + getProject().getProperty("ant.file") + " err\n";
-
- assertEquals("unexpected output",
- expectedOut, getFileString("redirect.out"));
- }
-
- public void testRedirect2() throws IOException {
- executeTarget("redirect2");
- if (getProject().getProperty("test.can.run") == null) {
- return;
- }
-
- assertEquals("unexpected output",
- getProject().getProperty("ant.file") + " out\n",
- getFileString("redirect.out"));
- assertEquals("unexpected error output",
- getProject().getProperty("ant.file") + " err\n",
- getFileString("redirect.err"));
- }
-
- public void testRedirect3() throws IOException {
- executeTarget("redirect3");
- if (getProject().getProperty("test.can.run") == null) {
- return;
- }
- assertEquals("unexpected log content",
- getProject().getProperty("ant.file") + " err", getLog());
- String expectedOut = getProject().getProperty("ant.file") + " out\n";
-
- assertEquals("unexpected output",
- expectedOut, getFileString("redirect.out"));
- assertPropertyEquals("redirect.out", expectedOut.trim());
- }
-
- public void testRedirect4() throws IOException {
- executeTarget("redirect4");
- if (getProject().getProperty("test.can.run") == null) {
- return;
- }
- String expectedOut = getProject().getProperty("ant.file") + " out\n";
- String expectedErr = getProject().getProperty("ant.file") + " err\n";
-
- assertEquals("unexpected output",
- expectedOut, getFileString("redirect.out"));
- assertPropertyEquals("redirect.out", expectedOut.trim());
- assertEquals("unexpected error output",
- expectedErr, getFileString("redirect.err"));
- assertPropertyEquals("redirect.err", expectedErr.trim());
- }
-
- public void testRedirect5() throws IOException {
- testRedirect5or6("redirect5");
- }
-
- public void testRedirect6() throws IOException {
- testRedirect5or6("redirect6");
- }
-
- public void testRedirect5or6(String target) throws IOException {
- executeTarget(target);
- if (getProject().getProperty("wc.can.run") == null) {
- return;
- }
-
- assertEquals("unexpected output", "3", getFileString("redirect.out").trim());
- assertEquals("property redirect.out", "3",
- getProject().getProperty("redirect.out").trim());
- assertNull("unexpected error output", getFileString("redirect.err"));
- assertPropertyEquals("redirect.err", "");
- }
-
- public void testRedirect7() throws IOException {
- executeTarget("redirect7");
- if (getProject().getProperty("wc.can.run") == null) {
- return;
- }
-
- assertEquals("unexpected output", "3", getFileString("redirect.out").trim());
- assertEquals("property redirect.out", "3",
- getProject().getProperty("redirect.out").trim());
- assertNull("unexpected error output", getFileString("redirect.err"));
- }
-
- public void testRedirector1() {
- executeTarget("init");
- if (getProject().getProperty("test.can.run") == null) {
- return;
- }
- expectBuildException("redirector1", "cannot have > 1 nested s");
- }
-
- public void testRedirector2() throws IOException {
- executeTarget("redirector2");
- if (getProject().getProperty("test.can.run") == null) {
- return;
- }
-
- assertEquals("unexpected output",
- getProject().getProperty("ant.file") + " out\n"
- + getProject().getProperty("ant.file") + " err\n",
- getFileString("redirector.out"));
- }
-
- public void testRedirector3() throws IOException {
- executeTarget("redirector3");
- if (getProject().getProperty("test.can.run") == null) {
- return;
- }
-
- assertEquals("unexpected output",
- getProject().getProperty("ant.file") + " out\n",
- getFileString("redirector.out"));
- assertEquals("unexpected error output",
- getProject().getProperty("ant.file") + " err\n",
- getFileString("redirector.err"));
- }
-
- public void testRedirector4() throws IOException {
- executeTarget("redirector4");
- if (getProject().getProperty("test.can.run") == null) {
- return;
- }
- String expectedOut = getProject().getProperty("ant.file") + " out\n";
-
- assertEquals("unexpected log content",
- getProject().getProperty("ant.file") + " err", getLog());
- assertEquals("unexpected output", expectedOut,
- getFileString("redirector.out"));
- assertPropertyEquals("redirector.out", expectedOut.trim());
- }
-
- public void testRedirector5() throws IOException {
- testRedirector5or6("redirector5");
- }
-
- public void testRedirector6() throws IOException {
- testRedirector5or6("redirector6");
- }
-
- private void testRedirector5or6(String target) throws IOException {
- executeTarget(target);
- if (getProject().getProperty("test.can.run") == null) {
- return;
- }
- String expectedOut = getProject().getProperty("ant.file") + " out\n";
- String expectedErr = getProject().getProperty("ant.file") + " err\n";
-
- assertEquals("unexpected output", expectedOut,
- getFileString("redirector.out"));
- assertPropertyEquals("redirector.out", expectedOut.trim());
- assertEquals("unexpected error output", expectedErr,
- getFileString("redirector.err"));
- assertPropertyEquals("redirector.err", expectedErr.trim());
- }
-
- public void testRedirector7() throws IOException {
- executeTarget("redirector7");
- if (getProject().getProperty("test.can.run") == null) {
- return;
- }
- String expectedOut = getProject().getProperty("ant.file") + " out\n";
- String expectedErr = getProject().getProperty("ant.file") + " ERROR!!!\n";
-
- assertEquals("unexpected output", expectedOut,
- getFileString("redirector.out"));
- assertPropertyEquals("redirector.out", expectedOut.trim());
- assertEquals("unexpected error output", expectedErr,
- getFileString("redirector.err"));
- assertPropertyEquals("redirector.err", expectedErr.trim());
- }
-
- public void testRedirector8() throws IOException {
- executeTarget("redirector8");
- if (getProject().getProperty("wc.can.run") == null) {
- return;
- }
-
- assertEquals("unexpected output", "3", getFileString("redirector.out").trim());
- assertEquals("property redirector.out", "3",
- getProject().getProperty("redirector.out").trim());
- assertNull("unexpected error output", getFileString("redirector.err"));
- assertPropertyEquals("redirector.err", "");
- }
-
- public void testRedirector9() throws IOException {
- testRedirector9Thru12("redirector9");
- }
-
- public void testRedirector10() throws IOException {
- testRedirector9Thru12("redirector10");
- }
-
- public void testRedirector11() throws IOException {
- testRedirector9Thru12("redirector11");
- }
-
- public void testRedirector12() throws IOException {
- testRedirector9Thru12("redirector12");
- }
-
- private void testRedirector9Thru12(String target) throws IOException {
- executeTarget(target);
- if (getProject().getProperty("cat.can.run") == null) {
- return;
- }
- String expectedOut = "blah after blah";
-
- assertEquals("unexpected output",
- expectedOut, getFileString("redirector.out").trim());
- assertPropertyEquals("redirector.out", expectedOut.trim());
- assertNull("unexpected error output", getFileString("redirector.err"));
- assertPropertyEquals("redirector.err", "");
- }
-
- public void testRedirector13() {
- executeTarget("redirector13");
- if (getProject().getProperty("test.can.run") == null) {
- return;
- }
- String antfile = getProject().getProperty("ant.file");
- try {
- //no point in setting a message
- assertEquals(antfile + " OUTPUT???" + antfile + " ERROR!!!", getLog());
- } catch (ComparisonFailure cf) {
- assertEquals("unexpected log content",
- antfile + " ERROR!!!" + antfile + " OUTPUT???", getLog());
- }
- }
-
- public void testRedirector14() {
- executeTarget("redirector14");
- if (getProject().getProperty("cat.can.run") == null) {
- return;
- }
- assertEquals("unexpected log output", "blah after blah", getLog());
- }
-
- public void testRedirector15() throws IOException {
- executeTarget("redirector15");
- if (getProject().getProperty("cat.can.run") == null) {
- return;
- }
- assertTrue("error with transcoding",
- FILE_UTILS.contentEquals(
- getProject().resolveFile("expected/utf-8"),
- getProject().resolveFile("redirector.out")));
- }
-
- public void testRedirector16() {
- executeTarget("redirector16");
- }
-
- public void testRedirector17() {
- executeTarget("redirector17");
- }
-
- public void testRedirector18() {
- if (getProject().getProperty("test.can.run") == null) {
- return;
- }
- expectLog("redirector18", getProject().getProperty("ant.file")
- + " out" + getProject().getProperty("ant.file") + " err");
- }
-
public void testspawn() {
project.executeTarget("init");
if (project.getProperty("test.can.run") == null) {
return;
}
myBuild = new MonitoredBuild(new File(System.getProperty("root"), BUILD_FILE), "spawn");
- logFile = FILE_UTILS.createTempFile("spawn","log", project.getBaseDir(), false, false);
+ logFile = FILE_UTILS.createTempFile("spawn", "log", project.getBaseDir(), false, false);
// this is guaranteed by FileUtils#createTempFile
assertTrue("log file not existing", !logFile.exists());
// make the spawned process run 4 seconds
@@ -366,7 +84,9 @@ public class ExecTaskTest extends BuildFileTest {
GregorianCalendar now = new GregorianCalendar();
// security
if (now.getTime().getTime() - startwait.getTime().getTime() > MAX_BUILD_TIME) {
- System.out.println("aborting wait, too long " + (now.getTime().getTime() - startwait.getTime().getTime()) + "milliseconds");
+ System.out.println("aborting wait, too long "
+ + (now.getTime().getTime() - startwait.getTime().getTime())
+ + "milliseconds");
break;
}
}
@@ -378,24 +98,12 @@ public class ExecTaskTest extends BuildFileTest {
}
// time of the build in milli seconds
long elapsed = myBuild.getTimeElapsed();
- assertTrue("we waited more than the process lasted", TIME_TO_WAIT * 1000
- + SECURITY_MARGIN > elapsed);
+ assertTrue("we waited more than the process lasted",
+ TIME_TO_WAIT * 1000 + SECURITY_MARGIN > elapsed);
logFile = new File(logFile.getAbsolutePath());
assertTrue("log file found after spawn", logFile.exists());
}
- public void testExecUnknownOS() {
- executeTarget("testExecUnknownOS");
- }
-
- public void testExecOSFamily() {
- executeTarget("testExecOSFamily");
- }
-
- public void testExecInconsistentSettings() {
- executeTarget("testExecInconsistentSettings");
- }
-
private static class MonitoredBuild implements Runnable {
private Thread worker;
private File myBuildFile = null;
@@ -419,15 +127,17 @@ public class ExecTaskTest extends BuildFileTest {
public void addBuildListener(BuildListener bl) {
project.addBuildListener(bl);
}
+
public MonitoredBuild(File buildFile, String target) {
myBuildFile = buildFile;
this.target = target;
- project=new Project();
+ project = new Project();
project = new Project();
project.init();
- project.setUserProperty( "ant.file" , myBuildFile.getAbsolutePath() );
+ project.setUserProperty("ant.file", myBuildFile.getAbsolutePath());
ProjectHelper.configureProject(project, myBuildFile);
}
+
/**
*
* @return time in millis of the build
@@ -435,19 +145,23 @@ public class ExecTaskTest extends BuildFileTest {
public long getTimeElapsed() {
return timeFinished.getTime().getTime() - timeStarted.getTime().getTime();
}
+
public void start() {
worker = new Thread(this, myBuildFile.toString() + "/" + target);
worker.start();
}
+
public void run() {
startProject();
}
+
private void startProject() {
timeStarted = new GregorianCalendar();
project.executeTarget(target);
timeFinished = new GregorianCalendar();
}
}
+
private class MonitoredBuildListener implements BuildListener {
public void buildStarted(BuildEvent event) {
}
@@ -474,18 +188,4 @@ public class ExecTaskTest extends BuildFileTest {
}
}
- //borrowed from TokenFilterTest
- private String getFileString(String filename) throws IOException {
- String result = null;
- FileReader reader = null;
- try {
- reader = new FileReader(getProject().resolveFile(filename));
- result = FileUtils.readFully(reader);
- } catch (IOException eyeOhEx) {
- } finally {
- FileUtils.close(reader);
- }
- return result;
- }
-
}