You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2022/05/25 22:50:55 UTC
[maven-scm] 01/01: [SCM-989] Tests fail if svn and/or git are not installed
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch SCM-939
in repository https://gitbox.apache.org/repos/asf/maven-scm.git
commit 262e8afc6e79b63a5c5e0e57de2cbf9434c7d7ee
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Wed May 25 23:58:05 2022 +0200
[SCM-989] Tests fail if svn and/or git are not installed
This closes #149
---
.../apache/maven/scm/plugin/BranchMojoTest.java | 6 +++++
.../apache/maven/scm/plugin/CheckoutMojoTest.java | 24 +++++++++++++++++
.../apache/maven/scm/plugin/ExportMojoTest.java | 31 +++++++++++++++++++---
.../org/apache/maven/scm/plugin/TagMojoTest.java | 23 +++++++++++++++-
.../org/apache/maven/scm/plugin/UntagMojoTest.java | 12 +++++++++
.../apache/maven/scm/plugin/UpdateMojoTest.java | 6 +++++
.../checkin/GitCheckInCommandNoBranchTest.java | 9 +++----
.../command/checkin/GitCheckInCommandTest.java | 14 +++-------
.../GitExeCheckOutCommandNoBranchTest.java | 14 +++-------
.../gitexe/command/info/GitInfoCommandTest.java | 10 +++++++
.../command/list/SvnExeListCommandTckTest.java | 7 +++++
.../remoteinfo/SvnRemoteInfoCommandTest.java | 6 +++++
.../java/org/apache/maven/scm/ScmTestCase.java | 7 +++++
13 files changed, 140 insertions(+), 29 deletions(-)
diff --git a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/BranchMojoTest.java b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/BranchMojoTest.java
index ef7884782..d8be9105a 100644
--- a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/BranchMojoTest.java
+++ b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/BranchMojoTest.java
@@ -59,6 +59,12 @@ public class BranchMojoTest
SvnScmTestUtils.initializeRepository( repository );
+ if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) )
+ {
+ ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVN_COMMAND_LINE, "setUp" );
+ return;
+ }
+
CheckoutMojo checkoutMojo = (CheckoutMojo) lookupMojo( "checkout", getTestFile(
"src/test/resources/mojos/checkout/checkoutWithConnectionUrl.xml" ) );
checkoutMojo.setWorkingDirectory( new File( getBasedir() ) );
diff --git a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java
index d106a2087..89fd93784 100644
--- a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java
+++ b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java
@@ -81,6 +81,12 @@ public class CheckoutMojoTest
SvnScmTestUtils.initializeRepository( repository );
+ if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) )
+ {
+ ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVN_COMMAND_LINE, getName() );
+ return;
+ }
+
CheckoutMojo mojo = (CheckoutMojo) lookupMojo( "checkout", getTestFile(
"src/test/resources/mojos/checkout/checkoutWithConnectionUrl.xml" ) );
mojo.setWorkingDirectory( new File( getBasedir() ) );
@@ -119,6 +125,12 @@ public class CheckoutMojoTest
public void testUseExport()
throws Exception
{
+ if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) )
+ {
+ ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVN_COMMAND_LINE, getName() );
+ return;
+ }
+
FileUtils.forceDelete( checkoutDir );
checkoutDir.mkdirs();
@@ -137,12 +149,24 @@ public class CheckoutMojoTest
public void testExcludeInclude()
throws Exception
{
+ if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) )
+ {
+ ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVNADMIN_COMMAND_LINE, getName() );
+ return;
+ }
+
FileUtils.forceDelete( checkoutDir );
checkoutDir.mkdirs();
SvnScmTestUtils.initializeRepository( repository );
+ if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) )
+ {
+ ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVN_COMMAND_LINE, getName() );
+ return;
+ }
+
CheckoutMojo mojo = (CheckoutMojo) lookupMojo(
"checkout",
getTestFile( "src/test/resources/mojos/checkout/checkoutWithExcludesIncludes.xml" ) );
diff --git a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ExportMojoTest.java b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ExportMojoTest.java
index 3f90514d1..f0aa46647 100644
--- a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ExportMojoTest.java
+++ b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ExportMojoTest.java
@@ -6,9 +6,9 @@ package org.apache.maven.scm.plugin;
* copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the License. You may obtain a
* copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
@@ -18,6 +18,7 @@ package org.apache.maven.scm.plugin;
import java.io.File;
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;
@@ -46,8 +47,20 @@ public class ExportMojoTest
public void testExport()
throws Exception
{
+ if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) )
+ {
+ ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVNADMIN_COMMAND_LINE, getName() );
+ return;
+ }
+
SvnScmTestUtils.initializeRepository( repository );
+ if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) )
+ {
+ ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVN_COMMAND_LINE, getName() );
+ return;
+ }
+
ExportMojo mojo = (ExportMojo) lookupMojo( "export", getTestFile( "src/test/resources/mojos/export/export.xml" ) );
mojo.setExportDirectory( exportDir.getAbsoluteFile() );
@@ -77,10 +90,22 @@ public class ExportMojoTest
public void testExcludeInclude()
throws Exception
{
+ if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) )
+ {
+ ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVNADMIN_COMMAND_LINE, getName() );
+ return;
+ }
+
SvnScmTestUtils.initializeRepository( repository );
-
+
exportDir.mkdirs();
+ if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) )
+ {
+ ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVN_COMMAND_LINE, getName() );
+ return;
+ }
+
ExportMojo mojo = (ExportMojo) lookupMojo(
"export",
getTestFile( "src/test/resources/mojos/export/exportWithExcludesIncludes.xml" ) );
diff --git a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/TagMojoTest.java b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/TagMojoTest.java
index f08a27d33..f21afb219 100644
--- a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/TagMojoTest.java
+++ b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/TagMojoTest.java
@@ -21,6 +21,7 @@ package org.apache.maven.scm.plugin;
import org.apache.maven.plugin.testing.AbstractMojoTestCase;
import org.apache.maven.scm.ScmTestCase;
+import org.apache.maven.scm.provider.git.GitScmTestUtils;
import org.apache.maven.scm.provider.svn.SvnScmTestUtils;
import org.codehaus.plexus.util.FileUtils;
import org.junit.Assume;
@@ -51,10 +52,20 @@ public class TagMojoTest
FileUtils.forceDelete( repository );
- Assume.assumeTrue( ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) );
+ if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) )
+ {
+ ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVNADMIN_COMMAND_LINE, "setUp" );
+ return;
+ }
SvnScmTestUtils.initializeRepository( repository );
+ if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) )
+ {
+ ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVN_COMMAND_LINE, "setUp" );
+ return;
+ }
+
CheckoutMojo checkoutMojo = (CheckoutMojo) lookupMojo( "checkout", getTestFile(
"src/test/resources/mojos/checkout/checkoutWithConnectionUrl.xml" ) );
checkoutMojo.setWorkingDirectory( new File( getBasedir() ) );
@@ -77,6 +88,11 @@ public class TagMojoTest
public void testTag()
throws Exception
{
+ if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) )
+ {
+ ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVN_COMMAND_LINE, getName() );
+ return;
+ }
TagMojo mojo = (TagMojo) lookupMojo( "tag", getTestFile( "src/test/resources/mojos/tag/tag.xml" ) );
mojo.setWorkingDirectory( checkoutDir );
@@ -106,6 +122,11 @@ public class TagMojoTest
public void testTagWithTimestamp()
throws Exception
{
+ if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) )
+ {
+ ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVN_COMMAND_LINE, getName() );
+ return;
+ }
TagMojo mojo =
(TagMojo) lookupMojo( "tag", getTestFile( "src/test/resources/mojos/tag/tagWithTimestamp.xml" ) );
diff --git a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/UntagMojoTest.java b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/UntagMojoTest.java
index 07ac9edd5..b5c418940 100644
--- a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/UntagMojoTest.java
+++ b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/UntagMojoTest.java
@@ -23,6 +23,7 @@ import java.io.File;
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.git.GitScmTestUtils;
import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.StringUtils;
@@ -43,6 +44,11 @@ public class UntagMojoTest
repository = getTestFile( "target/repository" );
+ if ( !ScmTestCase.isSystemCmd( GitScmTestUtils.GIT_COMMAND_LINE ) )
+ {
+ ScmTestCase.printSystemCmdUnavail( GitScmTestUtils.GIT_COMMAND_LINE, "setUp" );
+ return;
+ }
GitScmTestUtils.initRepo( "src/test/resources/git", repository, checkoutDir );
@@ -66,6 +72,12 @@ public class UntagMojoTest
public void testUntag()
throws Exception
{
+ if ( !ScmTestCase.isSystemCmd( GitScmTestUtils.GIT_COMMAND_LINE ) )
+ {
+ ScmTestCase.printSystemCmdUnavail( GitScmTestUtils.GIT_COMMAND_LINE, getName() );
+ return;
+ }
+
TagMojo tagMojo = (TagMojo) lookupMojo( "tag", getTestFile( "src/test/resources/mojos/untag/tag.xml" ) );
tagMojo.setWorkingDirectory( checkoutDir );
tagMojo.setConnectionUrl( getConnectionLocalAddress( tagMojo ) );
diff --git a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/UpdateMojoTest.java b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/UpdateMojoTest.java
index 83081f128..bc88ccb4c 100644
--- a/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/UpdateMojoTest.java
+++ b/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/UpdateMojoTest.java
@@ -61,6 +61,12 @@ public class UpdateMojoTest
SvnScmTestUtils.initializeRepository( repository );
+ if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) )
+ {
+ ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVN_COMMAND_LINE, getName() );
+ return;
+ }
+
CheckoutMojo checkoutMojo = (CheckoutMojo) lookupMojo( "checkout", getTestFile(
"src/test/resources/mojos/checkout/checkoutWithConnectionUrl.xml" ) );
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandNoBranchTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandNoBranchTest.java
index 8a445619c..16ffecfc9 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandNoBranchTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandNoBranchTest.java
@@ -33,6 +33,8 @@ import org.junit.Test;
import java.io.File;
+import static org.apache.maven.scm.provider.git.GitScmTestUtils.GIT_COMMAND_LINE;
+
import static org.junit.Assert.assertEquals;
/**
@@ -58,11 +60,8 @@ public class GitCheckInCommandNoBranchTest
public void testCheckinNoBranch()
throws Exception
{
- if ( !ScmTestCase.isSystemCmd( "git" ) )
- {
- ScmTestCase.printSystemCmdUnavail( "git", getName() );
- return;
- }
+ checkScmPresence( GIT_COMMAND_LINE );
+
File repo_orig = new File( "src/test/resources/repository_no_branch" );
File repo = getTestFile( "target/git_copy" );
FileUtils.deleteDirectory( repo );
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandTest.java
index 4f7050aa1..ffd512702 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandTest.java
@@ -37,6 +37,8 @@ import org.junit.Test;
import java.io.File;
+import static org.apache.maven.scm.provider.git.GitScmTestUtils.GIT_COMMAND_LINE;
+
import static org.junit.Assert.assertTrue;
/**
@@ -102,11 +104,7 @@ public class GitCheckInCommandTest
File repo = getRepositoryRoot();
File checkedOutRepo = getWorkingCopy();
- if ( !ScmTestCase.isSystemCmd( "git" ) )
- {
- ScmTestCase.printSystemCmdUnavail( "git", getName() );
- return;
- }
+ checkScmPresence( GIT_COMMAND_LINE );
GitScmTestUtils.initRepo("src/test/resources/repository/", getRepositoryRoot(), getWorkingDirectory());
@@ -153,11 +151,7 @@ public class GitCheckInCommandTest
File repo = getRepositoryRoot();
File checkedOutRepo = getWorkingCopy();
- if ( !ScmTestCase.isSystemCmd( "git" ) )
- {
- ScmTestCase.printSystemCmdUnavail( "git", getName() );
- return;
- }
+ checkScmPresence( GIT_COMMAND_LINE );
GitScmTestUtils.initRepo( "src/test/resources/repository/", getRepositoryRoot(), getWorkingDirectory() );
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitExeCheckOutCommandNoBranchTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitExeCheckOutCommandNoBranchTest.java
index 3079d8ff5..0994da754 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitExeCheckOutCommandNoBranchTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitExeCheckOutCommandNoBranchTest.java
@@ -30,6 +30,8 @@ import org.junit.Test;
import java.io.File;
+import static org.apache.maven.scm.provider.git.GitScmTestUtils.GIT_COMMAND_LINE;
+
import static org.junit.Assert.assertEquals;
/**
@@ -64,11 +66,7 @@ public class GitExeCheckOutCommandNoBranchTest
public void testCheckoutNoBranch()
throws Exception
{
- if ( !ScmTestCase.isSystemCmd( "git" ) )
- {
- ScmTestCase.printSystemCmdUnavail( "git", getName() );
- return;
- }
+ checkScmPresence( GIT_COMMAND_LINE );
CheckOutScmResult result = checkoutRepo();
assertEquals( 0, result.getCheckedOutFiles().size() );
}
@@ -77,11 +75,7 @@ public class GitExeCheckOutCommandNoBranchTest
public void testDoubleCheckoutNoBranch()
throws Exception
{
- if ( !ScmTestCase.isSystemCmd( "git" ) )
- {
- ScmTestCase.printSystemCmdUnavail( "git", getName() );
- return;
- }
+ checkScmPresence( GIT_COMMAND_LINE );
CheckOutScmResult result = checkoutRepo();
assertEquals( 0, result.getCheckedOutFiles().size() );
CheckOutScmResult result2 = checkoutRepo();
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoCommandTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoCommandTest.java
index 7319f4a82..8865bb834 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoCommandTest.java
@@ -31,6 +31,8 @@ import org.junit.Test;
import java.io.File;
+import static org.apache.maven.scm.provider.git.GitScmTestUtils.GIT_COMMAND_LINE;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
@@ -46,6 +48,8 @@ public class GitInfoCommandTest
public void testInfoCommand()
throws Exception
{
+ checkScmPresence( GIT_COMMAND_LINE );
+
GitScmTestUtils.initRepo( "src/test/resources/git/info", getRepositoryRoot(), getWorkingCopy() );
ScmProvider provider = getScmManager().getProviderByUrl( getScmUrl() );
@@ -62,6 +66,8 @@ public class GitInfoCommandTest
public void testInfoCommandWithShortRevision()
throws Exception
{
+ checkScmPresence( GIT_COMMAND_LINE );
+
GitScmTestUtils.initRepo( "src/test/resources/git/info", getRepositoryRoot(), getWorkingCopy() );
ScmProvider provider = getScmManager().getProviderByUrl( getScmUrl() );
@@ -79,6 +85,8 @@ public class GitInfoCommandTest
public void testInfoCommandWithNegativeShortRevision()
throws Exception
{
+ checkScmPresence( GIT_COMMAND_LINE );
+
GitScmTestUtils.initRepo( "src/test/resources/git/info", getRepositoryRoot(), getWorkingCopy() );
ScmProvider provider = getScmManager().getProviderByUrl( getScmUrl() );
@@ -96,6 +104,8 @@ public class GitInfoCommandTest
public void testInfoCommandWithZeroShortRevision()
throws Exception
{
+ checkScmPresence( GIT_COMMAND_LINE );
+
GitScmTestUtils.initRepo( "src/test/resources/git/info", getRepositoryRoot(), getWorkingCopy() );
ScmProvider provider = getScmManager().getProviderByUrl( getScmUrl() );
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/list/SvnExeListCommandTckTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/list/SvnExeListCommandTckTest.java
index f0f0a8ea9..add8b813b 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/list/SvnExeListCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/list/SvnExeListCommandTckTest.java
@@ -21,6 +21,8 @@ package org.apache.maven.scm.provider.svn.svnexe.command.list;
import org.apache.maven.scm.provider.svn.command.list.SvnListCommandTckTest;
+import static org.apache.maven.scm.provider.svn.SvnScmTestUtils.SVN_COMMAND_LINE;
+
/**
* @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
*
@@ -28,4 +30,9 @@ import org.apache.maven.scm.provider.svn.command.list.SvnListCommandTckTest;
public class SvnExeListCommandTckTest
extends SvnListCommandTckTest
{
+ @Override
+ public String getScmProviderCommand()
+ {
+ return SVN_COMMAND_LINE;
+ }
}
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/SvnRemoteInfoCommandTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/SvnRemoteInfoCommandTest.java
index 03171c412..ae6a36bfa 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/SvnRemoteInfoCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/SvnRemoteInfoCommandTest.java
@@ -22,6 +22,8 @@ import org.apache.maven.scm.ScmTestCase;
import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
import org.junit.Test;
+import static org.apache.maven.scm.provider.svn.SvnScmTestUtils.SVN_COMMAND_LINE;
+
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -35,6 +37,8 @@ public class SvnRemoteInfoCommandTest
public void testExist()
throws Exception
{
+ checkScmPresence( SVN_COMMAND_LINE );
+
SvnRemoteInfoCommand svnRemoteInfoCommand = new SvnRemoteInfoCommand();
SvnScmProviderRepository svnScmProviderRepository =
@@ -46,6 +50,8 @@ public class SvnRemoteInfoCommandTest
public void testNotExist()
throws Exception
{
+ checkScmPresence( SVN_COMMAND_LINE );
+
SvnRemoteInfoCommand svnRemoteInfoCommand = new SvnRemoteInfoCommand();
SvnScmProviderRepository svnScmProviderRepository =
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java b/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java
index 8ab8be9b9..f853a4fbf 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java
@@ -41,6 +41,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import static org.junit.Assume.assumeTrue;
/**
* Base class for all SCM tests. Consumers will typically
@@ -344,6 +345,12 @@ public abstract class ScmTestCase
assertEquals( expectedCommandLineAsExecuted, actualCommandLineAsExecuted );
}
+ public static void checkScmPresence( String scmProviderCommand )
+ {
+ assumeTrue( "Skipping tests because the required command '" + scmProviderCommand + "' is not available.",
+ ScmTestCase.isSystemCmd( scmProviderCommand ) );
+ }
+
/**
* @param cmd the executable to run, not null.
* @return true if and only if the command is on the path