You are viewing a plain text version of this content. The canonical link for it is here.
Posted to surefire-commits@maven.apache.org by df...@apache.org on 2007/12/10 23:43:44 UTC

svn commit: r603083 - in /maven/surefire/trunk: maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/ surefire-api/src/main/java/org/apache/maven/surefire/util/ surefire-api/src/test/java/org/apache/maven/surefire/util/ surefire-integra...

Author: dfabulich
Date: Mon Dec 10 14:43:43 2007
New Revision: 603083

URL: http://svn.apache.org/viewvc?rev=603083&view=rev
Log:
[SUREFIRE-405] Make useSystemClassLoader the default.  This turned up a bug in UrlUtils/UmlautDirTest that only occurs when useSystemClassLoader=true, which I have also fixed in this check-in.

Added:
    maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TestUseIsolatedClassLoader.java
      - copied, changed from r602310, maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TestUseSystemClassLoader.java
    maven/surefire/trunk/surefire-integration-tests/src/test/resources/isolated-classloader/
      - copied from r602310, maven/surefire/trunk/surefire-integration-tests/src/test/resources/system-classloader/
    maven/surefire/trunk/surefire-integration-tests/src/test/resources/isolated-classloader/src/test/java/isolatedClassloader/
    maven/surefire/trunk/surefire-integration-tests/src/test/resources/isolated-classloader/src/test/java/isolatedClassloader/BasicTest.java
Removed:
    maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TestUseSystemClassLoader.java
    maven/surefire/trunk/surefire-integration-tests/src/test/resources/isolated-classloader/src/test/java/systemClassloader/
    maven/surefire/trunk/surefire-integration-tests/src/test/resources/system-classloader/
Modified:
    maven/surefire/trunk/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java
    maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/util/UrlUtils.java
    maven/surefire/trunk/surefire-api/src/test/java/org/apache/maven/surefire/util/UrlUtilsTest.java
    maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/PlexusConflictTest.java
    maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/UmlautDirTest.java
    maven/surefire/trunk/surefire-integration-tests/src/test/resources/isolated-classloader/pom.xml

Modified: maven/surefire/trunk/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java?rev=603083&r1=603082&r2=603083&view=diff
==============================================================================
--- maven/surefire/trunk/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java (original)
+++ maven/surefire/trunk/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java Mon Dec 10 14:43:43 2007
@@ -442,7 +442,7 @@
      * Prevents problems with JDKs which implement the service provider lookup mechanism by using the system's
      * classloader.
      * 
-     * @parameter expression="${surefire.useSystemClassLoader}" default-value="false"
+     * @parameter expression="${surefire.useSystemClassLoader}" default-value="true"
      */
     private boolean useSystemClassLoader;
 

Modified: maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/util/UrlUtils.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/util/UrlUtils.java?rev=603083&r1=603082&r2=603083&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/util/UrlUtils.java (original)
+++ maven/surefire/trunk/surefire-api/src/main/java/org/apache/maven/surefire/util/UrlUtils.java Mon Dec 10 14:43:43 2007
@@ -36,6 +36,6 @@
         // encode any characters that do not comply with RFC 2396
         // this is primarily to handle Windows where the user's home directory contains spaces
         
-        return file.toURI().toURL();
+        return new URL( file.toURI().toASCIIString() );
     }
 }

