java with spawn option is OK on Solaris; test case fixed.
Cheers,
Antoine
----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
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:[EMAIL PROTECTED]">Stephane Bailliez</a>
> + * @author <a href="mailto:[EMAIL PROTECTED]">Stephane Bailliez</a>
> * @author <a href="mailto:[EMAIL PROTECTED]">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: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]