Index: maven-components/m2-bootstrap-all.sh
===================================================================
--- maven-components.orig/m2-bootstrap-all.sh	2005-10-11 14:12:15.000000000 +0200
+++ maven-components/m2-bootstrap-all.sh	2005-10-12 11:06:23.000000000 +0200
@@ -67,7 +67,7 @@
   echo
   echo "Running maven-core integration tests ..."
   echo 
-  ./maven-core-it.sh
+  ./maven-core-it.sh $ARGS
   ret=$?; if [ $ret != 0 ]; then exit $ret; fi
 )
 ret=$?; if [ $ret != 0 ]; then exit $ret; fi
Index: maven-components/m2-bootstrap-all.bat
===================================================================
--- maven-components.orig/m2-bootstrap-all.bat	2005-10-07 13:39:41.000000000 +0200
+++ maven-components/m2-bootstrap-all.bat	2005-10-12 11:25:50.000000000 +0200
@@ -130,7 +130,7 @@
 echo Running integration tests
 echo -----------------------------------------------------------------------
 cd maven-core-it
-call maven-core-it
+call maven-core-it %MAVEN_CMD_LINE_ARGS%
 cd ..
 
 :end
Index: maven-components/maven-core-it-verifier/src/main/java/org/apache/maven/it/Verifier.java
===================================================================
--- maven-components.orig/maven-core-it-verifier/src/main/java/org/apache/maven/it/Verifier.java	2005-10-07 13:35:11.000000000 +0200
+++ maven-components/maven-core-it-verifier/src/main/java/org/apache/maven/it/Verifier.java	2005-10-12 11:38:15.000000000 +0200
@@ -406,7 +406,7 @@
         }
     }
 
-    private static String retrieveLocalRepo()
+    private static String retrieveLocalRepo( String[] args )
     {
         String repo = System.getProperty( "maven.repo.local" );
 
@@ -418,7 +418,18 @@
             {
                 String userHome = System.getProperty( "user.home" );
 
-                File userXml = new File( userHome, ".m2/settings.xml" );
+                String settingsXmlPath = getSettingsPath( args );
+
+                File userXml;
+
+                if ( settingsXmlPath != null )
+                {
+                     System.out.println( "Using settings from " + settingsXmlPath );
+                     userXml = new File( settingsXmlPath );
+                } else
+                {
+                     userXml = new File( userHome, ".m2/settings.xml" );
+                }
 
                 if ( userXml.exists() )
                 {
@@ -725,6 +736,23 @@
         }
     }
 
+
+    private static String getSettingsPath( String[] args )
+        throws Exception
+    {
+        for ( int i = 0; i < args.length; i++ ) {
+            if ( args[ i ].equals( "-s" ) )
+            {
+                if ( i == args.length - 1 )
+                {
+                    throw new Exception( "missing argument to -s" );
+                }
+                return args[ i + 1 ];
+            }
+        }
+        return null;
+    }
+
     // ----------------------------------------------------------------------
     //
     // ----------------------------------------------------------------------
@@ -733,11 +761,28 @@
     {
         String basedir = System.getProperty( "user.dir" );
 
-        localRepo = retrieveLocalRepo();
+        localRepo = retrieveLocalRepo( args );
 
         List tests = null;
 
-        if ( args.length == 0 )
+        List argsList = new ArrayList();
+
+        // skip options
+        for ( int i = 0; i < args.length; i++ ) {
+            if ( args[ i ].equals( "-s" ) )
+            {
+                if ( i == args.length - 1 )
+                {
+                    // should have been detected before
+                    throw new IllegalStateException( "missing argument to -s" );
+                }
+                i +=1;
+                continue;
+            }
+            argsList.add( args[ i ] );
+        }
+        
+        if ( argsList.size() == 0 )
         {
             try
             {
@@ -754,11 +799,11 @@
         }
         else
         {
-            tests = new ArrayList( args.length );
+            tests = new ArrayList( argsList.size() );
             NumberFormat fmt = new DecimalFormat( "0000" );
-            for ( int i = 0; i < args.length; i++ )
+            for ( int i = 0; i < argsList.size(); i++ )
             {
-                String test = args[i];
+                String test = (String) argsList.get( i );
                 if ( test.endsWith( "," ) )
                 {
                     test = test.substring( 0, test.length() - 1 );