Modified: maven/surefire/trunk/surefire-api/src/test/java/org/apache/maven/surefire/util/UrlUtilsTest.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-api/src/test/java/org/apache/maven/surefire/util/UrlUtilsTest.java?rev=603083&r1=603082&r2=603083&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-api/src/test/java/org/apache/maven/surefire/util/UrlUtilsTest.java (original)
+++ maven/surefire/trunk/surefire-api/src/test/java/org/apache/maven/surefire/util/UrlUtilsTest.java Mon Dec 10 14:43:43 2007
@@ -70,7 +70,7 @@
         throws IOException
     {
         File f = new File( homeDir, "foÜ.txt" );
-        assertEquals( new URL( "file:" + homeDir + "/foÜ.txt" ), UrlUtils.getURL( f ) );
+        assertEquals( new URL( "file:" + homeDir + "/fo%C3%9C.txt" ), UrlUtils.getURL( f ) );
     }
 
 }

Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/PlexusConflictTest.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/PlexusConflictTest.java?rev=603083&r1=603082&r2=603083&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/PlexusConflictTest.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/PlexusConflictTest.java Mon Dec 10 14:43:43 2007
@@ -29,7 +29,7 @@
         HelperAssertions.assertTestSuiteResults( 1, 0, 0, 0, testDir );
     }
 
