Author: stevel
Date: Tue May 9 13:25:48 2006
New Revision: 405524
URL: http://svn.apache.org/viewcvs?rev=405524&view=rev
Log:
Adding a new non-static method, isFailure() to Execute. As well as simplifying
a common operation, it is a foundation for instance specific logic to decide if
an execute failed, which could be of use in VMS land.
Modified:
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Execute.java
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/rmic/ForkingSunRmic.java
ant/core/trunk/src/testcases/org/apache/tools/ant/taskdefs/ExecuteWatchdogTest.java
Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Execute.java
URL:
http://svn.apache.org/viewcvs/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Execute.java?rev=405524&r1=405523&r2=405524&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Execute.java
(original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Execute.java Tue May
9 13:25:48 2006
@@ -47,7 +47,9 @@
*/
public class Execute {
- /** Invalid exit code. **/
+ /** Invalid exit code.
+ * set to [EMAIL PROTECTED] Integer#MAX_VALUE}
+ */
public static final int INVALID = Integer.MAX_VALUE;
private static final FileUtils FILE_UTILS = FileUtils.getFileUtils();
@@ -584,6 +586,16 @@
// for other platforms nonzero exit value signals failure
return Os.isFamily("openvms")
? (exitValue % 2 == 0) : (exitValue != 0);
+ }
+
+ /**
+ * Did this execute return in a failure.
+ * @see #isFailure(int)
+ * @return true if and only if the exit code is interpreted as a failure
+ * @since Ant1.7
+ */
+ public boolean isFailure() {
+ return isFailure(getExitValue());
}
/**
Modified:
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/rmic/ForkingSunRmic.java
URL:
http://svn.apache.org/viewcvs/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/rmic/ForkingSunRmic.java?rev=405524&r1=405523&r2=405524&view=diff
==============================================================================
---
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/rmic/ForkingSunRmic.java
(original)
+++
ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/rmic/ForkingSunRmic.java
Tue May 9 13:25:48 2006
@@ -65,9 +65,8 @@
exe.setAntRun(project);
exe.setWorkingDirectory(project.getBaseDir());
exe.setCommandline(args);
-
exe.execute();
- return exe.getExitValue() == 0;
+ return !exe.isFailure();
} catch (IOException exception) {
throw new BuildException("Error running " + SunRmic.RMIC_EXECUTABLE
+ " -maybe it is not on the path", exception);
Modified:
ant/core/trunk/src/testcases/org/apache/tools/ant/taskdefs/ExecuteWatchdogTest.java
URL:
http://svn.apache.org/viewcvs/ant/core/trunk/src/testcases/org/apache/tools/ant/taskdefs/ExecuteWatchdogTest.java?rev=405524&r1=405523&r2=405524&view=diff
==============================================================================
---
ant/core/trunk/src/testcases/org/apache/tools/ant/taskdefs/ExecuteWatchdogTest.java
(original)
+++
ant/core/trunk/src/testcases/org/apache/tools/ant/taskdefs/ExecuteWatchdogTest.java
Tue May 9 13:25:48 2006
@@ -27,12 +27,12 @@
*/
public class ExecuteWatchdogTest extends TestCase {
- private final static int TIME_OUT = 5000;
+ private final static long TIME_OUT = 5000;
private final static String TEST_CLASSPATH = getTestClassPath();
private final static int CLOCK_ERROR=200;
- private final static int TIME_OUT_TEST=TIME_OUT-CLOCK_ERROR;
+ private final static long TIME_OUT_TEST=TIME_OUT-CLOCK_ERROR;
private ExecuteWatchdog watchdog;
@@ -58,7 +58,7 @@
return classpath;
}
- private Process getProcess(int timetorun) throws Exception {
+ private Process getProcess(long timetorun) throws Exception {
String[] cmdArray = {
JavaEnvUtils.getJreExecutable("java"), "-classpath",
TEST_CLASSPATH,
TimeProcess.class.getName(), String.valueOf(timetorun)
@@ -94,7 +94,7 @@
watchdog.start(process);
int retCode = waitForEnd(process);
assertTrue("process should not have been killed",
!watchdog.killedProcess());
- assertEquals(0, retCode);
+ assertFalse(Execute.isFailure(retCode));
}
// test that the watchdog ends the process
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]