You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by an...@apache.org on 2003/07/30 17:25:51 UTC
cvs commit: ant/src/testcases/org/apache/tools/ant/taskdefs JavaTest.java
antoine 2003/07/30 08:25:51
Modified: src/etc/testcases/taskdefs java.xml
src/testcases/org/apache/tools/ant/taskdefs JavaTest.java
Log:
TestCase fixed, works now also on nagoya (Solaris).
The problem was that I did not allow enough time for java to start.
1 second is OK, 400 millis were not enough.
Revision Changes Path
1.7 +7 -2 ant/src/etc/testcases/taskdefs/java.xml
Index: java.xml
===================================================================
RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/java.xml,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- java.xml 30 Jul 2003 13:56:06 -0000 1.6
+++ java.xml 30 Jul 2003 15:25:51 -0000 1.7
@@ -1,7 +1,10 @@
<?xml version="1.0"?>
<project name="java-test" basedir="." default="foo">
-
+ <!-- this property gets overridden programmatically-->
+ <property name="timeToWait" value="4"/>
+ <!-- this property gets overridden programmatically-->
+ <property name="logFile" value="spawn.log"/>
<property name="app"
value="org.apache.tools.ant.taskdefs.JavaTest$$EntryPoint" />
@@ -119,6 +122,8 @@
<arg value="${logFile}" />
</java>
</target>
-
+ <target name="cleanup">
+ <delete file="${logFile}"/>
+ </target>
<target name="foo" />
</project>
1.12 +42 -31 ant/src/testcases/org/apache/tools/ant/taskdefs/JavaTest.java
Index: JavaTest.java
===================================================================
RCS file: /home/cvs/ant/src/testcases/org/apache/tools/ant/taskdefs/JavaTest.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- JavaTest.java 30 Jul 2003 13:56:06 -0000 1.11
+++ JavaTest.java 30 Jul 2003 15:25:51 -0000 1.12
@@ -62,26 +62,30 @@
/**
* stress out java task
* @author steve loughran
- * @author <a href="mailto:sbailliez@apache.org">Stephane Bailliez</a>
+ * @author <a href="mailto:sbailliez@apache.org">Stephane Bailliez</a>
* @author <a href="mailto:donal@savvion.com">Donal Quinlan</a>
* */
public class JavaTest extends BuildFileTest {
private static final int TIME_TO_WAIT = 4;
+ // 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 = 1000;
+
private boolean runFatalTests=false;
-
- public JavaTest(String name) {
+
+ public JavaTest(String name) {
super(name);
- }
-
+ }
+
/**
- * configure the project.
+ * configure the project.
* if the property junit.run.fatal.tests is set we run
* the fatal tests
*/
- public void setUp() {
+ public void setUp() {
configureProject("src/etc/testcases/taskdefs/java.xml");
-
+
//final String propname="tests-classpath.value";
//String testClasspath=System.getProperty(propname);
//System.out.println("Test cp="+testClasspath);
@@ -92,28 +96,30 @@
}
public void tearDown() {
+ // remove log file from testSpawn
+ project.executeTarget("cleanup");
}
public void testNoJarNoClassname(){
expectBuildExceptionContaining("testNoJarNoClassname",
"parameter validation",
- "Classname must not be null.");
+ "Classname must not be null.");
}
public void testJarNoFork() {
expectBuildExceptionContaining("testJarNoFork",
"parameter validation",
- "Cannot execute a jar in non-forked mode. "
- + "Please set fork='true'. ");
+ "Cannot execute a jar in non-forked mode. "
+ + "Please set fork='true'. ");
}
-
- public void testJarAndClassName() {
+
+ public void testJarAndClassName() {
expectBuildException("testJarAndClassName",
"Should not be able to set both classname AND jar");
}
-
- public void testClassnameAndJar() {
+
+ public void testClassnameAndJar() {
expectBuildException("testClassnameAndJar",
"Should not be able to set both classname AND jar");
}
@@ -121,7 +127,7 @@
public void testRun() {
executeTarget("testRun");
}
-
+
/** this test fails but we ignore the return value;
@@ -132,7 +138,7 @@
executeTarget("testRunFail");
}
}
-
+
public void testRunFailFoe() {
if(runFatalTests) {
expectBuildExceptionContaining("testRunFailFoe",
@@ -148,32 +154,32 @@
}
public void testExcepting() {
- expectLogContaining("testExcepting",
+ expectLogContaining("testExcepting",
"Exception raised inside called program");
}
-
+
public void testExceptingFork() {
- expectLogContaining("testExceptingFork",
+ expectLogContaining("testExceptingFork",
"Java Result:");
}
-
+
public void testExceptingFoe() {
expectBuildExceptionContaining("testExceptingFoe",
"passes exception through",
"Exception raised inside called program");
}
-
+
public void testExceptingFoeFork() {
expectBuildExceptionContaining("testExceptingFoeFork",
"exceptions turned into error codes",
- "Java returned:");
- }
-
+ "Java returned:");
+ }
+
public void testResultPropertyZero() {
executeTarget("testResultPropertyZero");
assertEquals("0",project.getProperty("exitcode"));
}
-
+
public void testResultPropertyNonZero() {
executeTarget("testResultPropertyNonZero");
assertEquals("-1",project.getProperty("exitcode"));
@@ -188,10 +194,15 @@
project.setProperty("timeToWait", Long.toString(TIME_TO_WAIT));
project.executeTarget("testSpawn");
try {
- Thread.sleep(TIME_TO_WAIT * 1000 + 400);
+ Thread.sleep(TIME_TO_WAIT * 1000 + SECURITY_MARGIN);
} catch (Exception ex) {
System.out.println("my sleep was interrupted");
}
+ // 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());
}
@@ -200,7 +211,7 @@
* than normal JRE runtime
*/
public static class EntryPoint {
-
+
/**
* this entry point is used by the java.xml tests to
* generate failure strings to handle
@@ -228,15 +239,15 @@
}
}
}
-
+
/**
* entry point class with no dependencies other
* than normal JRE runtime
*/
public static class ExceptingEntryPoint {
-
+
/**
- * throw a run time exception which does not need
+ * throw a run time exception which does not need
* to be in the signature of the entry point
*/
public static void main(String[] argv) {
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org
Re: cvs commit: ant/src/testcases/org/apache/tools/ant/taskdefs JavaTest.java
Posted by Antoine Levy-Lambert <an...@antbuild.com>.
java with spawn option is OK on Solaris; test case fixed.
Cheers,
Antoine
----- Original Message -----
From: <an...@apache.org>
To: <an...@apache.org>
Sent: Wednesday, July 30, 2003 5:25 PM
Subject: cvs commit: ant/src/testcases/org/apache/tools/ant/taskdefs
JavaTest.java
> antoine 2003/07/30 08:25:51
>
> Modified: src/etc/testcases/taskdefs java.xml
> src/testcases/org/apache/tools/ant/taskdefs JavaTest.java
> Log:
> TestCase fixed, works now also on nagoya (Solaris).
> The problem was that I did not allow enough time for java to start.
> 1 second is OK, 400 millis were not enough.
>
> Revision Changes Path
> 1.7 +7 -2 ant/src/etc/testcases/taskdefs/java.xml
>
> Index: java.xml
> ===================================================================
> RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/java.xml,v
> retrieving revision 1.6
> retrieving revision 1.7
> diff -u -r1.6 -r1.7
> --- java.xml 30 Jul 2003 13:56:06 -0000 1.6
> +++ java.xml 30 Jul 2003 15:25:51 -0000 1.7
> @@ -1,7 +1,10 @@
> <?xml version="1.0"?>
>
> <project name="java-test" basedir="." default="foo">
> -
> + <!-- this property gets overridden programmatically-->
> + <property name="timeToWait" value="4"/>
> + <!-- this property gets overridden programmatically-->
> + <property name="logFile" value="spawn.log"/>
> <property name="app"
> value="org.apache.tools.ant.taskdefs.JavaTest$$EntryPoint" />
>
> @@ -119,6 +122,8 @@
> <arg value="${logFile}" />
> </java>
> </target>
> -
> + <target name="cleanup">
> + <delete file="${logFile}"/>
> + </target>
> <target name="foo" />
> </project>
>
>
>
> 1.12 +42 -31
ant/src/testcases/org/apache/tools/ant/taskdefs/JavaTest.java
>
> Index: JavaTest.java
> ===================================================================
> RCS file:
/home/cvs/ant/src/testcases/org/apache/tools/ant/taskdefs/JavaTest.java,v
> retrieving revision 1.11
> retrieving revision 1.12
> diff -u -r1.11 -r1.12
> --- JavaTest.java 30 Jul 2003 13:56:06 -0000 1.11
> +++ JavaTest.java 30 Jul 2003 15:25:51 -0000 1.12
> @@ -62,26 +62,30 @@
> /**
> * stress out java task
> * @author steve loughran
> - * @author <a href="mailto:sbailliez@apache.org">Stephane Bailliez</a>
> + * @author <a href="mailto:sbailliez@apache.org">Stephane Bailliez</a>
> * @author <a href="mailto:donal@savvion.com">Donal Quinlan</a>
> * */
> public class JavaTest extends BuildFileTest {
>
> private static final int TIME_TO_WAIT = 4;
> + // 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 = 1000;
> +
> private boolean runFatalTests=false;
> -
> - public JavaTest(String name) {
> +
> + public JavaTest(String name) {
> super(name);
> - }
> -
> + }
> +
> /**
> - * configure the project.
> + * configure the project.
> * if the property junit.run.fatal.tests is set we run
> * the fatal tests
> */
> - public void setUp() {
> + public void setUp() {
> configureProject("src/etc/testcases/taskdefs/java.xml");
> -
> +
> //final String propname="tests-classpath.value";
> //String testClasspath=System.getProperty(propname);
> //System.out.println("Test cp="+testClasspath);
> @@ -92,28 +96,30 @@
> }
>
> public void tearDown() {
> + // remove log file from testSpawn
> + project.executeTarget("cleanup");
> }
>
> public void testNoJarNoClassname(){
> expectBuildExceptionContaining("testNoJarNoClassname",
> "parameter validation",
> - "Classname must not be null.");
> + "Classname must not be null.");
> }
>
> public void testJarNoFork() {
> expectBuildExceptionContaining("testJarNoFork",
> "parameter validation",
> - "Cannot execute a jar in non-forked mode. "
> - + "Please set fork='true'. ");
> + "Cannot execute a jar in non-forked mode. "
> + + "Please set fork='true'. ");
> }
> -
> - public void testJarAndClassName() {
> +
> + public void testJarAndClassName() {
> expectBuildException("testJarAndClassName",
> "Should not be able to set both classname AND jar");
> }
> -
>
> - public void testClassnameAndJar() {
> +
> + public void testClassnameAndJar() {
> expectBuildException("testClassnameAndJar",
> "Should not be able to set both classname AND jar");
> }
> @@ -121,7 +127,7 @@
> public void testRun() {
> executeTarget("testRun");
> }
> -
> +
>
>
> /** this test fails but we ignore the return value;
> @@ -132,7 +138,7 @@
> executeTarget("testRunFail");
> }
> }
> -
> +
> public void testRunFailFoe() {
> if(runFatalTests) {
> expectBuildExceptionContaining("testRunFailFoe",
> @@ -148,32 +154,32 @@
> }
>
> public void testExcepting() {
> - expectLogContaining("testExcepting",
> + expectLogContaining("testExcepting",
> "Exception raised inside called program");
> }
> -
> +
> public void testExceptingFork() {
> - expectLogContaining("testExceptingFork",
> + expectLogContaining("testExceptingFork",
> "Java Result:");
> }
> -
> +
> public void testExceptingFoe() {
> expectBuildExceptionContaining("testExceptingFoe",
> "passes exception through",
> "Exception raised inside called program");
> }
> -
> +
> public void testExceptingFoeFork() {
> expectBuildExceptionContaining("testExceptingFoeFork",
> "exceptions turned into error codes",
> - "Java returned:");
> - }
> -
> + "Java returned:");
> + }
> +
> public void testResultPropertyZero() {
> executeTarget("testResultPropertyZero");
> assertEquals("0",project.getProperty("exitcode"));
> }
> -
> +
> public void testResultPropertyNonZero() {
> executeTarget("testResultPropertyNonZero");
> assertEquals("-1",project.getProperty("exitcode"));
> @@ -188,10 +194,15 @@
> project.setProperty("timeToWait", Long.toString(TIME_TO_WAIT));
> project.executeTarget("testSpawn");
> try {
> - Thread.sleep(TIME_TO_WAIT * 1000 + 400);
> + Thread.sleep(TIME_TO_WAIT * 1000 + SECURITY_MARGIN);
> } catch (Exception ex) {
> System.out.println("my sleep was interrupted");
> }
> + // 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());
> }
>
> @@ -200,7 +211,7 @@
> * than normal JRE runtime
> */
> public static class EntryPoint {
> -
> +
> /**
> * this entry point is used by the java.xml tests to
> * generate failure strings to handle
> @@ -228,15 +239,15 @@
> }
> }
> }
> -
> +
> /**
> * entry point class with no dependencies other
> * than normal JRE runtime
> */
> public static class ExceptingEntryPoint {
> -
> +
> /**
> - * throw a run time exception which does not need
> + * throw a run time exception which does not need
> * to be in the signature of the entry point
> */
> public static void main(String[] argv) {
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org