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 2012/12/06 19:04:42 UTC

git commit: o IT's now support embedded mode with maven 3.0.4

Updated Branches:
  refs/heads/master d39c290e7 -> 00e31e5a8


o IT's now support embedded mode with maven 3.0.4


Project: http://git-wip-us.apache.org/repos/asf/maven-surefire/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-surefire/commit/00e31e5a
Tree: http://git-wip-us.apache.org/repos/asf/maven-surefire/tree/00e31e5a
Diff: http://git-wip-us.apache.org/repos/asf/maven-surefire/diff/00e31e5a

Branch: refs/heads/master
Commit: 00e31e5a8552b2264762726e8aee812561b872a0
Parents: d39c290
Author: Kristian Rosenvold <kr...@apache.org>
Authored: Thu Dec 6 19:03:44 2012 +0100
Committer: Kristian Rosenvold <kr...@apache.org>
Committed: Thu Dec 6 19:03:44 2012 +0100

----------------------------------------------------------------------
 .../surefire/StartupReportConfiguration.java       |    2 +-
 .../plugin/surefire/booterclient/ForkStarter.java  |    8 ++
 .../surefire/booterclient/output/ForkClient.java   |   10 +-
 .../plugin/surefire/report/ConsoleReporter.java    |   13 +--
 surefire-integration-tests/pom.xml                 |   90 +++++++--------
 .../surefire/its/JUnit48TestCategoriesIT.java      |    6 +-
 .../maven/surefire/its/WorkingDirectoryIT.java     |    3 +-
 .../surefire/its/fixture/SurefireLauncher.java     |    7 +
 .../src/test/java/forkMode/Test1.java              |    2 +-
 .../fork-mode/src/test/java/forkMode/Test1.java    |    8 +-
 .../surefire/junitcore/JUnitCoreProvider.java      |    3 +-
 11 files changed, 76 insertions(+), 76 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/00e31e5a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/StartupReportConfiguration.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/StartupReportConfiguration.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/StartupReportConfiguration.java
index a27ff54..b29ed38 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/StartupReportConfiguration.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/StartupReportConfiguration.java
@@ -162,7 +162,7 @@ public class StartupReportConfiguration
 
     public ConsoleReporter instantiateConsoleReporter()
     {
-        return shouldReportToConsole() ? new ConsoleReporter() : null;
+        return shouldReportToConsole() ? new ConsoleReporter(originalSystemOut) : null;
     }
 
     private boolean shouldReportToConsole()

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/00e31e5a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java
index a1ecc9b..31f2475 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java
@@ -420,6 +420,14 @@ public class ForkStarter
             {
                 runResult = fileReporterFactory.getGlobalRunStatistics().getRunResult();
             }
+            if (!runResult.isTimeout()  && !forkClient.isSaidGoodBye())
+            {
+                //noinspection ThrowFromFinallyBlock
+                throw new RuntimeException(
+                    "The forked VM terminated without saying properly goodbye. VM crash or System.exit called ?" +
+                        "\nCommand was" + cli.toString());
+            }
+
             forkClient.close( runResult.isTimeout());
         }
 

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/00e31e5a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java
index fa7d141..2d77085 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java
@@ -267,11 +267,11 @@ public class ForkClient
 
     public void close(boolean hadTimeout)
     {
-        if ( !saidGoodBye && !hadTimeout)
-        {
-            throw new RuntimeException(
-                "The forked VM terminated without saying properly goodbye. VM crash or System.exit called ?" );
-        }
+    }
+
+    public boolean isSaidGoodBye()
+    {
+        return saidGoodBye;
     }
 
 }

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/00e31e5a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/ConsoleReporter.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/ConsoleReporter.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/ConsoleReporter.java
index 50f6e2d..cecb461 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/ConsoleReporter.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/ConsoleReporter.java
@@ -48,20 +48,13 @@ public class ConsoleReporter
 
     private static final int BUFFER_SIZE = 4096;
 
-    private static final PrintStream ORIGINAL_SYSTEM_OUT = System.out;
-
     private final PrintWriter writer;
 
 
-    public ConsoleReporter()
-    {
-        this.writer = getPrintWriter();
-    }
-
-    private static PrintWriter getPrintWriter()
+    public ConsoleReporter( PrintStream originalSystemOut )
     {
-        return new PrintWriter(
-            new OutputStreamWriter( new BufferedOutputStream( ORIGINAL_SYSTEM_OUT, BUFFER_SIZE ) ) );
+        OutputStreamWriter out = new OutputStreamWriter( new BufferedOutputStream( originalSystemOut, BUFFER_SIZE ) );
+        this.writer = new PrintWriter( out );
     }
 
     public void testSetStarting( ReportEntry report )

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/00e31e5a/surefire-integration-tests/pom.xml
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/pom.xml b/surefire-integration-tests/pom.xml
index adc5cc4..9914a28 100644
--- a/surefire-integration-tests/pom.xml
+++ b/surefire-integration-tests/pom.xml
@@ -82,42 +82,6 @@
   </dependencies>
 
   <build>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <artifactId>maven-failsafe-plugin</artifactId>
