Repository: maven-surefire
Updated Branches:
  refs/heads/master 60111e78f -> 2b4629c71


SUREFIRE-1136 Current working directory propagation in forked mode - ignore 
testExceptionWhenCurrentDirectoryCannotBeCreated under certain conditions.


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

Branch: refs/heads/master
Commit: d6a8af593fc03e12ecf2dc8047669472f7ca263b
Parents: 60111e7
Author: norbertwnuk <norbert.w...@gmail.com>
Authored: Wed Jan 28 02:51:39 2015 +0100
Committer: norbertwnuk <norbert.w...@gmail.com>
Committed: Wed Jan 28 03:25:14 2015 +0100

----------------------------------------------------------------------
 .../booterclient/ForkConfigurationTest.java     | 25 +++++++++++++++-----
 1 file changed, 19 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/d6a8af59/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/ForkConfigurationTest.java
----------------------------------------------------------------------
diff --git 
a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/ForkConfigurationTest.java
 
b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/ForkConfigurationTest.java
index b3d2151..4f62670 100644
--- 
a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/ForkConfigurationTest.java
+++ 
b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/booterclient/ForkConfigurationTest.java
@@ -26,6 +26,7 @@ import java.util.Properties;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.RandomStringUtils;
+import org.apache.commons.lang3.SystemUtils;
 import org.apache.maven.shared.utils.StringUtils;
 import org.apache.maven.shared.utils.cli.Commandline;
 import org.apache.maven.surefire.booter.Classpath;
@@ -122,7 +123,9 @@ public class ForkConfigurationTest
         baseDir.mkdirs();
         baseDir.deleteOnExit();
 
-        File cwd = new File( baseDir, "?\0InvalidDirectoryName" );
+        // NULL is invalid for JDK starting from 1.7.60 - 
https://github.com/openjdk-mirror/jdk/commit/e5389115f3634d25d101e2dcc71f120d4fd9f72f
+        // ? character is invalid on Windows, seems to be imposable to create 
invalid directory using Java on Linux
+        File cwd = new File( baseDir, "?\u0000InvalidDirectoryName" );
         ForkConfiguration config = getForkConfiguration( null, "java", 
cwd.getAbsoluteFile() );
 
         try
@@ -135,7 +138,10 @@ public class ForkConfigurationTest
             return;
         }
 
-        fail();
+        if ( SystemUtils.IS_OS_WINDOWS || isJavaVersionAtLeast( 7, 60 ) )
+        {
+            fail();
+        }
     }
 
     private File getTempClasspathFile()
@@ -147,10 +153,10 @@ public class ForkConfigurationTest
     }
 
     public static ForkConfiguration getForkConfiguration( String argLine, 
String jvm )
-    throws IOException
-{
-    return getForkConfiguration( argLine, jvm, new File( "." 
).getCanonicalFile() );
-}
+        throws IOException
+    {
+        return getForkConfiguration( argLine, jvm, new File( "." 
).getCanonicalFile() );
+    }
 
     public static ForkConfiguration getForkConfiguration( String argLine, 
String jvm, File cwd )
         throws IOException
@@ -159,4 +165,11 @@ public class ForkConfigurationTest
                                       false, 1, false );
     }
 
+    // based on 
http://stackoverflow.com/questions/2591083/getting-version-of-java-in-runtime
+    private boolean isJavaVersionAtLeast( int major, int update )
+    {
+        String[] javaVersionElements = System.getProperty( 
"java.runtime.version" ).split( "\\.|_|-b" );
+        return Integer.valueOf( javaVersionElements[1] ) >= major
+            && Integer.valueOf( javaVersionElements[4] ) >= update;
+    }
 }

Reply via email to