Author: vsiveton Date: Thu Aug 21 04:12:33 2008 New Revision: 687713 URL: http://svn.apache.org/viewvc?rev=687713&view=rev Log: SCM-405: 'cvs' and 'svnadmin' tools are requirements to run tests
o add a validation on system command in tests Modified: maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/BranchMojoTest.java maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ChangeLogMojoTest.java maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/StatusMojoTest.java maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/TagMojoTest.java maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/UpdateMojoTest.java maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/CvsScmTestUtils.java maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogCommandTest.java maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckoutCommandTest.java maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTest.java maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/SvnScmTestUtils.java maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java Modified: maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/BranchMojoTest.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/BranchMojoTest.java?rev=687713&r1=687712&r2=687713&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/BranchMojoTest.java (original) +++ maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/BranchMojoTest.java Thu Aug 21 04:12:33 2008 @@ -20,6 +20,7 @@ */ import org.apache.maven.plugin.testing.AbstractMojoTestCase; +import org.apache.maven.scm.ScmTestCase; import org.apache.maven.scm.provider.svn.SvnScmTestUtils; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.StringUtils; @@ -50,6 +51,13 @@ FileUtils.forceDelete( repository ); + if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) ) + { + System.err.println( "'" + SvnScmTestUtils.SVNADMIN_COMMAND_LINE + + "' is not a system command. Ignored setUp." ); + return; + } + SvnScmTestUtils.initializeRepository( repository ); CheckoutMojo checkoutMojo = (CheckoutMojo) lookupMojo( "checkout", getTestFile( @@ -69,6 +77,13 @@ public void testBranch() throws Exception { + if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) ) + { + System.err.println( "'" + SvnScmTestUtils.SVN_COMMAND_LINE + + "' is not a system command. Ignored " + getName() + "." ); + return; + } + BranchMojo mojo = (BranchMojo) lookupMojo( "branch", getTestFile( "src/test/resources/mojos/branch/branch.xml" ) ); mojo.setWorkingDirectory( checkoutDir ); Modified: maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ChangeLogMojoTest.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ChangeLogMojoTest.java?rev=687713&r1=687712&r2=687713&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ChangeLogMojoTest.java (original) +++ maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ChangeLogMojoTest.java Thu Aug 21 04:12:33 2008 @@ -21,6 +21,7 @@ import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.testing.AbstractMojoTestCase; +import org.apache.maven.scm.ScmTestCase; import org.apache.maven.scm.provider.svn.SvnScmTestUtils; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.StringUtils; @@ -45,12 +46,26 @@ FileUtils.forceDelete( repository ); + if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) ) + { + System.err.println( "'" + SvnScmTestUtils.SVNADMIN_COMMAND_LINE + + "' is not a system command. Ignored setUp." ); + return; + } + SvnScmTestUtils.initializeRepository( repository ); } public void testChangeLog() throws Exception { + if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) ) + { + System.err.println( "'" + SvnScmTestUtils.SVN_COMMAND_LINE + + "' is not a system command. Ignored " + getName() + "." ); + return; + } + ChangeLogMojo mojo = (ChangeLogMojo) lookupMojo( "changelog", getTestFile( "src/test/resources/mojos/changelog/changelog.xml" ) ); @@ -67,6 +82,13 @@ public void testChangeLogWithParameters() throws Exception { + if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) ) + { + System.err.println( "'" + SvnScmTestUtils.SVN_COMMAND_LINE + + "' is not a system command. Ignored " + getName() + "." ); + return; + } + ChangeLogMojo mojo = (ChangeLogMojo) lookupMojo( "changelog", getTestFile( "src/test/resources/mojos/changelog/changelogWithParameters.xml" ) ); Modified: maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java?rev=687713&r1=687712&r2=687713&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java (original) +++ maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java Thu Aug 21 04:12:33 2008 @@ -21,6 +21,7 @@ import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.testing.AbstractMojoTestCase; +import org.apache.maven.scm.ScmTestCase; import org.apache.maven.scm.provider.svn.SvnScmTestUtils; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.StringUtils; @@ -68,6 +69,13 @@ public void testSkipCheckoutWithConnectionUrl() throws Exception { + if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) ) + { + System.err.println( "'" + SvnScmTestUtils.SVNADMIN_COMMAND_LINE + + "' is not a system command. Ignored " + getName() + "." ); + return; + } + SvnScmTestUtils.initializeRepository( repository ); CheckoutMojo mojo = (CheckoutMojo) lookupMojo( "checkout", getTestFile( Modified: maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/StatusMojoTest.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/StatusMojoTest.java?rev=687713&r1=687712&r2=687713&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/StatusMojoTest.java (original) +++ maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/StatusMojoTest.java Thu Aug 21 04:12:33 2008 @@ -20,6 +20,8 @@ */ import org.apache.maven.plugin.testing.AbstractMojoTestCase; +import org.apache.maven.scm.ScmTestCase; +import org.apache.maven.scm.provider.svn.SvnScmTestUtils; import java.io.File; @@ -33,6 +35,13 @@ public void testStatusMojo() throws Exception { + if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) ) + { + System.err.println( "'" + SvnScmTestUtils.SVN_COMMAND_LINE + + "' is not a system command. Ignored " + getName() + "." ); + return; + } + StatusMojo mojo = (StatusMojo) lookupMojo( "status", getTestFile( "src/test/resources/mojos/status/status.xml" ) ); Modified: maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/TagMojoTest.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/TagMojoTest.java?rev=687713&r1=687712&r2=687713&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/TagMojoTest.java (original) +++ maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/TagMojoTest.java Thu Aug 21 04:12:33 2008 @@ -20,6 +20,7 @@ */ import org.apache.maven.plugin.testing.AbstractMojoTestCase; +import org.apache.maven.scm.ScmTestCase; import org.apache.maven.scm.provider.svn.SvnScmTestUtils; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.StringUtils; @@ -50,6 +51,13 @@ FileUtils.forceDelete( repository ); + if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) ) + { + System.err.println( "'" + SvnScmTestUtils.SVNADMIN_COMMAND_LINE + + "' is not a system command. Ignored setUp." ); + return; + } + SvnScmTestUtils.initializeRepository( repository ); CheckoutMojo checkoutMojo = (CheckoutMojo) lookupMojo( "checkout", getTestFile( @@ -69,6 +77,13 @@ public void testTag() throws Exception { + if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) ) + { + System.err.println( "'" + SvnScmTestUtils.SVNADMIN_COMMAND_LINE + + "' is not a system command. Ignored " + getName() + "." ); + return; + } + TagMojo mojo = (TagMojo) lookupMojo( "tag", getTestFile( "src/test/resources/mojos/tag/tag.xml" ) ); mojo.setWorkingDirectory( checkoutDir ); @@ -79,6 +94,13 @@ mojo.execute(); + if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) ) + { + System.err.println( "'" + SvnScmTestUtils.SVN_COMMAND_LINE + + "' is not a system command. Ignored " + getName() + "." ); + return; + } + CheckoutMojo checkoutMojo = (CheckoutMojo) lookupMojo( "checkout", getTestFile( "src/test/resources/mojos/tag/checkout.xml" ) ); checkoutMojo.setWorkingDirectory( new File( getBasedir() ) ); @@ -103,6 +125,13 @@ public void testTagWithTimestamp() throws Exception { + if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) ) + { + System.err.println( "'" + SvnScmTestUtils.SVN_COMMAND_LINE + + "' is not a system command. Ignored " + getName() + "." ); + return; + } + TagMojo mojo = (TagMojo) lookupMojo( "tag", getTestFile( "src/test/resources/mojos/tag/tagWithTimestamp.xml" ) ); mojo.setWorkingDirectory( checkoutDir ); Modified: maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/UpdateMojoTest.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/UpdateMojoTest.java?rev=687713&r1=687712&r2=687713&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/UpdateMojoTest.java (original) +++ maven/scm/trunk/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/UpdateMojoTest.java Thu Aug 21 04:12:33 2008 @@ -20,6 +20,7 @@ */ import org.apache.maven.plugin.testing.AbstractMojoTestCase; +import org.apache.maven.scm.ScmTestCase; import org.apache.maven.scm.provider.svn.SvnScmTestUtils; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.StringUtils; @@ -52,6 +53,13 @@ public void testSkipCheckoutWithConnectionUrl() throws Exception { + if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) ) + { + System.err.println( "'" + SvnScmTestUtils.SVNADMIN_COMMAND_LINE + + "' is not a system command. Ignored " + getName() + "." ); + return; + } + SvnScmTestUtils.initializeRepository( repository ); CheckoutMojo checkoutMojo = (CheckoutMojo) lookupMojo( "checkout", getTestFile( Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/CvsScmTestUtils.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/CvsScmTestUtils.java?rev=687713&r1=687712&r2=687713&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/CvsScmTestUtils.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/CvsScmTestUtils.java Thu Aug 21 04:12:33 2008 @@ -33,6 +33,9 @@ */ public final class CvsScmTestUtils { + /** 'cvs' command line */ + public static final String CVS_COMMAND_LINE = "cvs"; + private CvsScmTestUtils() { } @@ -45,7 +48,7 @@ public static void executeCVS( File workingDirectory, String arguments ) throws Exception { - ScmTestCase.execute( workingDirectory, "cvs", arguments ); + ScmTestCase.execute( workingDirectory, CVS_COMMAND_LINE, arguments ); } public static void initRepo( File repository, File workingDirectory, File assertionDirectory ) Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogCommandTest.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogCommandTest.java?rev=687713&r1=687712&r2=687713&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogCommandTest.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogCommandTest.java Thu Aug 21 04:12:33 2008 @@ -74,6 +74,13 @@ private void testChangeLog( Date startDate, Date endDate, int changeLogSize, String branch ) throws Exception { + if ( !isSystemCmd( CvsScmTestUtils.CVS_COMMAND_LINE ) ) + { + System.err.println( "'" + CvsScmTestUtils.CVS_COMMAND_LINE + "' is not a system command. Ignored " + + getName() + "." ); + return; + } + ScmManager scmManager = getScmManager(); CvsScmTestUtils.executeCVS( getWorkingDirectory(), Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckoutCommandTest.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckoutCommandTest.java?rev=687713&r1=687712&r2=687713&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckoutCommandTest.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckoutCommandTest.java Thu Aug 21 04:12:33 2008 @@ -24,6 +24,7 @@ import org.apache.maven.scm.command.checkout.CheckOutScmResult; import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.provider.cvslib.AbstractCvsScmTest; +import org.apache.maven.scm.provider.cvslib.CvsScmTestUtils; import java.io.File; import java.util.List; @@ -48,6 +49,13 @@ public void testCheckOutWithoutTag() throws Exception { + if ( !isSystemCmd( CvsScmTestUtils.CVS_COMMAND_LINE ) ) + { + System.err.println( "'" + CvsScmTestUtils.CVS_COMMAND_LINE + "' is not a system command. Ignored " + + getName() + "." ); + return; + } + ScmManager scmManager = getScmManager(); CheckOutScmResult result = scmManager.checkOut( getScmRepository(), getScmFileSet() ); @@ -76,6 +84,13 @@ public void testCheckOutWithTag() throws Exception { + if ( !isSystemCmd( CvsScmTestUtils.CVS_COMMAND_LINE ) ) + { + System.err.println( "'" + CvsScmTestUtils.CVS_COMMAND_LINE + "' is not a system command. Ignored " + + getName() + "." ); + return; + } + ScmManager scmManager = getScmManager(); CheckOutScmResult result = scmManager.getProviderByRepository( getScmRepository() ).checkOut( Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTest.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTest.java?rev=687713&r1=687712&r2=687713&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTest.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTest.java Thu Aug 21 04:12:33 2008 @@ -73,6 +73,13 @@ public void testCvsUpdate() throws Exception { + if ( !isSystemCmd( CvsScmTestUtils.CVS_COMMAND_LINE ) ) + { + System.err.println( "'" + CvsScmTestUtils.CVS_COMMAND_LINE + "' is not a system command. Ignored " + + getName() + "." ); + return; + } + ScmManager scmManager = getScmManager(); String scmUrl = CvsScmTestUtils.getScmUrl( repository, getModule() ); Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/SvnScmTestUtils.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/SvnScmTestUtils.java?rev=687713&r1=687712&r2=687713&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/SvnScmTestUtils.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/SvnScmTestUtils.java Thu Aug 21 04:12:33 2008 @@ -37,6 +37,12 @@ */ public final class SvnScmTestUtils { + /** 'svn' command line */ + public static final String SVN_COMMAND_LINE = "svn"; + + /** 'svnadmin' command line */ + public static final String SVNADMIN_COMMAND_LINE = "svnadmin"; + private SvnScmTestUtils() { } @@ -52,7 +58,7 @@ Assert.assertTrue( "Could not make repository root directory: " + repositoryRoot.getAbsolutePath(), repositoryRoot.mkdirs() ); - ScmTestCase.execute( repositoryRoot.getParentFile(), "svnadmin", "create " + repositoryRoot.getName() ); + ScmTestCase.execute( repositoryRoot.getParentFile(), SVNADMIN_COMMAND_LINE, "create " + repositoryRoot.getName() ); loadSvnDump( repositoryRoot, new SvnScmTestUtils().getClass().getClassLoader().getResourceAsStream( "tck/tck.dump" ) ); @@ -69,7 +75,7 @@ Assert.assertTrue( "Could not make repository root directory: " + repositoryRoot.getAbsolutePath(), repositoryRoot.mkdirs() ); - ScmTestCase.execute( repositoryRoot.getParentFile(), "svnadmin", "create " + repositoryRoot.getName() ); + ScmTestCase.execute( repositoryRoot.getParentFile(), SVNADMIN_COMMAND_LINE, "create " + repositoryRoot.getName() ); Assert.assertTrue( "The dump file doesn't exist: " + dump.getAbsolutePath(), dump.exists() ); @@ -81,7 +87,7 @@ { Commandline cl = new Commandline(); - cl.setExecutable( "svnadmin" ); + cl.setExecutable( SVNADMIN_COMMAND_LINE ); cl.setWorkingDirectory( repositoryRoot.getParentFile().getAbsolutePath() ); Modified: maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java?rev=687713&r1=687712&r2=687713&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java (original) +++ maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java Thu Aug 21 04:12:33 2008 @@ -206,6 +206,16 @@ ScmTestCase.debugExecute = debugExecute; } + /** + * Execute the command line + * + * @param workingDirectory not null + * @param executable not null, should be a system command + * @param arguments not null + * @throws Exception if any + * @see CommandLineUtils#executeCommandLine(Commandline, org.codehaus.plexus.util.cli.StreamConsumer, + * org.codehaus.plexus.util.cli.StreamConsumer) + */ public static void execute( File workingDirectory, String executable, String arguments ) throws Exception { @@ -316,4 +326,23 @@ } assertEquals( cl.toString(), actualCommand.toString() ); } + + /** + * + * @param cmd the executable to run, not null. + * @return <code>true</code> + */ + public static boolean isSystemCmd( String cmd ) + { + try + { + Runtime.getRuntime().exec( cmd ); + + return true; + } + catch ( IOException e ) + { + return false; + } + } }