-    public void testPlexusConflictSystemClassLoader ()
+    public void testPlexusConflictIsolatedClassLoader ()
         throws Exception
     {
         File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/plexus-conflict" );
@@ -37,7 +37,7 @@
         Verifier verifier = new Verifier( testDir.getAbsolutePath() );
         ArrayList goals = new ArrayList();
         goals.add( "test" );
-        goals.add( "-Dsurefire.useSystemClassLoader=true" );
+        goals.add( "-Dsurefire.useSystemClassLoader=false" );
         verifier.executeGoals( goals );
         verifier.verifyErrorFreeLog();
         verifier.resetStreams();

Copied: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TestUseIsolatedClassLoader.java (from r602310, maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TestUseSystemClassLoader.java)
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TestUseIsolatedClassLoader.java?p2=maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TestUseIsolatedClassLoader.java&p1=maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TestUseSystemClassLoader.java&r1=602310&r2=603083&rev=603083&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TestUseSystemClassLoader.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TestUseIsolatedClassLoader.java Mon Dec 10 14:43:43 2007
@@ -12,13 +12,13 @@
  * @author <a href="mailto:dfabulich@apache.org">Dan Fabulich</a>
  * 
  */
-public class TestUseSystemClassLoader
+public class TestUseIsolatedClassLoader
     extends AbstractMavenIntegrationTestCase
 {
     public void testUseSystemClassLoader ()
         throws Exception
     {
-        File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/system-classloader" );
+        File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/isolated-classloader" );
 
         Verifier verifier = new Verifier( testDir.getAbsolutePath() );
         verifier.executeGoal( "test" );

Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/UmlautDirTest.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/UmlautDirTest.java?rev=603083&r1=603082&r2=603083&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/UmlautDirTest.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/UmlautDirTest.java Mon Dec 10 14:43:43 2007
@@ -1,14 +1,15 @@
 package org.apache.maven.surefire.its;
 
 
-
-import java.io.File;
-
 import org.apache.maven.integrationtests.AbstractMavenIntegrationTestCase;
 import org.apache.maven.it.Verifier;
 import org.apache.maven.it.util.FileUtils;
 import org.apache.maven.it.util.ResourceExtractor;
 
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+
 /**
  * Test a directory with an umlaut Ü
  * 
@@ -18,24 +19,44 @@
 public class UmlautDirTest
     extends AbstractMavenIntegrationTestCase
 {
+    File testDir;
+
     public void testUmlaut ()
         throws Exception
     {
+        Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+        verifier.executeGoal( "test" );
+        verifier.verifyErrorFreeLog();
+        verifier.resetStreams();
+        
+        HelperAssertions.assertTestSuiteResults( 1, 0, 0, 0, testDir );
+    }
+
+    public void testUmlautIsolatedClassLoader ()
+        throws Exception
+    {
+        Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+        ArrayList goals = new ArrayList();
+        goals.add( "test" );
+        goals.add( "-DuseSystemClassLoader=false" );
+        verifier.executeGoals( goals );
+        verifier.verifyErrorFreeLog();
+        verifier.resetStreams();
+
+        HelperAssertions.assertTestSuiteResults( 1, 0, 0, 0, testDir );
+    }
+
+    public void setUp()
+        throws IOException
+    {
         String tempDirPath = System.getProperty( "maven.test.tmpdir", System.getProperty( "java.io.tmpdir" ) );
         File tempDir = new File(tempDirPath);
         File targetDir = new File("target").getAbsoluteFile();
         if (targetDir.exists() && targetDir.isDirectory()) {
             tempDir = targetDir;
         }
-        File testDir = new File( tempDir, "/junit-pathWithÜmlaut" );
+        testDir = new File( tempDir, "/junit-pathWithÜmlaut" );
         FileUtils.deleteDirectory( testDir );
         testDir = ResourceExtractor.extractResourcePath(getClass(), "/junit-pathWithUmlaut", testDir, true);
-
-        Verifier verifier = new Verifier( testDir.getAbsolutePath() );
-        verifier.executeGoal( "test" );
-        verifier.verifyErrorFreeLog();
-        verifier.resetStreams();
-        
-        HelperAssertions.assertTestSuiteResults( 1, 0, 0, 0, testDir );
     }
 }

Modified: maven/surefire/trunk/surefire-integration-tests/src/test/resources/isolated-classloader/pom.xml
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/isolated-classloader/pom.xml?rev=603083&r1=602310&r2=603083&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/resources/isolated-classloader/pom.xml (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/resources/isolated-classloader/pom.xml Mon Dec 10 14:43:43 2007
@@ -24,9 +24,9 @@
   <modelVersion>4.0.0</modelVersion>
 
   <groupId>org.apache.maven.plugins.surefire</groupId>
-  <artifactId>system-classloader</artifactId>
+  <artifactId>isolated-classloader</artifactId>
   <version>1.0-SNAPSHOT</version>
-  <name>Test for useSystemClassLoader</name>
+  <name>Test for useSystemClassLoader=false</name>
 
 
   <build>
@@ -34,7 +34,7 @@
       <plugin>
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
-          <useSystemClassLoader>true</useSystemClassLoader>
+          <useSystemClassLoader>false</useSystemClassLoader>
         </configuration>
       </plugin>
     </plugins>

Added: maven/surefire/trunk/surefire-integration-tests/src/test/resources/isolated-classloader/src/test/java/isolatedClassloader/BasicTest.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/isolated-classloader/src/test/java/isolatedClassloader/BasicTest.java?rev=603083&view=auto
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/resources/isolated-classloader/src/test/java/isolatedClassloader/BasicTest.java (added)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/resources/isolated-classloader/src/test/java/isolatedClassloader/BasicTest.java Mon Dec 10 14:43:43 2007
@@ -0,0 +1,68 @@
+package isolatedClassloader;
+
+import junit.extensions.TestSetup;
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+public class BasicTest
+    extends TestCase
+{
+
+    private boolean setUpCalled = false;
+
+    private static boolean tearDownCalled = false;
+
+    public BasicTest( String name, String extraName )
+    {
+        super( name );
+    }
+
+    public static Test suite()
+    {
+        TestSuite suite = new TestSuite();
+        Test test = new BasicTest( "testSetUp", "dummy" );
+        suite.addTest( test );
+        TestSetup setup = new TestSetup( suite )
+        {
+
+            protected void setUp()
+            {
+                //oneTimeSetUp();
+            }
+
+            protected void tearDown()
+            {
+                oneTimeTearDown();
+            }
+
+        };
+
+        return setup;
+    }
+
+    protected void setUp()
+    {
+        setUpCalled = true;
+        tearDownCalled = false;
+        System.out.println( "Called setUp" );
+    }
+
+    protected void tearDown()
+    {
+        setUpCalled = false;
+        tearDownCalled = true;
+        System.out.println( "Called tearDown" );
+    }
+
+    public void testSetUp()
+    {
+        assertTrue( "setUp was not called", setUpCalled );
+    }
+
+    public static void oneTimeTearDown()
+    {
+        assertTrue( "tearDown was not called", tearDownCalled );
+    }
+
+}