-          <version>${shadedVersion}</version>
-          <configuration>
-            <threadCount>1</threadCount>
-            <perCoreThreadCount>false</perCoreThreadCount>
-
-            <!-- Pass current surefire version to the main suite so that it -->
-            <!-- can forward to all integration test projects. SUREFIRE-513 -->
-            <systemPropertyVariables>
-              <surefire.version>${project.version}</surefire.version>
-              <testng.version>${testng.version}</testng.version>
-              <maven.home>${mavenHomeUsed}</maven.home>
-              <maven.settings.file>
-                ${project.basedir}/../surefire-setup-integration-tests/target/private/it-settings.xml
-              </maven.settings.file>
-              <maven.repo.local>${project.basedir}/../surefire-setup-integration-tests/target/it-repo</maven.repo.local>
-              <maven.test.tmpdir>${project.build.directory}</maven.test.tmpdir>
-              <user.localRepository>${settings.localRepository}</user.localRepository>
-              <useInterpolatedSettings>${useInterpolatedSettings}</useInterpolatedSettings>
-              <testBuildDirectory>${project.build.testOutputDirectory}</testBuildDirectory>
-              <verifier.forkMode>${verifier.forkMode}</verifier.forkMode>
-            </systemPropertyVariables>
-          </configuration>
-          <dependencies>
-            <dependency>
-              <groupId>org.apache.maven.surefire</groupId>
-              <artifactId>surefire-junit47</artifactId>
-              <version>${shadedVersion}</version>
-            </dependency>
-          </dependencies>
-        </plugin>
-      </plugins>
-    </pluginManagement>
     <plugins>
       <plugin>
         <artifactId>maven-surefire-plugin</artifactId>
@@ -127,7 +91,35 @@
       </plugin>
       <plugin>
         <artifactId>maven-failsafe-plugin</artifactId>
-        <version>${shadedVersion}</version>
+        <version>${project.version}</version>
+        <configuration>
+          <threadCount>1</threadCount>
+          <perCoreThreadCount>false</perCoreThreadCount>
+          <forkMode>never</forkMode>
+          <argLine>-Xmx512m -XX:MaxPermSize=256m</argLine>
+          <!-- Pass current surefire version to the main suite so that it -->
+          <!-- can forward to all integration test projects. SUREFIRE-513 -->
+          <systemPropertyVariables>
+            <surefire.version>${project.version}</surefire.version>
+            <testng.version>${testng.version}</testng.version>
+            <maven.home>${mavenHomeUsed}</maven.home>
+            <maven.settings.file>${project.basedir}/../surefire-setup-integration-tests/target/private/it-settings.xml</maven.settings.file>
+            <maven.repo.local>${project.basedir}/../surefire-setup-integration-tests/target/it-repo</maven.repo.local>
+            <maven.test.tmpdir>${project.build.directory}</maven.test.tmpdir>
+            <user.localRepository>${settings.localRepository}</user.localRepository>
+            <useInterpolatedSettings>${useInterpolatedSettings}</useInterpolatedSettings>
+            <testBuildDirectory>${project.build.testOutputDirectory}</testBuildDirectory>
+            <verifier.forkMode>${verifier.forkMode}</verifier.forkMode>
+          </systemPropertyVariables>
+        </configuration>
+        <dependencies>
+          <dependency>
+            <groupId>org.apache.maven.surefire</groupId>
+            <artifactId>surefire-junit47</artifactId>
+            <version>${shadedVersion}</version>
+          </dependency>
+        </dependencies>
+
         <executions>
           <execution>
             <goals>
@@ -172,19 +164,17 @@
         <useInterpolatedSettings>false</useInterpolatedSettings>
       </properties>
       <build>
-        <pluginManagement>
-          <plugins>
-            <plugin>
-              <artifactId>maven-failsafe-plugin</artifactId>
-              <version>${shadedVersion}</version>
-              <configuration>
-                <parallel>classes</parallel>
-                <threadCount>${surefire.threadcount}</threadCount>
-              </configuration>
-            </plugin>
-          </plugins>
-        </pluginManagement>
-
+        <plugins>
+          <plugin>
+            <artifactId>maven-failsafe-plugin</artifactId>
+            <version>${shadedVersion}</version>
+            <configuration>
+              <parallel>classes</parallel>
+              <threadCount>${surefire.threadcount}</threadCount>
+              <argLine>-Xmx2512m -XX:MaxPermSize=256m</argLine>
+            </configuration>
+          </plugin>
+        </plugins>
       </build>
       <dependencies>
         <dependency>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/00e31e5a/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/JUnit48TestCategoriesIT.java
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/JUnit48TestCategoriesIT.java b/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/JUnit48TestCategoriesIT.java
index 2844879..c3ad471 100644
--- a/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/JUnit48TestCategoriesIT.java
+++ b/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/JUnit48TestCategoriesIT.java
@@ -43,7 +43,7 @@ public class JUnit48TestCategoriesIT
     public void testCategoriesABForkAlways()
         throws Exception
     {
-        runAB( unpacked().forkAlways() );
+        runAB( unpacked() );
     }
 
     private void runAB( SurefireLauncher unpacked )
