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