You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kr...@apache.org on 2011/11/16 21:27:26 UTC

svn commit: r1202876 - in /maven/surefire/trunk: maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ surefire-api/src/main/java/org/apache/maven/surefire/suite/ surefire-booter/src/main/java/org/apache/maven/surefire/boot...

Author: krosenvold
Date: Wed Nov 16 20:27:26 2011
New Revision: 1202876

URL: http://svn.apache.org/viewvc?rev=1202876&view=rev
Log:
[SUREFIRE-780] Success claimed when jvm fails to launch

Fixed, updated IT

Modified:
    maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java
    maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/suite/RunResult.java
    maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireBooterForkException.java
    maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/Surefire735ForkFailWithRedirectConsoleOutputIT.java

Modified: maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java?rev=1202876&r1=1202875&r2=1202876&view=diff
==============================================================================
--- maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java (original)
+++ maven/surefire/trunk/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java Wed Nov 16 20:27:26 2011
@@ -186,8 +186,12 @@ public class ForkStarter
         try
         {
             final int timeout = forkedProcessTimeoutInSeconds > 0 ? forkedProcessTimeoutInSeconds : 0;
-            CommandLineUtils.executeCommandLine( cli, threadedStreamConsumer2, threadedStreamConsumer2, timeout );
+            final int result =
+                CommandLineUtils.executeCommandLine( cli, threadedStreamConsumer2, threadedStreamConsumer2, timeout );
 
+            if (result != RunResult.SUCCESS && result != RunResult.FAILURE){
+                throw new SurefireBooterForkException("Error occured in starting fork, check output in log");
+            }
             threadedStreamConsumer2.close();
             out.close();
 

Modified: maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/suite/RunResult.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/suite/RunResult.java?rev=1202876&r1=1202875&r2=1202876&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/suite/RunResult.java (original)
+++ maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/suite/RunResult.java Wed Nov 16 20:27:26 2011
@@ -40,7 +40,7 @@ public class RunResult
 
     private final boolean timeout;
 
-    private static final int SUCCESS = 0;
+    public static final int SUCCESS = 0;
 
     public static final int FAILURE = 255;
 
@@ -131,6 +131,7 @@ public class RunResult
         return timeout;
     }
 
+
     public RunResult aggregate( RunResult other )
     {
         boolean failure = isFailure() || other.isFailure();

Modified: maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireBooterForkException.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireBooterForkException.java?rev=1202876&r1=1202875&r2=1202876&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireBooterForkException.java (original)
+++ maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireBooterForkException.java Wed Nov 16 20:27:26 2011
@@ -35,4 +35,8 @@ public class SurefireBooterForkException
         super( message, cause );
     }
 
+    public SurefireBooterForkException( String msg )
+    {
+        super( msg );
+    }
 }

Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/Surefire735ForkFailWithRedirectConsoleOutputIT.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/Surefire735ForkFailWithRedirectConsoleOutputIT.java?rev=1202876&r1=1202875&r2=1202876&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/Surefire735ForkFailWithRedirectConsoleOutputIT.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/Surefire735ForkFailWithRedirectConsoleOutputIT.java Wed Nov 16 20:27:26 2011
@@ -20,6 +20,8 @@ package org.apache.maven.surefire.its;
 
 import org.apache.maven.it.VerificationException;
 
+import junit.framework.Assert;
+
 /**
  * @author Kristian Rosenvold
  */
@@ -39,4 +41,19 @@ public class Surefire735ForkFailWithRedi
         executeTest();
         verifyTextInLog( "Invalid maximum heap size: -Xmxxxx712743m" );
     }
+
+    public void testVMStartFtestVMStartFailail()
+        throws Exception
+    {
+        try
+        {
+            executeTest();
+            Assert.fail( "The verifier should throw an exception" );
+        }
+        catch ( VerificationException ignore )
+        {
+        }
+
+    }
+
 }