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 jv...@apache.org on 2005/12/11 19:01:06 UTC

svn commit: r355984 - in /maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire: ForkedSurefireRunner.java SurefireBooter.java

Author: jvanzyl
Date: Sun Dec 11 10:01:03 2005
New Revision: 355984

URL: http://svn.apache.org/viewcvs?rev=355984&view=rev
Log:
o adding system property handling

Modified:
    maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/ForkedSurefireRunner.java
    maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/SurefireBooter.java

Modified: maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/ForkedSurefireRunner.java
URL: http://svn.apache.org/viewcvs/maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/ForkedSurefireRunner.java?rev=355984&r1=355983&r2=355984&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/ForkedSurefireRunner.java (original)
+++ maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/ForkedSurefireRunner.java Sun Dec 11 10:01:03 2005
@@ -68,6 +68,9 @@
             String[] mapArgs = args[i].split( "=" );
 
             argMap.put( mapArgs[0], mapArgs[1] );
+
+            System.out.println( "mapArgs[0] = " + mapArgs[0] );
+            System.out.println( "mapArgs[1] = " + mapArgs[1] );
         }
 
         return argMap;

Modified: maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/SurefireBooter.java
URL: http://svn.apache.org/viewcvs/maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/SurefireBooter.java?rev=355984&r1=355983&r2=355984&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/SurefireBooter.java (original)
+++ maven/surefire/trunk/surefire-booter/src/main/java/org/apache/maven/surefire/SurefireBooter.java Sun Dec 11 10:01:03 2005
@@ -29,9 +29,13 @@
 import java.io.StringWriter;
 import java.io.Writer;
 import java.lang.reflect.Method;
+import java.lang.reflect.Array;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Properties;
+import java.util.Enumeration;
+import java.util.Arrays;
 
 /**
  * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
@@ -64,6 +68,8 @@
 
     private String jvm;
 
+    private Properties systemProperties;
+
     private String argLine;
 
     // ----------------------------------------------------------------------
@@ -122,6 +128,11 @@
         this.jvm = jvm;
     }
 
+    public void setSystemProperties( Properties systemProperties )
+    {
+        this.systemProperties = systemProperties;
+    }
+
     public void setArgLine( String argLine )
     {
         this.argLine = argLine;
@@ -239,14 +250,7 @@
 
         cli.addArguments( args );
 
-        String[] s = cli.getShellCommandline();
-
-        for ( int i = 0; i < s.length; i++ )
-        {
-            System.out.println( s[i] + " " );
-        }
-
-        System.out.println();
+        System.out.println( Commandline.toString( cli.getCommandline() ) );
 
         Writer stringWriter = new StringWriter();
 
@@ -262,10 +266,14 @@
         }
         catch ( CommandLineException e )
         {
+            e.printStackTrace();
+
             throw new Exception( "Error while executing forked tests.", e );
         }
         catch ( Exception e )
         {
+            e.printStackTrace();
+
             throw new SurefireBooterForkException( "Error while executing forked tests.", e );
         }
 
@@ -333,23 +341,52 @@
     private String[] getForkArgs( String batteryConfig )
         throws Exception
     {
-        //String classpathEntries =  quotedPathArgument( makeClasspath( classpathUrls ) );
+        String reportClassNames = getListOfStringsAsString( reports, "," );
 
-        String classpathEntries =  makeClasspath( classpathUrls );
+        String classpathEntries = makeClasspath( classpathUrls );
 
-        String reportClassNames = getListOfStringsAsString( reports, "," );
+        List args = new ArrayList();
 
-        return new String[]
+        args.add( "-classpath" );
+
+        args.add( classpathEntries );
+
+        // ----------------------------------------------------------------------
+        // Add some system propeties
+        // ----------------------------------------------------------------------
+
+        if ( systemProperties != null )
+        {
+            Enumeration propertyKeys = systemProperties.propertyNames();
+
+            while ( propertyKeys.hasMoreElements() )
             {
-                "-classpath",
-                classpathEntries,
-                RUNNER,
-                "reportClassNames=" + reportClassNames,
-                "reportsDirectory=" + reportsDirectory,
-                "batteryExecutorName=" + BATTERY_EXECUTOR,
-                "forkMode=" + forkMode,
-                "batteryConfig=" + batteryConfig
-            };
+                String key = (String) propertyKeys.nextElement();
+
+                args.add( "-D" + key + "=" + systemProperties.getProperty( key ) );
+            }
+        }
+
+        args.add( RUNNER );
+
+        args.add( "reportClassNames=" + reportClassNames );
+
+        args.add( "reportsDirectory=" + reportsDirectory );
+
+        args.add( "batteryExecutorName=" + BATTERY_EXECUTOR );
+
+        args.add( "forkMode=" + forkMode );
+
+        args.add( "batteryConfig=" + batteryConfig );
+
+        String[] s = new String[args.size()];
+
+        for ( int i = 0; i < s.length; i++ )
+        {
+            s[i] = (String) args.get( i );
+        }
+
+        return s;
     }
 
     public void reset()
@@ -387,7 +424,7 @@
         return value;
     }
 
-    private String getListOfStringsAsString( List listOfStrings, String delimiterParm )
+    private String getListOfStringsAsString ( List listOfStrings, String delimiterParm )
     {
         StringBuffer stringBuffer = new StringBuffer();