@@ -56,7 +56,7 @@ public class JUnit48TestCategoriesIT
     public void testCategoriesAC()
         throws Exception
     {
-        runAC( unpacked().forkAlways() );
+        runAC( unpacked());
     }
 
     public void testCategoriesACForkAlways()
@@ -81,7 +81,7 @@ public class JUnit48TestCategoriesIT
     private SurefireLauncher unpacked()
         throws VerificationException, IOException
     {
-        return unpack( "/junit48-categories" );
+        return unpack( "/junit48-categories" ); // .debugSurefireFork();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/00e31e5a/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/WorkingDirectoryIT.java
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/WorkingDirectoryIT.java b/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/WorkingDirectoryIT.java
index 9db2e6d..26848bd 100644
--- a/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/WorkingDirectoryIT.java
+++ b/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/WorkingDirectoryIT.java
@@ -115,8 +115,7 @@ public class WorkingDirectoryIT
         // test if not a symlink
         if ( childTestDir.getBaseDir().getCanonicalFile().equals( childTestDir.getBaseDir().getAbsoluteFile() ) )
         {
-            assertEquals( "wrong user.dir ! symlink ", childTestDir.getBaseDir().getAbsolutePath(),
-                          userDir.getAbsolutePath() );
+            assertTrue( "wrong user.dir ! symlink ", childTestDir.getBaseDir().getAbsolutePath().equalsIgnoreCase(userDir.getAbsolutePath()));
         }
         else
         {

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/00e31e5a/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java b/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java
index 0c0e1da..330b87e 100755
--- a/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java
+++ b/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java
@@ -25,6 +25,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+
 import org.apache.commons.lang.text.StrSubstitutor;
 import org.apache.maven.artifact.versioning.ArtifactVersion;
 import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
@@ -262,6 +263,12 @@ public class SurefireLauncher
         return this;
     }
 
+    public SurefireLauncher debugSurefireFork()
+    {
+        addD( "maven.surefire.debug", "true" );
+        return this;
+    }
+
     public SurefireLauncher failNever()
     {
         cliOptions.add( "-fn" );

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/00e31e5a/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test1.java
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test1.java b/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test1.java
index 408550b..2a0f822 100644
--- a/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test1.java
+++ b/surefire-integration-tests/src/test/resources/fork-mode-testng/src/test/java/forkMode/Test1.java
@@ -24,7 +24,7 @@ public class Test1
         throws IOException
     {
         String fileName = name + "-pid";
-        File target = new File( "target" );
+        File target = new File( "target" ).getCanonicalFile();
         if ( !( target.exists() && target.isDirectory() ) )
         {
             target = new File( "." );

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/00e31e5a/surefire-integration-tests/src/test/resources/fork-mode/src/test/java/forkMode/Test1.java
----------------------------------------------------------------------
diff --git a/surefire-integration-tests/src/test/resources/fork-mode/src/test/java/forkMode/Test1.java b/surefire-integration-tests/src/test/resources/fork-mode/src/test/java/forkMode/Test1.java
index 35f746e..01f1151 100644
--- a/surefire-integration-tests/src/test/resources/fork-mode/src/test/java/forkMode/Test1.java
+++ b/surefire-integration-tests/src/test/resources/fork-mode/src/test/java/forkMode/Test1.java
@@ -12,9 +12,9 @@ public class Test1
     extends TestCase
 {
 
-	private static final Random RANDOM = new Random();
+    private static final Random RANDOM = new Random();
 
-	public void test1()
+    public void test1()
         throws IOException
     {
         dumpPidFile( this );
@@ -24,7 +24,7 @@ public class Test1
         throws IOException
     {
         String fileName = test.getName() + "-pid";
-        File target = new File( "target" );
+        File target = new File( "target" ).getCanonicalFile();  // getCanonicalFile required for embedded mode
         if ( !( target.exists() && target.isDirectory() ) )
         {
             target = new File( "." );
@@ -39,6 +39,8 @@ public class Test1
         fw.write( System.getProperty( "testProperty", String.valueOf( RANDOM.nextLong() ) ) );
         fw.flush();
         fw.close();
+        System.out.println( "Done Writing pid file" + pidFile.getAbsolutePath() );
     }
 
+
 }

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/00e31e5a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java
index 81ea524..b2608e8 100644
--- a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java
+++ b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java
@@ -25,6 +25,7 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
+
 import org.apache.maven.surefire.common.junit4.JUnit4RunListenerFactory;
 import org.apache.maven.surefire.common.junit4.JUnit4TestChecker;
 import org.apache.maven.surefire.common.junit48.FilterFactory;
@@ -51,7 +52,7 @@ import org.junit.runner.manipulation.Filter;
 /**
  * @author Kristian Rosenvold
  */
-@SuppressWarnings( { "UnusedDeclaration" } )
+@SuppressWarnings({ "UnusedDeclaration" })
 public class JUnitCoreProvider
     extends AbstractProvider
 {