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/22 19:07:21 UTC

[maven-scm] 01/01: [SCM-984] Replace use of JUnit 3 PlexusTestCase with Junit 4

This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch scm-979-dejunit3
in repository https://gitbox.apache.org/repos/asf/maven-scm.git

commit 915235eaf14666ff76fe795fb7288b7f427bc90a
Author: Tamas Cservenak <ta...@cservenak.net>
AuthorDate: Fri May 20 16:55:18 2022 +0200

    [SCM-984] Replace use of JUnit 3 PlexusTestCase with Junit 4
    
    This closes #143
---
 .../java/org/apache/maven/scm/ChangeFileTest.java  |   9 +-
 .../java/org/apache/maven/scm/ChangeSetTest.java   |  29 +-
 .../java/org/apache/maven/scm/ScmFileSetTest.java  |  12 +-
 .../java/org/apache/maven/scm/ScmResultTest.java   |   7 +-
 .../apache/maven/scm/manager/ScmManagerTest.java   |   6 +-
 .../apache/maven/scm/provider/ScmUrlUtilsTest.java |  10 +-
 .../apache/maven/scm/util/FilenameUtilsTest.java   |   7 +-
 maven-scm-providers/maven-scm-provider-hg/pom.xml  |   5 -
 .../apache/maven/scm/provider/hg/HgRepoUtils.java  |   4 +-
 .../hg/command/blame/HgBlameCommandTckTest.java    |   2 +
 .../hg/command/diff/HgDiffCommandTckTest.java      |   4 +
 .../hg/repository/HgScmProviderRepositoryTest.java |  13 +-
 .../maven-scm-provider-local/pom.xml               |   6 +
 .../scm/provider/local/LocalScmProviderTest.java   |   4 +
 .../checkout/LocalCheckOutCommandTckTest.java      |   5 +
 .../command/mkdir/LocalMkdirCommandTckTest.java    |   6 +
 .../command/update/LocalUpdateCommandTckTest.java  |   8 +-
 .../local/repository/LocalRepositoryTest.java      |  15 +-
 .../maven-scm-provider-git-commons/pom.xml         |   7 +-
 .../git/command/diff/GitDiffConsumerTest.java      |  15 +-
 .../repository/GitScmProviderRepositoryTest.java   |  36 +++
 .../maven-scm-provider-gitexe/pom.xml              |   5 -
 .../gitexe/command/add/GitExeAddCommandTest.java   |   7 +-
 .../gitexe/command/blame/GitBlameConsumerTest.java |  13 +-
 .../command/blame/GitExeBlameCommandTckTest.java   |   4 +
 .../command/changelog/GitChangeLogCommandTest.java |  20 +-
 .../changelog/GitChangeLogConsumerTest.java        |  15 +-
 .../checkin/GitCheckInCommandNoBranchTest.java     |   7 +
 .../command/checkin/GitCheckInCommandTest.java     |  10 +
 .../command/checkout/GitCheckOutCommandTest.java   |   5 +
 .../GitExeCheckOutCommandNoBranchTest.java         |   8 +
 .../command/diff/GitDiffRawConsumerTest.java       |   9 +-
 .../gitexe/command/info/GitInfoCommandTckTest.java |  15 +-
 .../remoteinfo/GitExeRemoteInfoCommandTckTest.java |   2 +
 .../remoteinfo/GitRemoteInfoConsumerTest.java      |   8 +-
 .../command/remove/GitRemoveCommandTest.java       |   4 +
 .../command/remove/GitRemoveConsumerTest.java      |  19 +-
 .../command/status/GitStatusConsumerTest.java      |  31 +-
 .../git/gitexe/command/tag/GitTagCommandTest.java  |   8 +-
 .../GitLatestRevisionCommandConsumerTest.java      |   9 +-
 .../command/update/GitUpdateCommandTest.java       |   5 +-
 .../maven-scm-provider-gittest/pom.xml             |   4 -
 .../maven/scm/provider/git/GitScmTestUtils.java    |   4 +-
 .../changelog/GitChangeLogCommandTckTest.java      |  10 +
 .../maven-scm-provider-jgit/pom.xml                |   5 +
 .../JGitCheckInCommandCommitterAuthorTckTest.java  |  19 +-
 .../remoteinfo/JGitRemoteInfoCommandTckTest.java   |   2 +
 .../maven-scm-provider-svn-commons/pom.xml         |   6 +
 .../scm/provider/svn/SvnCommandUtilsTest.java      |   9 +
 .../scm/provider/svn/SvnTagBranchUtilsTest.java    |  25 ++
 .../repository/SvnScmProviderRepositoryTest.java   |  32 +-
 .../maven-scm-provider-svnexe/pom.xml              |   5 -
 .../svnexe/command/SvnCommandLineUtilsTest.java    |   3 +
 .../command/blame/SvnExeBlameCommandTckTest.java   |   2 +
 .../command/branch/SvnExeBranchCommandTckTest.java |   7 +
 .../command/changelog/SvnChangeLogCommandTest.java |  15 +
 .../changelog/SvnChangeLogConsumerTest.java        |  30 +-
 .../command/checkin/SvnCheckInCommandTest.java     |  11 +-
 .../command/checkout/SvnCheckOutCommandTest.java   |   8 +
 .../command/export/SvnExportCommandTest.java       |   3 +
 .../svnexe/command/info/SvnInfoCommandTest.java    |   2 +
 .../svnexe/command/list/SvnListCommandTest.java    |   6 +
 .../svnexe/command/mkdir/SvnMkdirCommandTest.java  |  16 +-
 .../remoteinfo/SvnExeRemoteInfoCommandTckTest.java |   2 +
 .../remoteinfo/SvnRemoteInfoCommandTest.java       |   6 +
 .../command/tag/SvnExeTagCommandTckTest.java       |   6 +
 .../command/untag/SvnExeUntagCommandTckTest.java   |   3 +
 .../svnexe/command/untag/SvnUntagCommandTest.java  |   3 +
 .../command/update/SvnUpdateCommandTest.java       |  18 ++
 .../svn/command/blame/SvnBlameCommandTckTest.java  |   2 +
 .../svn/command/mkdir/SvnMkdirCommandTckTest.java  |  11 +-
 maven-scm-test/pom.xml                             |   1 -
 .../apache/maven/scm/PlexusJUnit4TestSupport.java  | 323 +++++++++++++++++++++
 .../java/org/apache/maven/scm/ScmTckTestCase.java  |  17 +-
 .../java/org/apache/maven/scm/ScmTestCase.java     |  31 +-
 .../scm/tck/command/blame/BlameCommandTckTest.java |   5 +
 .../tck/command/branch/BranchCommandTckTest.java   |   5 +
 .../command/changelog/ChangeLogCommandTckTest.java |   5 +
 .../tck/command/checkin/CheckInCommandTckTest.java |   8 +
 .../command/checkout/CheckOutCommandTckTest.java   |   4 +
 .../scm/tck/command/diff/DiffCommandTckTest.java   |   6 +
 .../scm/tck/command/list/ListCommandTckTest.java   |   8 +
 .../scm/tck/command/mkdir/MkdirCommandTckTest.java |   5 +
 .../AbstractRemoteInfoCommandTckTest.java          |   2 +
 .../tck/command/status/StatusCommandTckTest.java   |   7 +
 .../scm/tck/command/tag/TagCommandTckTest.java     |   5 +
 .../scm/tck/command/untag/UntagCommandTckTest.java |   4 +
 .../tck/command/update/UpdateCommandTckTest.java   |   7 +
 .../maven/scm/manager/ScmManagerStubTest.java      |  17 +-
 89 files changed, 1021 insertions(+), 128 deletions(-)

diff --git a/maven-scm-api/src/test/java/org/apache/maven/scm/ChangeFileTest.java b/maven-scm-api/src/test/java/org/apache/maven/scm/ChangeFileTest.java
index 3f953db31..dab0baabe 100644
--- a/maven-scm-api/src/test/java/org/apache/maven/scm/ChangeFileTest.java
+++ b/maven-scm-api/src/test/java/org/apache/maven/scm/ChangeFileTest.java
@@ -19,14 +19,17 @@ package org.apache.maven.scm;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
 
 /**
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse </a>
  */
 public class ChangeFileTest
-    extends TestCase
 {
+    @Test
     public void testNewFile()
     {
         ChangeFile f = new ChangeFile( "test.java" );
@@ -35,6 +38,7 @@ public class ChangeFileTest
         assertEquals( "test.java", f.toString() );
     }
 
+    @Test
     public void testNewFileRevision()
     {
         ChangeFile f = new ChangeFile( "test.java", "1.2.3" );
@@ -43,6 +47,7 @@ public class ChangeFileTest
         assertEquals( "test.java, 1.2.3", f.toString() );
     }
 
+    @Test
     public void testNewRevisionFile()
     {
         ChangeFile f = new ChangeFile( "test.java", "revision1" );
diff --git a/maven-scm-api/src/test/java/org/apache/maven/scm/ChangeSetTest.java b/maven-scm-api/src/test/java/org/apache/maven/scm/ChangeSetTest.java
index e95f0deab..67627dc72 100644
--- a/maven-scm-api/src/test/java/org/apache/maven/scm/ChangeSetTest.java
+++ b/maven-scm-api/src/test/java/org/apache/maven/scm/ChangeSetTest.java
@@ -19,12 +19,17 @@ package org.apache.maven.scm;
  * under the License.
  */
 
-import junit.framework.TestCase;
-
 import java.util.Calendar;
 import java.util.Date;
 
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Tests for the {@link ChangeSet}class
@@ -33,7 +38,6 @@ import static org.junit.Assert.assertNotEquals;
  *
  */
 public class ChangeSetTest
-    extends TestCase
 {
     /**
      * the {@link ChangeSet} used for testing
@@ -43,6 +47,7 @@ public class ChangeSetTest
     /**
      * Initialize per test data
      */
+    @Before
     public void setUp()
     {
         instance = createInstance();
@@ -60,6 +65,7 @@ public class ChangeSetTest
     /**
      * Test of addFile methods: using ChangeFile
      */
+    @Test
     public void testAddFileWithFile()
     {
         ChangeFile file = new ChangeFile( "maven:dummy" );
@@ -76,6 +82,7 @@ public class ChangeSetTest
     /**
      * Test of toString method
      */
+    @Test
     public void testToString()
     {
         //dion, Mon Apr 01 00:00:00 EST 2002, comment
@@ -88,6 +95,7 @@ public class ChangeSetTest
     /**
      * Test of getAuthor method
      */
+    @Test
     public void testGetAuthor()
     {
         assertEquals( "Author value not retrieved correctly", "dion", instance.getAuthor() );
@@ -96,6 +104,7 @@ public class ChangeSetTest
     /**
      * Test of setAuthor method
      */
+    @Test
     public void testSetAuthor()
     {
         instance.setAuthor( "maven:dion" );
@@ -105,6 +114,7 @@ public class ChangeSetTest
     /**
      * Test of getComment method
      */
+    @Test
     public void testGetComment()
     {
         assertEquals( "Comment value not retrieved correctly", "comment", instance.getComment() );
@@ -113,6 +123,7 @@ public class ChangeSetTest
     /**
      * Test of setComment method
      */
+    @Test
     public void testSetComment()
     {
         instance.setComment( "maven:comment" );
@@ -122,6 +133,7 @@ public class ChangeSetTest
     /**
      * Test of getDate method
      */
+    @Test
     public void testGetDate()
     {
         assertEquals( "Date value not retrieved correctly", getDate( 2002, 3, 1 ), instance.getDate() );
@@ -130,6 +142,7 @@ public class ChangeSetTest
     /**
      * Test of setDate method with Date object
      */
+    @Test
     public void testSetDate()
     {
         Calendar cal = Calendar.getInstance();
@@ -142,6 +155,7 @@ public class ChangeSetTest
     /**
      * Test of setDate method with String
      */
+    @Test
     public void testSetDateFromString()
     {
         instance.setDate( "2002/03/04 00:00:00" );
@@ -151,6 +165,7 @@ public class ChangeSetTest
     /**
      * Test of getDateFormatted method
      */
+    @Test
     public void testGetDateFormatted()
     {
         assertEquals( "Date not formatted correctly", "2002-04-01", instance.getDateFormatted() );
@@ -159,6 +174,7 @@ public class ChangeSetTest
     /**
      * Test of getDateFormatted method
      */
+    @Test
     public void testGetTimeFormatted()
     {
         assertEquals( "Time not formatted correctly", "00:00:00", instance.getTimeFormatted() );
@@ -174,6 +190,7 @@ public class ChangeSetTest
         return cal.getTime();
     }
 
+    @Test
     public void testEscapeValue()
     {
         assertEquals( "", ChangeSet.escapeValue("") );
@@ -186,6 +203,7 @@ public class ChangeSetTest
         assertEquals( "&apos;&amp;;&lt;&gt;&quot;", ChangeSet.escapeValue("'&;<>\"") );
     }
 
+    @Test
     public void testEquals()
     {
         ChangeSet instance2 = createInstance();
@@ -198,6 +216,7 @@ public class ChangeSetTest
         assertEquals(instance, instance2);
     }
 
+    @Test
     public void testHashCode()
     {
         int hashCode1 = instance.hashCode();
@@ -208,6 +227,7 @@ public class ChangeSetTest
         assertEquals( hashCode1, instance.hashCode() );
     }
 
+    @Test
     public void testToXml()
     {
         String sXml = instance.toXML();
@@ -217,6 +237,7 @@ public class ChangeSetTest
         assertTrue(sXml.indexOf("</changelog-entry>") > -1);
     }
 
+    @Test
     public void testToXmlWithFiles()
     {
         instance.addFile( new ChangeFile( "maven1:dummy" ) );
@@ -231,8 +252,6 @@ public class ChangeSetTest
         assertTrue(sXml.indexOf("<file>") > -1);
         assertTrue(sXml.indexOf("<name>maven1:dummy</name>") > -1);
         assertTrue(sXml.indexOf("<name>maven2:dummy2</name>") > -1);
-
-
     }
 
 }
diff --git a/maven-scm-api/src/test/java/org/apache/maven/scm/ScmFileSetTest.java b/maven-scm-api/src/test/java/org/apache/maven/scm/ScmFileSetTest.java
index 5b8055b6c..ca123268c 100644
--- a/maven-scm-api/src/test/java/org/apache/maven/scm/ScmFileSetTest.java
+++ b/maven-scm-api/src/test/java/org/apache/maven/scm/ScmFileSetTest.java
@@ -24,13 +24,16 @@ import java.io.IOException;
 import java.util.Iterator;
 import java.util.List;
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 /**
  * @author dtran
  */
 public class ScmFileSetTest
-    extends TestCase
 {
     private static String basedirPath;
 
@@ -56,6 +59,7 @@ public class ScmFileSetTest
         return filename.substring( getBasedir().length(), filename.length() );
     }
 
+    @Test
     public void testFilesList()
         throws IOException
     {
@@ -67,6 +71,7 @@ public class ScmFileSetTest
                 fileSet.getFileList().size() > 10 );
     }
 
+    @Test
     public void testFilesListWithoutIncludesResultsEmptyList()
         throws IOException
     {
@@ -74,6 +79,7 @@ public class ScmFileSetTest
         assertEquals( 0, fileSet.getFileList().size() );
     }
 
+    @Test
     public void testFilesListExcludes()
         throws IOException
     {
@@ -92,6 +98,7 @@ public class ScmFileSetTest
         }
     }
 
+    @Test
     public void testFilesListExcludes2()
         throws IOException
     {
@@ -100,6 +107,7 @@ public class ScmFileSetTest
         assertEquals( 2, fileSet.getFileList().size() );
     }
 
+    @Test
     public void testFilesListNoExcludes()
         throws IOException
     {
diff --git a/maven-scm-api/src/test/java/org/apache/maven/scm/ScmResultTest.java b/maven-scm-api/src/test/java/org/apache/maven/scm/ScmResultTest.java
index d1f1de673..2a8619923 100644
--- a/maven-scm-api/src/test/java/org/apache/maven/scm/ScmResultTest.java
+++ b/maven-scm-api/src/test/java/org/apache/maven/scm/ScmResultTest.java
@@ -19,10 +19,12 @@ package org.apache.maven.scm;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertTrue;
 
 public class ScmResultTest
-    extends TestCase
 {
 
     private static final String PASSWORD = "secr$t";
@@ -33,6 +35,7 @@ public class ScmResultTest
 
     private static final String MOCK_ERROR_MULTILINE_OUTPUT = "remote: Invalid username or password." + System.lineSeparator() + "fatal: Authentication failed for '" + SCM_URL_GIT_COLON + "'";
 
+    @Test
     public void testPasswordsAreMaskedInOutput()
         throws Exception
     {
diff --git a/maven-scm-api/src/test/java/org/apache/maven/scm/manager/ScmManagerTest.java b/maven-scm-api/src/test/java/org/apache/maven/scm/manager/ScmManagerTest.java
index ff13a67e1..04ee3c7ef 100644
--- a/maven-scm-api/src/test/java/org/apache/maven/scm/manager/ScmManagerTest.java
+++ b/maven-scm-api/src/test/java/org/apache/maven/scm/manager/ScmManagerTest.java
@@ -19,15 +19,17 @@ package org.apache.maven.scm.manager;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
 
 /**
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
  *
  */
 public class ScmManagerTest
-    extends TestCase
 {
+    @Test
     public void testCleanScmUrl()
         throws Exception
     {
diff --git a/maven-scm-api/src/test/java/org/apache/maven/scm/provider/ScmUrlUtilsTest.java b/maven-scm-api/src/test/java/org/apache/maven/scm/provider/ScmUrlUtilsTest.java
index 035a777cf..6ec5f93da 100644
--- a/maven-scm-api/src/test/java/org/apache/maven/scm/provider/ScmUrlUtilsTest.java
+++ b/maven-scm-api/src/test/java/org/apache/maven/scm/provider/ScmUrlUtilsTest.java
@@ -19,14 +19,17 @@ package org.apache.maven.scm.provider;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 /**
  * @author <a href="mailto:dennisl@apache.org">Dennis Lundberg</a>
  *
  */
 public class ScmUrlUtilsTest
-    extends TestCase
 {
     private static final String SCM_URL_INVALID_1 = null;
 
@@ -44,6 +47,7 @@ public class ScmUrlUtilsTest
 
     private static final String SCM_URL_VALID_4 = "scm:a|provider-specific-part";
 
+    @Test
     public void testGetProvider()
         throws Exception
     {
@@ -53,6 +57,7 @@ public class ScmUrlUtilsTest
         assertEquals( "a", ScmUrlUtils.getProvider( SCM_URL_VALID_4 ) );
     }
 
+    @Test
     public void testGetProviderSpecificPart()
         throws Exception
     {
@@ -62,6 +67,7 @@ public class ScmUrlUtilsTest
         assertEquals( "provider-specific-part", ScmUrlUtils.getProviderSpecificPart( SCM_URL_VALID_4 ) );
     }
 
+    @Test
     public void testIsValid()
         throws Exception
     {
diff --git a/maven-scm-api/src/test/java/org/apache/maven/scm/util/FilenameUtilsTest.java b/maven-scm-api/src/test/java/org/apache/maven/scm/util/FilenameUtilsTest.java
index 47a876232..98be80522 100644
--- a/maven-scm-api/src/test/java/org/apache/maven/scm/util/FilenameUtilsTest.java
+++ b/maven-scm-api/src/test/java/org/apache/maven/scm/util/FilenameUtilsTest.java
@@ -19,12 +19,15 @@ package org.apache.maven.scm.util;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
 
 public class FilenameUtilsTest
-    extends TestCase
 {
 
+    @Test
     public void testNormalize()
     {
         assertNull( FilenameUtils.normalizeFilename( (String) null ) );
diff --git a/maven-scm-providers/maven-scm-provider-hg/pom.xml b/maven-scm-providers/maven-scm-provider-hg/pom.xml
index 20fb094fb..0e341c039 100644
--- a/maven-scm-providers/maven-scm-provider-hg/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-hg/pom.xml
@@ -67,11 +67,6 @@
       <artifactId>junit</artifactId>
       <scope>test</scope>
     </dependency>
-    <dependency>
-      <groupId>org.eclipse.sisu</groupId>
-      <artifactId>org.eclipse.sisu.plexus</artifactId>
-      <scope>test</scope>
-    </dependency>
   </dependencies>
 
 </project>
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/HgRepoUtils.java b/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/HgRepoUtils.java
index b3d1aba6e..cc517b467 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/HgRepoUtils.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/HgRepoUtils.java
@@ -21,8 +21,8 @@ package org.apache.maven.scm.provider.hg;
 
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.provider.hg.command.HgCommandConstants;
-import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.util.FileUtils;
 
 import java.io.File;
@@ -36,7 +36,7 @@ import java.util.List;
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
  */
 public class HgRepoUtils
-    extends PlexusTestCase
+        extends ScmTestCase
 {
 
     public static final String[] filesInTestBranch =
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/command/blame/HgBlameCommandTckTest.java b/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/command/blame/HgBlameCommandTckTest.java
index 5b8a82d8c..a1e5ae5ca 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/command/blame/HgBlameCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/command/blame/HgBlameCommandTckTest.java
@@ -26,6 +26,8 @@ import org.apache.maven.scm.tck.command.blame.BlameCommandTckTest;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 /**
  * @author Evgeny Mandrikov
  */
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/command/diff/HgDiffCommandTckTest.java b/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/command/diff/HgDiffCommandTckTest.java
index ddf23cb57..e671f40f0 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/command/diff/HgDiffCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/command/diff/HgDiffCommandTckTest.java
@@ -34,6 +34,9 @@ import org.apache.maven.scm.provider.ScmProvider;
 import org.apache.maven.scm.provider.hg.HgRepoUtils;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.apache.maven.scm.tck.command.diff.DiffCommandTckTest;
+import org.junit.Test;
+
+import static org.junit.Assert.assertTrue;
 
 public class HgDiffCommandTckTest
     extends DiffCommandTckTest
@@ -50,6 +53,7 @@ public class HgDiffCommandTckTest
         HgRepoUtils.initRepo();
     }
 
+    @Test
     public void testDiffCommand()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepositoryTest.java b/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepositoryTest.java
index b602d989b..de05fa391 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepositoryTest.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepositoryTest.java
@@ -19,10 +19,13 @@ package org.apache.maven.scm.provider.hg.repository;
  * under the License.
  */
 
-import junit.framework.TestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
 
 public class HgScmProviderRepositoryTest
-    extends TestCase
 {
 
 //    public void testInvalidRepo()
@@ -33,6 +36,7 @@ public class HgScmProviderRepositoryTest
 //        assertNotNull( repo.validateURI() );
 //    }
 
+    @Test
     public void testFileRepo()
     {
         //1. Test *nix like paths
@@ -56,6 +60,7 @@ public class HgScmProviderRepositoryTest
 //        assertNotNull( repo.validateURI() );
     }
 
+    @Test
     public void testSSHRepo()
     {
         //todo: check assert
@@ -78,6 +83,7 @@ public class HgScmProviderRepositoryTest
         assertNull( repo.validateURI() );
     }
 
+    @Test
     public void testHTTPRepo()
     {
         //todo: check assert
@@ -105,6 +111,7 @@ public class HgScmProviderRepositoryTest
         assertTrue( true );
     }
 
+    @Test
     public void testHTTPRepoWithHgInUrl()
     {
         String url = "http://hg/hg/maven";
@@ -118,6 +125,7 @@ public class HgScmProviderRepositoryTest
      *
      * @throws Exception
      */
+    @Test
     public void testParseHostAndPort()
         throws Exception
     {
@@ -139,6 +147,7 @@ public class HgScmProviderRepositoryTest
      *
      * @throws Exception
      */
+    @Test
     public void testParseBasicAuth()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-provider-local/pom.xml b/maven-scm-providers/maven-scm-provider-local/pom.xml
index 453596543..5ec89002c 100644
--- a/maven-scm-providers/maven-scm-provider-local/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-local/pom.xml
@@ -46,6 +46,12 @@
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
     </dependency>
+
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <build>
diff --git a/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/LocalScmProviderTest.java b/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/LocalScmProviderTest.java
index 22e167e5c..2ddc4f481 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/LocalScmProviderTest.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/LocalScmProviderTest.java
@@ -20,6 +20,9 @@ package org.apache.maven.scm.provider.local;
  */
 
 import org.apache.maven.scm.ScmTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
 
 /**
  * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
@@ -28,6 +31,7 @@ import org.apache.maven.scm.ScmTestCase;
 public class LocalScmProviderTest
     extends ScmTestCase
 {
+    @Test
     public void testFixModuleName()
     {
         assertEquals( "my-module", LocalScmProvider.fixModuleName( "my-module" ) );
diff --git a/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommandTckTest.java b/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommandTckTest.java
index 051553358..abaaf38ef 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommandTckTest.java
@@ -31,6 +31,10 @@ import org.apache.maven.scm.provider.local.metadata.io.xpp3.LocalScmMetadataXpp3
 import org.apache.maven.scm.tck.command.checkout.CheckOutCommandTckTest;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 /**
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
@@ -66,6 +70,7 @@ public class LocalCheckOutCommandTckTest
     /**
      * Tests that the metadata file .maven-scm-local is written correctly
      */
+    @Test
     public void testMetadata()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/mkdir/LocalMkdirCommandTckTest.java b/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/mkdir/LocalMkdirCommandTckTest.java
index 306753f3e..085b27283 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/mkdir/LocalMkdirCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/mkdir/LocalMkdirCommandTckTest.java
@@ -25,6 +25,10 @@ import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.command.list.ListScmResult;
 import org.apache.maven.scm.command.mkdir.MkdirScmResult;
 import org.apache.maven.scm.tck.command.mkdir.MkdirCommandTckTest;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 /**
  * @author <a href="mailto:oching@apache.org">Maria Odea Ching</a>
@@ -61,6 +65,7 @@ public class LocalMkdirCommandTckTest
         makeDirectory( workingDirectory, moduleName + "/src/test/resources" );
     }
 
+    @Test
     public void testMkdirCommandMkdirUrl()
         throws Exception
     {
@@ -75,6 +80,7 @@ public class LocalMkdirCommandTckTest
         assertTrue( "Directory should have been found.", listResult.isSuccess() );
     }
 
+    @Test
     public void testMkdirCommandDirAlreadyAdded()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommandTckTest.java b/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommandTckTest.java
index 86a547695..b6b15aa0d 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommandTckTest.java
@@ -38,6 +38,12 @@ import org.apache.maven.scm.repository.ScmRepository;
 import org.apache.maven.scm.tck.command.update.UpdateCommandTckTest;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
@@ -64,6 +70,7 @@ public class LocalUpdateCommandTckTest
      * Tests that a file that has been deleted from repository after checkout will be removed by scm-local. Local
      * additions must not be deleted.
      */
+    @Test
     public void testDeletion()
         throws Exception
     {
@@ -150,7 +157,6 @@ public class LocalUpdateCommandTckTest
 
     }
 
-
     private void makeRepo( File workingDirectory )
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/repository/LocalRepositoryTest.java b/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/repository/LocalRepositoryTest.java
index 98c2ccac1..fe62288d4 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/repository/LocalRepositoryTest.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/repository/LocalRepositoryTest.java
@@ -24,6 +24,13 @@ import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.apache.maven.scm.repository.ScmRepositoryException;
 import org.codehaus.plexus.util.FileUtils;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 /**
  * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
@@ -32,6 +39,8 @@ import org.codehaus.plexus.util.FileUtils;
 public class LocalRepositoryTest
     extends ScmTestCase
 {
+    @Before
+    @Override
     public void setUp()
         throws Exception
     {
@@ -40,6 +49,7 @@ public class LocalRepositoryTest
         FileUtils.mkdir( getWorkingDirectory().getAbsolutePath() );
     }
 
+    @Test
     public void testExistingRepository()
         throws Exception
     {
@@ -62,6 +72,7 @@ public class LocalRepositoryTest
         assertEquals( "test-repo", local.getModule() );
     }
 
+    @Test
     public void testMissingRepositoryRoot()
         throws Exception
     {
@@ -77,6 +88,7 @@ public class LocalRepositoryTest
         }
     }
 
+    @Test
     public void testNonExistingMissingRepositoryRoot()
         throws Exception
     {
@@ -92,6 +104,7 @@ public class LocalRepositoryTest
         }
     }
 
+    @Test
     public void testMissingModule()
         throws Exception
     {
@@ -118,7 +131,7 @@ public class LocalRepositoryTest
         }
     }
 
-
+    @Test
     public void testNonExistingModule()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml
index d58eaf2e5..4cf00155f 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml
@@ -84,14 +84,15 @@
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
     </dependency>
+
     <dependency>
-      <groupId> javax.inject</groupId>
+      <groupId>javax.inject</groupId>
       <artifactId>javax.inject</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.eclipse.sisu</groupId>
-      <artifactId>org.eclipse.sisu.plexus</artifactId>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumerTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumerTest.java
index 9fee581b2..e43222bba 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumerTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumerTest.java
@@ -21,20 +21,25 @@ package org.apache.maven.scm.provider.git.command.diff;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.util.ConsumerUtils;
-import org.codehaus.plexus.PlexusTestCase;
+import org.junit.Test;
 
 import java.io.File;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
  */
 public class GitDiffConsumerTest
-    extends PlexusTestCase
+        extends ScmTestCase
 {
-
+    @Test
     public void testEmptyLogConsumer()
         throws Exception
     {
@@ -49,6 +54,7 @@ public class GitDiffConsumerTest
         assertEquals( 0, changedFiles.size() );
     }
 
+    @Test
     public void testLog1Consumer()
         throws Exception
     {
@@ -62,7 +68,7 @@ public class GitDiffConsumerTest
 
         assertEquals( 1, changedFiles.size() );
 
-        testScmFile( (ScmFile) changedFiles.get( 0 ), "olamy.test", ScmFileStatus.MODIFIED );
+        testScmFile( changedFiles.get( 0 ), "olamy.test", ScmFileStatus.MODIFIED );
 
         Map<String,CharSequence> differences = consumer.getDifferences();
         assertNotNull( differences );
@@ -72,6 +78,7 @@ public class GitDiffConsumerTest
         assertTrue( readmeDiffs.indexOf( "+new line" ) >= 0 );
     }
 
+    @Test
     public void testLog2Consumer()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepositoryTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepositoryTest.java
index 2efe7555b..e94701619 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepositoryTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepositoryTest.java
@@ -24,6 +24,14 @@ import org.apache.maven.scm.manager.NoSuchScmProviderException;
 import org.apache.maven.scm.manager.ScmManager;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.apache.maven.scm.repository.ScmRepositoryException;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 /**
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
@@ -34,6 +42,8 @@ public class GitScmProviderRepositoryTest
 {
     private ScmManager scmManager;
 
+    @Before
+    @Override
     public void setUp()
         throws Exception
     {
@@ -46,24 +56,28 @@ public class GitScmProviderRepositoryTest
     // Testing legal URLs
     // ----------------------------------------------------------------------
 
+    @Test
     public void testLegalFileURL()
         throws Exception
     {
         testUrl( "scm:git:file:///tmp/repo", null, "file:///tmp/repo", null, null, null, null, 0, null);
     }
 
+    @Test
     public void testLegalFileHomeURL()
     throws Exception
     {
         testUrl( "scm:git:file://~/repo", null, "file://~/repo", null, null, null, null, 0, null);
     }
 
+    @Test
     public void testLegalSshHomeURL()
     throws Exception
     {
         testUrl( "scm:git:ssh://~/repo", null, "ssh://~/repo", null, null, null, null, 0, null);
     }
 
+    @Test
     public void testLegalLocalhostFileURL()
         throws Exception
     {
@@ -71,6 +85,7 @@ public class GitScmProviderRepositoryTest
                 null, null, 0, "somedirectory/tmp/repo");
     }
 
+    @Test
     public void testLegalHistnameFileURL()
         throws Exception
     {
@@ -78,6 +93,7 @@ public class GitScmProviderRepositoryTest
                 null, null, 0, "my_server/tmp/repo");
     }
 
+    @Test
     public void testLegalHttpURL()
         throws Exception
     {
@@ -85,6 +101,7 @@ public class GitScmProviderRepositoryTest
                  null, "gitrepos.apache.org", 0, null);
     }
 
+    @Test
     public void testLegalHttpURLWithUser()
         throws Exception
     {
@@ -92,6 +109,7 @@ public class GitScmProviderRepositoryTest
                  null, "gitrepos.apache.org", 0, null);
     }
 
+    @Test
     public void testLegalHttpURLWithUserPassword()
         throws Exception
     {
@@ -99,6 +117,7 @@ public class GitScmProviderRepositoryTest
                  null, "user", "password", "gitrepos.apache.org", 0, null);
     }
 
+    @Test
     public void testLegalHttpsURL()
         throws Exception
     {
@@ -106,6 +125,7 @@ public class GitScmProviderRepositoryTest
                  null, "gitrepos.apache.org", 0, "repos/projectA");
     }
 
+    @Test
     public void testLegalFileWindowsURL()
             throws Exception
     {
@@ -113,6 +133,7 @@ public class GitScmProviderRepositoryTest
         testUrl( "scm:git:file://c:\\tmp\\repo", null, "file://c:\\tmp\\repo", null, null, null, null, 0, null);
     }
 
+    @Test
     public void testLegalHttpsURLWithUser()
         throws Exception
     {
@@ -120,6 +141,7 @@ public class GitScmProviderRepositoryTest
                  null, "gitrepos.apache.org", 0, null);
     }
 
+    @Test
     public void testLegalHttpsURLWithUserPassword()
         throws Exception
     {
@@ -127,6 +149,7 @@ public class GitScmProviderRepositoryTest
                  null, "user", "password", "gitrepos.apache.org", 0, null);
     }
 
+    @Test
     public void testLegalSshURLWithUser()
     throws Exception
     {
@@ -134,6 +157,7 @@ public class GitScmProviderRepositoryTest
                  null, "gitrepos.apache.org", 0, null);
     }
 
+    @Test
     public void testLegalSshURLWithUserPassword()
     throws Exception
     {
@@ -141,6 +165,7 @@ public class GitScmProviderRepositoryTest
                  null, "user", "password", "gitrepos.apache.org", 0, null);
     }
 
+    @Test
     public void testLegalGitURL()
         throws Exception
     {
@@ -148,6 +173,7 @@ public class GitScmProviderRepositoryTest
                  null, "gitrepos.apache.org", 0, null);
     }
 
+    @Test
     public void testGitDevURL()
         throws Exception, ScmRepositoryException
     {
@@ -155,6 +181,7 @@ public class GitScmProviderRepositoryTest
                  null, "git@github.com:olamy/scm-git-test-one-module.git", null, "git" , null, "github.com", 0, null);
     }
 
+    @Test
     public void testGitDevURLWIthPort()
         throws Exception, ScmRepositoryException
     {
@@ -163,6 +190,7 @@ public class GitScmProviderRepositoryTest
     }
 
     // For SCM-639
+    @Test
     public void testGitDevUrlWithNumberedRepoAndNoPort()
         throws Exception, ScmRepositoryException
     {
@@ -172,6 +200,7 @@ public class GitScmProviderRepositoryTest
 
 
     // For SCM-629
+    @Test
     public void testGitDevUrlWithNumberedRepoAndMinus()
         throws Exception, ScmRepositoryException
     {
@@ -180,6 +209,7 @@ public class GitScmProviderRepositoryTest
     }
 
     // For SCM-707
+    @Test
     public void testSpecialCharacters()
         throws Exception
     {
@@ -193,6 +223,7 @@ public class GitScmProviderRepositoryTest
 
     }
 
+    @Test
     public void testLegalGitPortUrl()
         throws Exception
     {
@@ -220,6 +251,7 @@ public class GitScmProviderRepositoryTest
 
     }
 
+    @Test
     public void testUsernameWithAtAndPasswordInUrl() throws ScmRepositoryException, Exception{
         testUrl( "scm:git:http://username@site.com:password@gitrepos.apache.org:8800/pmgt/trunk",
             null, "http://username%40site.com:password@gitrepos.apache.org:8800/pmgt/trunk",
@@ -231,6 +263,7 @@ public class GitScmProviderRepositoryTest
     // the following tests are for combined fetch + push URLs
     // ----------------------------------------------------------------------
 
+    @Test
     public void testHttpFetchSshPushUrl()
         throws Exception
     {
@@ -251,6 +284,8 @@ public class GitScmProviderRepositoryTest
 
     //X in fact this url is perfectly valid from a technical perspective
     //X it will be interpreted by git as git://file/tmp/git
+    @Test
+    @Ignore
     public void nottestIllegalFileUrl()
         throws Exception
     {
@@ -362,6 +397,7 @@ public class GitScmProviderRepositoryTest
         }
     }
 
+    @Test
     public void testGetParent() throws Exception
     {
         new GitScmProviderRepository( "http://gitrepos.apache.org" );
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml
index 03e378c85..5cbfee271 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml
@@ -65,11 +65,6 @@
       <artifactId>maven-scm-provider-gittest</artifactId>
       <scope>test</scope>
     </dependency>
-    <dependency>
-      <groupId>org.eclipse.sisu</groupId>
-      <artifactId>org.eclipse.sisu.plexus</artifactId>
-      <scope>test</scope>
-    </dependency>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
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/add/GitExeAddCommandTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/add/GitExeAddCommandTest.java
index c57c58fb4..3fe0d2414 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/add/GitExeAddCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/add/GitExeAddCommandTest.java
@@ -6,6 +6,7 @@ import java.util.List;
 
 import org.apache.maven.scm.ScmTestCase;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.junit.Test;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -35,7 +36,8 @@ import org.codehaus.plexus.util.cli.Commandline;
 public class GitExeAddCommandTest 
     extends ScmTestCase 
 {
-    
+
+    @Test
     public void testAddCommandSingleFile() throws Exception
     {
         List<File> files = new ArrayList<File>();
@@ -44,7 +46,8 @@ public class GitExeAddCommandTest
         
         testCommandLine( "scm:git:http://foo.com/git", files, "git add -- myFile.java" );
     }
-    
+
+    @Test
     public void testAddCommandMultipleFiles() throws Exception
     {
         List<File> files = new ArrayList<File>();
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/blame/GitBlameConsumerTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameConsumerTest.java
index a17713813..e3f29a022 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameConsumerTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameConsumerTest.java
@@ -19,10 +19,11 @@ package org.apache.maven.scm.provider.git.gitexe.command.blame;
  * under the License.
  */
 
+import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.command.blame.BlameLine;
 import org.apache.maven.scm.util.ConsumerUtils;
-import org.codehaus.plexus.PlexusTestCase;
 import org.junit.Assert;
+import org.junit.Test;
 
 import java.io.BufferedReader;
 import java.io.File;
@@ -33,14 +34,17 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.TimeZone;
 
+import static org.junit.Assert.fail;
+
 /**
  * Test the {@link GitBlameConsumer} in various different situations.
  * Depending on the underlying operating system we might get
  * slightly different output from a <pre>git blame</pre> commandline invocation.
  */
 public class GitBlameConsumerTest
-    extends PlexusTestCase
+        extends ScmTestCase
 {
+    @Test
     public void testConsumerEasy()
         throws Exception
     {
@@ -54,6 +58,7 @@ public class GitBlameConsumerTest
         Assert.assertNotNull( blameLine.getDate() );
     }
 
+    @Test
     public void testConsumer()
         throws Exception
     {
@@ -71,6 +76,7 @@ public class GitBlameConsumerTest
      * Test what happens if a git-blame command got invoked on a
      * file which has no content.
      */
+    @Test
     public void testConsumerEmptyFile()
         throws Exception
     {
@@ -83,6 +89,7 @@ public class GitBlameConsumerTest
      * Test what happens if a git-blame command got invoked on a
      * file which didn't got added to the git repo yet.
      */
+    @Test
     public void testConsumerOnNewFile()
         throws Exception
     {
@@ -98,6 +105,7 @@ public class GitBlameConsumerTest
     /**
      * Test a case where the committer and author are different persons
      */
+    @Test
     public void testConsumerWithDifferentAuthor()
         throws Exception
     {
@@ -121,6 +129,7 @@ public class GitBlameConsumerTest
      * This unit test compares the output of our new parsing with a
      * simplified git blame output.
      */
+    @Test
     public void testConsumerCompareWithOriginal() throws Exception
     {
         GitBlameConsumer consumer = consumeFile( "/src/test/resources/git/blame/git-blame-2.out" );
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/blame/GitExeBlameCommandTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitExeBlameCommandTckTest.java
index eb365fa44..6642b17df 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitExeBlameCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitExeBlameCommandTckTest.java
@@ -23,9 +23,12 @@ import org.apache.maven.scm.command.blame.BlameLine;
 import org.apache.maven.scm.command.blame.BlameScmResult;
 import org.apache.maven.scm.provider.git.GitScmTestUtils;
 import org.apache.maven.scm.provider.git.command.blame.GitBlameCommandTckTest;
+import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 /**
  * @author Evgeny Mandrikov
  */
@@ -38,6 +41,7 @@ public class GitExeBlameCommandTckTest
         return GitScmTestUtils.getScmUrl( getRepositoryRoot(), "git" );
     }
 
+    @Test
     public void testBlameCommand()
         throws Exception
     {
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/changelog/GitChangeLogCommandTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommandTest.java
index 820e000f6..f3e708775 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommandTest.java
@@ -26,6 +26,8 @@ import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.junit.Before;
+import org.junit.Test;
 
 import java.io.File;
 import java.util.Calendar;
@@ -39,7 +41,9 @@ public class GitChangeLogCommandTest
     extends ScmTestCase
 {
     private File workingDirectory;
-    
+
+    @Before
+    @Override
     public void setUp() throws Exception
     {
         super.setUp();
@@ -47,6 +51,7 @@ public class GitChangeLogCommandTest
         workingDirectory = getTestFile( "target/git-update-command-test" );
     }
 
+    @Test
     public void testCommandLineNoDates()
         throws Exception
     {
@@ -54,6 +59,7 @@ public class GitChangeLogCommandTest
                          "git whatchanged --format=medium --date=iso --max-count=40 -- ." );
     }
 
+    @Test
     public void testCommandLineNoDatesLimitedCount()
         throws Exception
     {
@@ -61,6 +67,7 @@ public class GitChangeLogCommandTest
                          "git whatchanged --format=medium --date=iso -- ." );
     }
 
+    @Test
     public void testCommandLineWithDates()
         throws Exception
     {
@@ -71,6 +78,7 @@ public class GitChangeLogCommandTest
                          "git whatchanged --format=medium \"--since=2003-09-10 00:00:00 +0000\" \"--until=2007-10-10 00:00:00 +0000\" --date=iso -- ." );
     }
 
+    @Test
     public void testCommandLineStartDateOnly()
         throws Exception
     {
@@ -80,6 +88,7 @@ public class GitChangeLogCommandTest
                          "git whatchanged --format=medium \"--since=2003-09-10 01:01:01 +0000\" --date=iso -- ." );
     }
 
+    @Test
     public void testCommandLineDateFormat()
         throws Exception
     {
@@ -90,6 +99,7 @@ public class GitChangeLogCommandTest
                          "git whatchanged --format=medium \"--since=2003-09-10 01:01:01 +0000\" \"--until=2005-11-13 23:23:23 +0000\" --date=iso -- ." );
     }
 
+    @Test
     public void testCommandLineDateVersionRanges()
         throws Exception
     {
@@ -99,7 +109,8 @@ public class GitChangeLogCommandTest
         testCommandLine( "scm:git:http://foo.com/git", null, startDate, endDate, new ScmRevision( "1" ), new ScmRevision( "10" ),
                          "git whatchanged --format=medium \"--since=2003-09-10 01:01:01 +0000\" \"--until=2005-11-13 23:23:23 +0000\" --date=iso 1..10 -- ." );
     }
-    
+
+    @Test
     public void testCommandLineEndDateOnly()
         throws Exception
     {
@@ -110,6 +121,7 @@ public class GitChangeLogCommandTest
                          "git whatchanged --format=medium \"--until=2003-11-10 00:00:00 +0000\" --date=iso -- ." );
     }
 
+    @Test
     public void testCommandLineWithBranchNoDates()
         throws Exception
     {
@@ -118,6 +130,7 @@ public class GitChangeLogCommandTest
     }
 
 
+    @Test
     public void testCommandLineWithStartVersion()
         throws Exception
     {
@@ -125,6 +138,7 @@ public class GitChangeLogCommandTest
                          "git whatchanged --format=medium --date=iso 1.. -- ." );
     }
 
+    @Test
     public void testCommandLineWithStartVersionAndEndVersion()
         throws Exception
     {
@@ -132,6 +146,7 @@ public class GitChangeLogCommandTest
                          "git whatchanged --format=medium --date=iso 1..10 -- ." );
     }
 
+    @Test
     public void testCommandLineWithStartVersionAndEndVersionEquals()
         throws Exception
     {
@@ -139,6 +154,7 @@ public class GitChangeLogCommandTest
                          "git whatchanged --format=medium --date=iso 1..1 -- ." );
     }
 
+    @Test
     public void testCommandLineWithStartVersionAndEndVersionAndBranch()
         throws Exception
     {
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/changelog/GitChangeLogConsumerTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java
index 6231071b1..2bac95785 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java
@@ -22,9 +22,9 @@ package org.apache.maven.scm.provider.git.gitexe.command.changelog;
 import org.apache.maven.scm.ChangeFile;
 import org.apache.maven.scm.ChangeSet;
 import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.util.ConsumerUtils;
-import org.codehaus.plexus.PlexusTestCase;
-import org.junit.Assert;
+import org.junit.Test;
 
 import java.io.File;
 import java.text.SimpleDateFormat;
@@ -37,13 +37,19 @@ import java.util.concurrent.atomic.AtomicInteger;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
  */
 public class GitChangeLogConsumerTest
-    extends PlexusTestCase
+        extends ScmTestCase
 {
 
+    @Test
     public void testConsumer1()
         throws Exception
     {
@@ -101,6 +107,7 @@ public class GitChangeLogConsumerTest
         assertTrue( cf.getRevision() != null && cf.getRevision().length() > 0 );
     }
 
+    @Test
     public void testConsumer2()
         throws Exception
     {
@@ -140,7 +147,7 @@ public class GitChangeLogConsumerTest
                 summary.get( action ).incrementAndGet();
             }
         }
-        Assert.assertEquals( "Action summary differs from expectations", "{modified=21, added=88, deleted=1}",
+        assertEquals( "Action summary differs from expectations", "{modified=21, added=88, deleted=1}",
                              summary.toString() );
 
         assertEquals( 8, modifications.size() );
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 3a30cb62e..8a445619c 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
@@ -28,9 +28,13 @@ import org.apache.maven.scm.command.checkout.CheckOutScmResult;
 import org.apache.maven.scm.provider.git.GitScmTestUtils;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.FileUtils;
+import org.junit.Before;
+import org.junit.Test;
 
 import java.io.File;
 
+import static org.junit.Assert.assertEquals;
+
 /**
  * @author Bertrand Paquet
  */
@@ -40,6 +44,8 @@ public class GitCheckInCommandNoBranchTest
 
     private File workingDirectory;
 
+    @Before
+    @Override
     public void setUp()
         throws Exception
     {
@@ -48,6 +54,7 @@ public class GitCheckInCommandNoBranchTest
         workingDirectory = new File( "target/checkin-nobranch" );
     }
 
+    @Test
     public void testCheckinNoBranch()
         throws Exception
     {
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 07dbfdbd0..4f7050aa1 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
@@ -32,9 +32,13 @@ import org.apache.maven.scm.provider.git.util.GitUtil;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.junit.Before;
+import org.junit.Test;
 
 import java.io.File;
 
+import static org.junit.Assert.assertTrue;
+
 /**
  * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
  */
@@ -45,6 +49,8 @@ public class GitCheckInCommandTest
 
     private String messageFileString;
 
+    @Before
+    @Override
     public void setUp()
         throws Exception
     {
@@ -60,6 +66,7 @@ public class GitCheckInCommandTest
         messageFileString = "-F " + path;
     }
 
+    @Test
     public void testCommandLineWithoutTag()
         throws Exception
     {
@@ -73,6 +80,7 @@ public class GitCheckInCommandTest
         }
     }
 
+    @Test
     public void testCommandLineWithUsername()
         throws Exception
     {
@@ -89,6 +97,7 @@ public class GitCheckInCommandTest
     }
 
     // Test reproducing SCM-694
+    @Test
     public void testCheckinAfterRename() throws Exception {
         File repo = getRepositoryRoot();
         File checkedOutRepo = getWorkingCopy();
@@ -139,6 +148,7 @@ public class GitCheckInCommandTest
     }
 
     // Test FileSet in configuration
+    @Test
     public void testCheckinWithFileSet() throws Exception {
         File repo = getRepositoryRoot();
         File checkedOutRepo = getWorkingCopy();
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/GitCheckOutCommandTest.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/GitCheckOutCommandTest.java
index d4f940985..23262e264 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/GitCheckOutCommandTest.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/GitCheckOutCommandTest.java
@@ -25,6 +25,8 @@ import org.apache.maven.scm.manager.ScmManager;
 import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.junit.Before;
+import org.junit.Test;
 
 import java.io.File;
 
@@ -41,6 +43,8 @@ public class GitCheckOutCommandTest
     //
     // ----------------------------------------------------------------------
 
+    @Before
+    @Override
     public void setUp()
         throws Exception
     {
@@ -53,6 +57,7 @@ public class GitCheckOutCommandTest
     //
     // ----------------------------------------------------------------------
 
+    @Test
     public void testCommandLineWithBranch()
         throws Exception
     {
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 7b02bb873..3079d8ff5 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
@@ -25,9 +25,13 @@ import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.checkout.CheckOutScmResult;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.FileUtils;
+import org.junit.Before;
+import org.junit.Test;
 
 import java.io.File;
 
+import static org.junit.Assert.assertEquals;
+
 /**
  * @author Bertrand Paquet
  *
@@ -41,6 +45,8 @@ public class GitExeCheckOutCommandNoBranchTest
 
     private ScmRepository scmRepository;
 
+    @Before
+    @Override
     public void setUp()
         throws Exception
     {
@@ -54,6 +60,7 @@ public class GitExeCheckOutCommandNoBranchTest
                             repo.toPath().toAbsolutePath().toUri().toASCIIString() );
     }
 
+    @Test
     public void testCheckoutNoBranch()
         throws Exception
     {
@@ -66,6 +73,7 @@ public class GitExeCheckOutCommandNoBranchTest
         assertEquals( 0, result.getCheckedOutFiles().size() );
     }
 
+    @Test
     public void testDoubleCheckoutNoBranch()
         throws Exception
     {
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/diff/GitDiffRawConsumerTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffRawConsumerTest.java
index 40d44adef..12f4924c9 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffRawConsumerTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffRawConsumerTest.java
@@ -6,8 +6,11 @@ import java.io.Reader;
 import java.util.List;
 
 import org.apache.maven.scm.ScmFile;
-import org.codehaus.plexus.PlexusTestCase;
+import org.apache.maven.scm.ScmTestCase;
 import org.codehaus.plexus.util.ReaderFactory;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -32,12 +35,12 @@ import org.codehaus.plexus.util.ReaderFactory;
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
  */
 public class GitDiffRawConsumerTest
-    extends PlexusTestCase
+        extends ScmTestCase
 {
+    @Test
     public void testUpToDate()
         throws Exception
     {
-
         GitDiffRawConsumer consumer = buildGitDiffRawConsumer("/src/test/resources/git/diff/git-diff-raw_long.out");
 
         List<ScmFile> changedFiles = consumer.getChangedFiles();
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/GitInfoCommandTckTest.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/GitInfoCommandTckTest.java
index 7d853ebfc..ce5a03646 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/GitInfoCommandTckTest.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/GitInfoCommandTckTest.java
@@ -27,10 +27,14 @@ import org.apache.maven.scm.command.info.InfoScmResult;
 import org.apache.maven.scm.provider.ScmProvider;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.git.GitScmTestUtils;
-import org.codehaus.plexus.PlexusTestCase;
+import org.junit.Test;
 
 import java.io.File;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 /**
  * @author Olivier Lamy
  */
@@ -38,6 +42,7 @@ public class GitInfoCommandTckTest
     extends ScmTestCase
 {
 
+    @Test
     public void testInfoCommand()
         throws Exception
     {
@@ -53,6 +58,7 @@ public class GitInfoCommandTckTest
         //
     }
 
+    @Test
     public void testInfoCommandWithShortRevision()
         throws Exception
     {
@@ -69,6 +75,7 @@ public class GitInfoCommandTckTest
                       result.getInfoItems().get( 0 ).getRevision() );
     }
 
+    @Test
     public void testInfoCommandWithNegativeShortRevision()
         throws Exception
     {
@@ -85,7 +92,7 @@ public class GitInfoCommandTckTest
                       result.getInfoItems().get( 0 ).getRevision() );
     }
 
-
+    @Test
     public void testInfoCommandWithZeroShortRevision()
         throws Exception
     {
@@ -104,7 +111,7 @@ public class GitInfoCommandTckTest
 
     protected File getRepositoryRoot()
     {
-        return PlexusTestCase.getTestFile( "target/scm-test/repository/git/info" );
+        return getTestFile( "target/scm-test/repository/git/info" );
     }
 
     public String getScmUrl()
@@ -115,6 +122,6 @@ public class GitInfoCommandTckTest
 
     protected File getWorkingCopy()
     {
-        return PlexusTestCase.getTestFile( "target/scm-test/git/info" );
+        return getTestFile( "target/scm-test/git/info" );
     }
 }
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/remoteinfo/GitExeRemoteInfoCommandTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitExeRemoteInfoCommandTckTest.java
index 01a28f371..c6d84ea15 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitExeRemoteInfoCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitExeRemoteInfoCommandTckTest.java
@@ -23,6 +23,8 @@ import org.apache.maven.scm.command.remoteinfo.RemoteInfoScmResult;
 import org.apache.maven.scm.provider.git.GitScmTestUtils;
 import org.apache.maven.scm.provider.git.command.remoteinfo.AbstractGitRemoteInfoCommandTckTest;
 
+import static org.junit.Assert.assertEquals;
+
 /**
  * @author Bertrand Paquet
  */
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/remoteinfo/GitRemoteInfoConsumerTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoConsumerTest.java
index df02e5325..e21074c9a 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoConsumerTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoConsumerTest.java
@@ -19,16 +19,20 @@ package org.apache.maven.scm.provider.git.gitexe.command.remoteinfo;
  * under the License.
  */
 
+import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.command.remoteinfo.RemoteInfoScmResult;
-import org.codehaus.plexus.PlexusTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
 
 /**
  * @author Bertrand Paquet
  */
 public class GitRemoteInfoConsumerTest
-    extends PlexusTestCase
+        extends ScmTestCase
 {
 
+    @Test
     public void testConsumerRemoteInfo()
     {
         GitRemoteInfoConsumer consumer = new GitRemoteInfoConsumer( null );
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/remove/GitRemoveCommandTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveCommandTest.java
index 65c0d8523..eaeb2bac8 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveCommandTest.java
@@ -22,6 +22,7 @@ package org.apache.maven.scm.provider.git.gitexe.command.remove;
 import org.apache.maven.scm.ScmTestCase;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.junit.Test;
 
 import java.io.File;
 import java.io.IOException;
@@ -34,6 +35,7 @@ public class GitRemoveCommandTest
     extends ScmTestCase
 {
 
+    @Test
     public void testCommandRemoveWithFile()
         throws Exception
     {
@@ -49,6 +51,7 @@ public class GitRemoveCommandTest
         FileUtils.deleteDirectory( workingDirectory );
     }
 
+    @Test
     public void testCommandRemoveWithDirectory()
         throws Exception
     {
@@ -64,6 +67,7 @@ public class GitRemoveCommandTest
         FileUtils.deleteDirectory( workingDirectory );
     }
 
+    @Test
     public void testCommandRemoveWithTwoDirectory()
         throws Exception
     {
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/remove/GitRemoveConsumerTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumerTest.java
index 6b5fd3741..64be3cf3f 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumerTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumerTest.java
@@ -21,20 +21,25 @@ package org.apache.maven.scm.provider.git.gitexe.command.remove;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.util.ConsumerUtils;
-import org.codehaus.plexus.PlexusTestCase;
+import org.junit.Test;
 
 import java.io.File;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
  */
 public class GitRemoveConsumerTest
-    extends PlexusTestCase
+        extends ScmTestCase
 {
-    
-    public void testConsumerRemovedFile() 
+
+    @Test
+    public void testConsumerRemovedFile()
     {
         GitRemoveConsumer consumer = new GitRemoveConsumer();
         
@@ -45,7 +50,8 @@ public class GitRemoveConsumerTest
         assertNotNull( changedFiles );
         assertEquals( 1, changedFiles.size() );
     }
-    
+
+    @Test
     public void testLog1Consumer()
     throws Exception
     {
@@ -62,7 +68,8 @@ public class GitRemoveConsumerTest
         testScmFile( (ScmFile) changedFiles.get( 0 ), "src/main/java/Application.java", ScmFileStatus.DELETED );
         testScmFile( (ScmFile) changedFiles.get( 1 ), "src/test/java/Test.java" , ScmFileStatus.DELETED );
     }
- 
+
+    @Test
     public void testEmptyLogConsumer()
     throws Exception
     {
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/status/GitStatusConsumerTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumerTest.java
index f206589df..3c12edcec 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumerTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumerTest.java
@@ -32,13 +32,17 @@ import org.apache.commons.io.FileUtils;
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.ScmFileSet;
-import org.codehaus.plexus.PlexusTestCase;
+import org.apache.maven.scm.ScmTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
  */
 public class GitStatusConsumerTest
-    extends PlexusTestCase
+        extends ScmTestCase
 {
 
     private List<ScmFile> getChangedFiles( File gitlog )
@@ -95,6 +99,7 @@ public class GitStatusConsumerTest
         return consumer.getChangedFiles();
     }
 
+    @Test
     public void testConsumerUntrackedFile()
     {
         List<ScmFile> changedFiles = getChangedFiles( "?? project.xml", null );
@@ -108,6 +113,7 @@ public class GitStatusConsumerTest
         assertEquals( 0, changedFiles.size() );
     }
 
+    @Test
     public void testConsumerAddedFile()
     {
         List<ScmFile> changedFiles = getChangedFiles( "A  project.xml", null );
@@ -123,6 +129,7 @@ public class GitStatusConsumerTest
         assertEquals("test file with spaces and a special \u007f character.xml", changedFiles.get( 0 ).getPath() );
     }
 
+    @Test
     public void testConsumerAddedAndModifiedFile()
     {
         List<ScmFile> changedFiles = getChangedFiles( "AM project.xml", null );
@@ -139,6 +146,7 @@ public class GitStatusConsumerTest
                      "test file with spaces and a special \u007f character.xml", ScmFileStatus.ADDED );
     }
 
+    @Test
     public void testConsumerAddedFileWithDirectoryAndNoFile()
         throws IOException
     {
@@ -157,6 +165,7 @@ public class GitStatusConsumerTest
         FileUtils.deleteDirectory( dir );
     }
 
+    @Test
     public void testConsumerAddedFileWithDirectoryAndFile()
         throws IOException
     {
@@ -181,6 +190,7 @@ public class GitStatusConsumerTest
         FileUtils.deleteDirectory( dir );
     }
 
+    @Test
     public void testConsumerModifiedFile()
     {
         List<ScmFile> changedFiles = getChangedFiles( "M  project.xml", null );
@@ -196,6 +206,7 @@ public class GitStatusConsumerTest
         assertEquals("test file with spaces and a special \u007f character.xml", changedFiles.get( 0 ).getPath() );
     }
 
+    @Test
     public void testURI()
         throws Exception
     {
@@ -204,6 +215,7 @@ public class GitStatusConsumerTest
         assertEquals( path, u.getPath() );
     }
 
+    @Test
     public void testConsumerWithFileSet()
         throws IOException
     {
@@ -228,6 +240,7 @@ public class GitStatusConsumerTest
     }
 
 	// SCM-740
+    @Test
 	public void testConsumerModifiedFileInComplexDirectorySetup() throws IOException {
 
 		File dir = createTempDirectory();
@@ -255,6 +268,7 @@ public class GitStatusConsumerTest
         FileUtils.deleteDirectory( dir );
 	}
 
+    @Test
 	public void testConsumerModifiedFileInComplexDirectoryWithSpaces() throws IOException {
 
 		File dir = createTempDirectory();
@@ -285,6 +299,7 @@ public class GitStatusConsumerTest
         FileUtils.deleteDirectory( dir );
 	}
 
+    @Test
 	public void testConsumerModifiedFileUnstaged()
     {
         List<ScmFile> changedFiles = getChangedFiles( "M  project.xml", null );
@@ -301,6 +316,7 @@ public class GitStatusConsumerTest
                      ScmFileStatus.MODIFIED );
     }
 
+    @Test
     public void testConsumerModifiedFileBothStagedAndUnstaged()
     {
         List<ScmFile> changedFiles = getChangedFiles( "MM project.xml", null );
@@ -317,6 +333,7 @@ public class GitStatusConsumerTest
                      ScmFileStatus.MODIFIED );
     }
 
+    @Test
     public void testConsumerModifiedFileWithDirectoryAndNoFile()
         throws IOException
     {
@@ -335,6 +352,7 @@ public class GitStatusConsumerTest
         FileUtils.deleteDirectory( dir );
     }
 
+    @Test
     public void testConsumerModifiedFileWithDirectoryAndFile()
         throws IOException
     {
@@ -359,6 +377,7 @@ public class GitStatusConsumerTest
         FileUtils.deleteDirectory( dir );
     }
 
+    @Test
     public void testConsumerRemovedFile()
     {
         List<ScmFile> changedFiles = getChangedFiles( "D  Capfile", null );
@@ -374,6 +393,7 @@ public class GitStatusConsumerTest
         assertEquals( "test file with spaces and a déjà vu character.xml", changedFiles.get( 0 ).getPath() );
     }
 
+    @Test
     public void testConsumerRemovedFileUnstaged()
     {
         List<ScmFile> changedFiles = getChangedFiles( "D  Capfile", null );
@@ -389,6 +409,7 @@ public class GitStatusConsumerTest
         assertEquals( ScmFileStatus.DELETED, changedFiles.get( 0 ).getStatus() );
     }
 
+    @Test
     public void testConsumerRemovedFileWithDirectoryAndNoFile()
         throws IOException
     {
@@ -409,6 +430,7 @@ public class GitStatusConsumerTest
         FileUtils.deleteDirectory( dir );
     }
 
+    @Test
     public void testConsumerRemovedFileWithDirectoryAndFile()
         throws IOException
     {
@@ -431,6 +453,7 @@ public class GitStatusConsumerTest
     }
 
     // Test reproducing SCM-694
+    @Test
     public void testConsumerRenamedFile()
         throws Exception
     {
@@ -462,6 +485,7 @@ public class GitStatusConsumerTest
         FileUtils.deleteDirectory( dir );
     }
 
+    @Test
     public void testLog1Consumer()
         throws Exception
     {
@@ -475,6 +499,7 @@ public class GitStatusConsumerTest
         testScmFile( changedFiles.get( 3 ), "d\u00e9j\u00e0 vu.txt", ScmFileStatus.MODIFIED );
     }
 
+    @Test
     public void testEmptyLogConsumer()
         throws Exception
     {
@@ -483,6 +508,7 @@ public class GitStatusConsumerTest
         assertEquals( 0, changedFiles.size() );
     }
 
+    @Test
     public void testLog2Consumer()
         throws Exception
     {
@@ -505,6 +531,7 @@ public class GitStatusConsumerTest
     }
 
     // SCM-709
+    @Test
     public void testResolvePath()
     {
         File repositoryRoot = getTestFile( "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/tag/GitTagCommandTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommandTest.java
index 6633dc12c..ca7681609 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommandTest.java
@@ -23,6 +23,8 @@ import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.junit.Before;
+import org.junit.Test;
 
 import java.io.File;
 
@@ -36,6 +38,8 @@ public class GitTagCommandTest
 
     private String messageFileString;
 
+    @Before
+    @Override
     public void setUp()
         throws Exception
     {
@@ -51,13 +55,14 @@ public class GitTagCommandTest
         messageFileString = "-F " + path;
     }
 
-
+    @Test
     public void testCommandLineTag()
         throws Exception
     {
         testCommandLine( "scm:git:http://foo.com/git/trunk", "my-tag-1", "git tag " + messageFileString + " my-tag-1", false );
     }
 
+    @Test
     public void testCommandLineWithUsernameAndTag()
         throws Exception
     {
@@ -65,6 +70,7 @@ public class GitTagCommandTest
                          "git tag " + messageFileString + " my-tag-1", false );
     }
 
+    @Test
     public void testCommandLineWithUsernameAndTagAndSign()
             throws Exception
     {
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/update/GitLatestRevisionCommandConsumerTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitLatestRevisionCommandConsumerTest.java
index 3c7b093df..55fd8edab 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitLatestRevisionCommandConsumerTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitLatestRevisionCommandConsumerTest.java
@@ -4,8 +4,12 @@ import java.io.BufferedReader;
 import java.io.File;
 import java.io.Reader;
 
-import org.codehaus.plexus.PlexusTestCase;
+import org.apache.maven.scm.ScmTestCase;
 import org.codehaus.plexus.util.ReaderFactory;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -32,8 +36,9 @@ import org.codehaus.plexus.util.ReaderFactory;
  *
  */
 public class GitLatestRevisionCommandConsumerTest
-    extends PlexusTestCase
+        extends ScmTestCase
 {
+    @Test
     public void testUpToDate()
         throws Exception
     {
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/update/GitUpdateCommandTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommandTest.java
index 0e2f94f5f..c1f546ccb 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommandTest.java
@@ -25,6 +25,7 @@ import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.junit.Test;
 
 import java.io.File;
 
@@ -35,19 +36,21 @@ import java.io.File;
 public class GitUpdateCommandTest
     extends ScmTestCase
 {
+    @Test
     public void testCommandLineNoBranch()
         throws Exception
     {
         testCommandLine( "scm:git:http://foo.com/git", null, "git pull http://foo.com/git" );
     }
 
+    @Test
     public void testCommandLineWithBranch()
     throws Exception
     {
         testCommandLine( "scm:git:http://foo.com/git", new ScmBranch( "mybranch" ), "git pull http://foo.com/git mybranch" );
     }
 
-
+    @Test
     public void testCommandLineLatestRevision()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/pom.xml b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/pom.xml
index 0e145bfb1..728c1582f 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/pom.xml
@@ -46,10 +46,6 @@
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-utils</artifactId>
     </dependency>
-    <dependency>
-      <groupId>org.eclipse.sisu</groupId>
-      <artifactId>org.eclipse.sisu.plexus</artifactId>
-    </dependency>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/GitScmTestUtils.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/GitScmTestUtils.java
index a924f10f6..d7fc5d877 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/GitScmTestUtils.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/GitScmTestUtils.java
@@ -23,9 +23,9 @@ import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
 
+import org.apache.maven.scm.PlexusJUnit4TestSupport;
 import org.junit.Assert;
 
-import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.cli.CommandLineException;
 
@@ -53,7 +53,7 @@ public final class GitScmTestUtils
         throws IOException
     {
         // Copy the repository to target
-        File src = PlexusTestCase.getTestFile( source );
+        File src = PlexusJUnit4TestSupport.getTestFile( source );
 
         FileUtils.deleteDirectory( repository );
 
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/changelog/GitChangeLogCommandTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/changelog/GitChangeLogCommandTckTest.java
index 2ef7a2a5b..6fa3acfa5 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/changelog/GitChangeLogCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/changelog/GitChangeLogCommandTckTest.java
@@ -29,12 +29,14 @@ import org.apache.maven.scm.provider.ScmProvider;
 import org.apache.maven.scm.provider.git.GitScmTestUtils;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.apache.maven.scm.tck.command.changelog.ChangeLogCommandTckTest;
+import org.junit.Test;
 
 import java.io.File;
 import java.util.List;
 
 import static org.hamcrest.CoreMatchers.startsWith;
 import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertEquals;
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
@@ -64,6 +66,7 @@ public abstract class GitChangeLogCommandTckTest
         }
     }
 
+    @Test
     public void testChangeLogCommandFromHeadAncestorAndHead()
         throws Exception
     {
@@ -87,6 +90,7 @@ public abstract class GitChangeLogCommandTckTest
         assertThat( "bad head commit SHA1 retrieved", logEntries.get( 0 ).getRevision(), startsWith( "464921b" ) );
     }
 
+    @Test
     public void testChangeLogCommandFromHeadToHead()
             throws Exception
     {
@@ -107,6 +111,7 @@ public abstract class GitChangeLogCommandTckTest
                 0, logEntries.size() );
     }
 
+    @Test
     public void testChangeLogCommandFromUndefinedToHead()
             throws Exception
     {
@@ -125,6 +130,7 @@ public abstract class GitChangeLogCommandTckTest
                 0, logEntries.size() );
     }
 
+    @Test
     public void testChangeLogCommandFromVersionToUndefined()
             throws Exception
     {
@@ -146,6 +152,7 @@ public abstract class GitChangeLogCommandTckTest
         assertThat( "bad commit SHA1 retrieved", logEntries.get( 1 ).getRevision(), startsWith( "db46d63" ) );
     }
 
+    @Test
     public void testChangeLogCommandFromVoneToVtwo()
             throws Exception
     {
@@ -169,6 +176,7 @@ public abstract class GitChangeLogCommandTckTest
         assertThat( "bad commit SHA1 retrieved", logEntries.get( 1 ).getRevision(), startsWith( "e3864d9" ) );
     }
 
+    @Test
     public void testChangeLogCommandWithStartEndInBadOrder()
             throws Exception
     {
@@ -189,6 +197,7 @@ public abstract class GitChangeLogCommandTckTest
                 0, logEntries.size() );
     }
 
+    @Test
     public void testChangeLogCommandFromHeadToStartOfRepository()
             throws Exception
     {
@@ -207,6 +216,7 @@ public abstract class GitChangeLogCommandTckTest
                 5, logEntries.size() );
     }
 
+    @Test
     public void testChangeLogCommandFromVersionToStartOfRepository()
             throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml
index 4abcc1cf6..f5aab7b1a 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml
@@ -70,6 +70,11 @@
     </dependency>
 
     <!-- Test -->
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-gittest</artifactId>
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandCommitterAuthorTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandCommitterAuthorTckTest.java
index b391e91fd..1f4cd44dd 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandCommitterAuthorTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandCommitterAuthorTckTest.java
@@ -45,6 +45,14 @@ import org.eclipse.jgit.storage.file.FileBasedConfig;
 import org.eclipse.jgit.util.FS;
 import org.eclipse.jgit.util.FileUtils;
 import org.eclipse.jgit.util.SystemReader;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * @author Dominik Bartholdi (imod)
@@ -52,18 +60,20 @@ import org.eclipse.jgit.util.SystemReader;
 public class JGitCheckInCommandCommitterAuthorTckTest
     extends GitCheckInCommandTckTest
 {
-    
+
+    @Before
     @Override
-    protected void setUp()
+    public void setUp()
         throws Exception
     {
         super.setUp();
 
         SystemReader.setInstance( new CustomSystemReader() );
     }
-    
+
+    @After
     @Override
-    protected void tearDown()
+    public void tearDown()
         throws Exception
     {
         super.tearDown();
@@ -92,6 +102,7 @@ public class JGitCheckInCommandCommitterAuthorTckTest
     }
 
     @Override
+    @Test
     public void testCheckInCommandTest()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/remoteinfo/JGitRemoteInfoCommandTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/remoteinfo/JGitRemoteInfoCommandTckTest.java
index 03f49221d..714bc8e7b 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/remoteinfo/JGitRemoteInfoCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/remoteinfo/JGitRemoteInfoCommandTckTest.java
@@ -29,6 +29,8 @@ import org.apache.maven.scm.provider.git.command.remoteinfo.AbstractGitRemoteInf
 import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
 import org.eclipse.jgit.util.FileUtils;
 
+import static org.junit.Assert.assertEquals;
+
 /**
  * 
  * @author Dominik Bartholdi (imod)
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml
index ff389ca51..e6bf0df3f 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml
@@ -47,6 +47,12 @@
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
     </dependency>
+
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <build>
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/SvnCommandUtilsTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/SvnCommandUtilsTest.java
index a7b9ba479..005d68fc5 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/SvnCommandUtilsTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/SvnCommandUtilsTest.java
@@ -20,6 +20,11 @@ package org.apache.maven.scm.provider.svn;
  */
 
 import org.apache.maven.scm.ScmTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 /**
  * @author <a href="mailto:jerome@coffeebreaks.org">Jerome Lacoste</a>
@@ -32,6 +37,7 @@ public class SvnCommandUtilsTest
     // appendPath
     // ----------------------------------------------------------------------
 
+    @Test
     public void testFixUrlHttpUrlsAreIgnored()
         throws Exception
     {
@@ -41,6 +47,7 @@ public class SvnCommandUtilsTest
         assertEquals( unchanged, SvnCommandUtils.fixUrl( unchanged, "user" ) );
     }
 
+    @Test
     public void testFixUrlNPEifNullURL()
         throws Exception
     {
@@ -55,6 +62,7 @@ public class SvnCommandUtilsTest
         }
     }
 
+    @Test
     public void testFixUrlSvnSshUrlsUsernameIsAddedWhenUserSpecified()
         throws Exception
     {
@@ -66,6 +74,7 @@ public class SvnCommandUtilsTest
                       SvnCommandUtils.fixUrl( "svn+ssh://foo.com/svn/myproject", "user" ) );
     }
 
+    @Test
     public void testFixUrlSvnSshUrlsUsernameIsOverridenWhenUserSpecified()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtilsTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtilsTest.java
index 413c0b0bb..d637f34d9 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtilsTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtilsTest.java
@@ -25,6 +25,11 @@ import org.apache.maven.scm.ScmTag;
 import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 /**
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
@@ -37,6 +42,7 @@ public class SvnTagBranchUtilsTest
     // appendPath
     // ----------------------------------------------------------------------
 
+    @Test
     public void testAppendPath()
         throws Exception
     {
@@ -44,18 +50,21 @@ public class SvnTagBranchUtilsTest
                       SvnTagBranchUtils.appendPath( "http://foo.com/svn", "myproject/tags/foo" ) );
     }
 
+    @Test
     public void testAppendPathNullAddlPath()
         throws Exception
     {
         assertEquals( "http://foo.com/svn", SvnTagBranchUtils.appendPath( "http://foo.com/svn", null ) );
     }
 
+    @Test
     public void testAppendPathNullAddlTrailingSlash()
         throws Exception
     {
         assertEquals( "http://foo.com/svn", SvnTagBranchUtils.appendPath( "http://foo.com/svn/", null ) );
     }
 
+    @Test
     public void testAppendPathTrailingSlash()
         throws Exception
     {
@@ -63,6 +72,7 @@ public class SvnTagBranchUtilsTest
                       SvnTagBranchUtils.appendPath( "http://foo.com/svn/", "myproject/tags/foo" ) );
     }
 
+    @Test
     public void testAppendPathLeadingAndTrailingSlash()
         throws Exception
     {
@@ -74,6 +84,7 @@ public class SvnTagBranchUtilsTest
     // resolveTagBase
     // ----------------------------------------------------------------------
 
+    @Test
     public void testResolveTagBase()
     {
         assertEquals( "http://foo.com/svn/myproject/tags",
@@ -86,6 +97,7 @@ public class SvnTagBranchUtilsTest
     // getProjectRoot
     // ----------------------------------------------------------------------
 
+    @Test
     public void testGetProjectRootTagBranchTrunk()
         throws Exception
     {
@@ -100,6 +112,7 @@ public class SvnTagBranchUtilsTest
         }
     }
 
+    @Test
     public void testGetProjectRootNoRootSpecifier()
         throws Exception
     {
@@ -112,6 +125,7 @@ public class SvnTagBranchUtilsTest
         testGetProjectRoot( "scm:svn:http://foo.com/svn/nbranches", "http://foo.com/svn/nbranches" );
     }
 
+    @Test
     public void testGetProjectRootLooksLikeRootSpecifier()
         throws Exception
     {
@@ -123,6 +137,7 @@ public class SvnTagBranchUtilsTest
 
     }
 
+    @Test
     public void testGetProjectRootDoubleProjectRoots()
         throws Exception
     {
@@ -136,6 +151,7 @@ public class SvnTagBranchUtilsTest
     // resolveTagUrl
     // ----------------------------------------------------------------------
 
+    @Test
     public void testResolveTagRelative()
         throws Exception
     {
@@ -150,6 +166,7 @@ public class SvnTagBranchUtilsTest
         testResolveTagUrl( "scm:svn:http://foo.com/svn/tags", "my-tag", "http://foo.com/svn/tags/my-tag" );
     }
 
+    @Test
     public void testResolveTagAbsolute()
         throws Exception
     {
@@ -161,6 +178,7 @@ public class SvnTagBranchUtilsTest
 
     }
 
+    @Test
     public void testResolveTagWithSlashes()
         throws Exception
     {
@@ -172,6 +190,7 @@ public class SvnTagBranchUtilsTest
                               "http://foo.com/svn/myproject/branches/my-branch" );
     }
 
+    @Test
     public void testResolveTagWithTagOverwritingBase()
         throws Exception
     {
@@ -192,6 +211,7 @@ public class SvnTagBranchUtilsTest
                            "file://localhost/C:/mydir/myproject/trunk/my-module/target/scm-src/tags/my-tag" );
     }
 
+    @Test
     public void testResolveTagWithTagBaseSpecified()
         throws Exception
     {
@@ -201,6 +221,7 @@ public class SvnTagBranchUtilsTest
                            "http://foo.com/svn/non-standard/tag/dir/my-tag" );
     }
 
+    @Test
     public void testResolveTagLooksLikeOverwriteTagBase()
         throws Exception
     {
@@ -210,6 +231,7 @@ public class SvnTagBranchUtilsTest
                            "http://foo.com/svn/tags/metatags/my-tag" );
     }
 
+    @Test
     public void testResolveBranchSimple()
         throws Exception
     {
@@ -229,6 +251,7 @@ public class SvnTagBranchUtilsTest
 
     }
 
+    @Test
     public void testResolveBranchTagBase()
         throws Exception
     {
@@ -242,6 +265,7 @@ public class SvnTagBranchUtilsTest
     // revisionArgument
     // ----------------------------------------------------------------------
 
+    @Test
     public void testIsRevisionArgumentSimple()
     {
         assertTrue( SvnTagBranchUtils.isRevisionSpecifier( new ScmRevision( "12345" ) ) );
@@ -258,6 +282,7 @@ public class SvnTagBranchUtilsTest
 
     }
 
+    @Test
     public void testIsRevisionArgumentRange()
     {
         assertTrue( SvnTagBranchUtils.isRevisionSpecifier( new ScmRevision( "12345:12345" ) ) );
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepositoryTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepositoryTest.java
index f34f5a2b8..8c3bd8fcc 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepositoryTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepositoryTest.java
@@ -23,6 +23,13 @@ import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.manager.ScmManager;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.apache.maven.scm.repository.ScmRepositoryException;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 /**
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
@@ -33,6 +40,8 @@ public class SvnScmProviderRepositoryTest
 {
     private ScmManager scmManager;
 
+    @Before
+    @Override
     public void setUp()
         throws Exception
     {
@@ -45,24 +54,28 @@ public class SvnScmProviderRepositoryTest
     // Testing legal URLs
     // ----------------------------------------------------------------------
 
+    @Test
     public void testLegalFileURL()
         throws Exception
     {
         testUrl( "scm:svn:file:///tmp/repo", "file:///tmp/repo", null, null, null );
     }
 
+    @Test
     public void testLegalLocalhostFileURL()
         throws Exception
     {
         testUrl( "scm:svn:file://localhost/tmp/repo", "file://localhost/tmp/repo", null, null, null );
     }
 
+    @Test
     public void testLegalHistnameFileURL()
         throws Exception
     {
         testUrl( "scm:svn:file://my_server/tmp/repo", "file://my_server/tmp/repo", null, null, null );
     }
 
+    @Test
     public void testLegalHttpURL()
         throws Exception
     {
@@ -70,6 +83,7 @@ public class SvnScmProviderRepositoryTest
                  "subversion.tigris.org" );
     }
 
+    @Test
     public void testLegalHttpURLWithUser()
         throws Exception
     {
@@ -77,6 +91,7 @@ public class SvnScmProviderRepositoryTest
                  "subversion.tigris.org" );
     }
 
+    @Test
     public void testLegalHttpURLWithUserPassword()
         throws Exception
     {
@@ -84,6 +99,7 @@ public class SvnScmProviderRepositoryTest
                  "password", "subversion.tigris.org" );
     }
 
+    @Test
     public void testLegalHttpsURL()
         throws Exception
     {
@@ -91,6 +107,7 @@ public class SvnScmProviderRepositoryTest
                  "subversion.tigris.org" );
     }
 
+    @Test
     public void testLegalHttpsURLWithUser()
         throws Exception
     {
@@ -98,6 +115,7 @@ public class SvnScmProviderRepositoryTest
                  "subversion.tigris.org" );
     }
 
+    @Test
     public void testLegalHttpsURLWithUserPassword()
         throws Exception
     {
@@ -105,6 +123,7 @@ public class SvnScmProviderRepositoryTest
                  "password", "subversion.tigris.org" );
     }
 
+    @Test
     public void testLegalSvnURL()
         throws Exception
     {
@@ -112,6 +131,7 @@ public class SvnScmProviderRepositoryTest
                  "subversion.tigris.org" );
     }
 
+    @Test
     public void testLegalSvnPlusUsernameURL()
         throws Exception
     {
@@ -119,6 +139,7 @@ public class SvnScmProviderRepositoryTest
                  "subversion.tigris.org" );
     }
 
+    @Test
     public void testLegalSvnPlusUsernamePasswordURL()
         throws Exception
     {
@@ -126,6 +147,7 @@ public class SvnScmProviderRepositoryTest
                  "password", "subversion.tigris.org" );
     }
 
+    @Test
     public void testLegalSvnPlusSshURL()
         throws Exception
     {
@@ -141,6 +163,7 @@ public class SvnScmProviderRepositoryTest
                  "subversion.tigris.org" );
     }*/
 
+    @Test
     public void testLegalSvnPlusSshPlusUsernameURL()
         throws Exception
     {
@@ -156,6 +179,7 @@ public class SvnScmProviderRepositoryTest
                  "username@subversion.tigris.org" );
     }*/
 
+    @Test
     public void testLegalSvnPortUrl()
         throws Exception
     {
@@ -174,6 +198,7 @@ public class SvnScmProviderRepositoryTest
     // Testing illegal URLs
     // ----------------------------------------------------------------------
 
+    @Test
     public void testIllegalFileUrl()
         throws Exception
     {
@@ -246,18 +271,21 @@ public class SvnScmProviderRepositoryTest
         }
     }
 
+    @Test
     public void testGetParent()
     {
         new SvnScmProviderRepository( "http://subversion.tigris.org" );
     }
-    
+
+    @Test
     public void testGetParentDotSlashEndingURL()
     {
         SvnScmProviderRepository slashDotRepo = new SvnScmProviderRepository( "file://a/b/c/././." );
         assertTrue( slashDotRepo.getParent() instanceof SvnScmProviderRepository );
         assertEquals( "file://a/b", ( (SvnScmProviderRepository) slashDotRepo.getParent() ).getUrl() );
     }
-    
+
+    @Test
     public void testGetParentSlashEndingURL()
     {
         SvnScmProviderRepository slashRepo = new SvnScmProviderRepository( "file://a/b/c///" );
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml
index e4958f4de..75565a572 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml
@@ -67,11 +67,6 @@
       <artifactId>maven-scm-provider-svntest</artifactId>
       <scope>test</scope>
     </dependency>
-    <dependency>
-      <groupId>org.eclipse.sisu</groupId>
-      <artifactId>org.eclipse.sisu.plexus</artifactId>
-      <scope>test</scope>
-    </dependency>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
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/SvnCommandLineUtilsTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtilsTest.java
index 37f4f834b..873aabd57 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtilsTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtilsTest.java
@@ -23,7 +23,9 @@ import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.codehaus.plexus.util.Os;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotEquals;
 
 import java.io.File;
@@ -35,6 +37,7 @@ import java.io.File;
 public class SvnCommandLineUtilsTest
     extends ScmTestCase
 {
+    @Test
     public void testCryptPassword()
         throws Exception
     {
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/blame/SvnExeBlameCommandTckTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/blame/SvnExeBlameCommandTckTest.java
index e578ff50e..ef989b7c8 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/blame/SvnExeBlameCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/blame/SvnExeBlameCommandTckTest.java
@@ -20,6 +20,7 @@ package org.apache.maven.scm.provider.svn.svnexe.command.blame;
  */
 
 import org.apache.maven.scm.provider.svn.command.blame.SvnBlameCommandTckTest;
+import org.junit.Test;
 
 /**
  * @author Evgeny Mandrikov
@@ -27,6 +28,7 @@ import org.apache.maven.scm.provider.svn.command.blame.SvnBlameCommandTckTest;
 public class SvnExeBlameCommandTckTest
     extends SvnBlameCommandTckTest
 {
+    @Test
     public void testBlameCommand()
         throws Exception
     {
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/branch/SvnExeBranchCommandTckTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnExeBranchCommandTckTest.java
index 3547f22a4..e307bf456 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnExeBranchCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnExeBranchCommandTckTest.java
@@ -24,6 +24,7 @@ import org.apache.maven.scm.provider.svn.command.branch.SvnBranchCommandTckTest;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.junit.Test;
 
 import java.io.File;
 
@@ -37,6 +38,7 @@ public class SvnExeBranchCommandTckTest
     extends SvnBranchCommandTckTest
 {
     //--no-auth-cache
+    @Test
     public void testBranchUserNameSvnHttpsRemoteBranchingWithRev()
         throws Exception
     {
@@ -54,6 +56,7 @@ public class SvnExeBranchCommandTckTest
                          scmBranchParameters );
     }
 
+    @Test
     public void testBranchUserNameSvnHttpsRemoteBranchingWithRevWithPinExternals()
         throws Exception
     {
@@ -71,6 +74,7 @@ public class SvnExeBranchCommandTckTest
                          scmBranchParameters );
     }
 
+    @Test
     public void testBranchUserNameSvnHttpsRemoteBranchingNoRev()
         throws Exception
     {
@@ -86,6 +90,7 @@ public class SvnExeBranchCommandTckTest
                              + " --encoding UTF-8 https://foo.com/svn/trunk@ https://foo.com/svn/branches/svnbranch@", scmBranchParameters );
     }
 
+    @Test
     public void testBranchUserNameSvnHttpsRemoteBranchingNoRevWithPinExternals()
         throws Exception
     {
@@ -101,6 +106,7 @@ public class SvnExeBranchCommandTckTest
                              + " --encoding UTF-8 --pin-externals https://foo.com/svn/trunk@ https://foo.com/svn/branches/svnbranch@", scmBranchParameters );
     }
 
+    @Test
     public void testBranchUserNameSvnHttps()
         throws Exception
     {
@@ -112,6 +118,7 @@ public class SvnExeBranchCommandTckTest
                              + " --encoding UTF-8 . https://foo.com/svn/branches/svnbranch@", null );
     }
 
+    @Test
     public void testBranchUserNameSvnSsh()
         throws Exception
     {
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/changelog/SvnChangeLogCommandTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogCommandTest.java
index f5729bd95..332320fda 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogCommandTest.java
@@ -26,6 +26,7 @@ import org.apache.maven.scm.ScmRevision;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.junit.Test;
 
 import java.io.File;
 import java.util.Calendar;
@@ -38,6 +39,7 @@ import java.util.Date;
 public class SvnChangeLogCommandTest
     extends ScmTestCase
 {
+    @Test
     public void testCommandLineNoDates()
         throws Exception
     {
@@ -45,6 +47,7 @@ public class SvnChangeLogCommandTest
                          "svn --non-interactive log -v http://foo.com/svn/trunk@" );
     }
 
+    @Test
     public void testCommandLineNoDatesLimitedCount()
         throws Exception
     {
@@ -52,6 +55,7 @@ public class SvnChangeLogCommandTest
                          "svn --non-interactive log -v --limit 40 http://foo.com/svn/trunk@" );
     }
 
+    @Test
     public void testCommandLineWithDates()
         throws Exception
     {
@@ -62,6 +66,7 @@ public class SvnChangeLogCommandTest
                          "svn --non-interactive log -v -r \"{2003-09-10 00:00:00 +0000}:{2003-10-10 00:00:00 +0000}\" http://foo.com/svn/trunk@" );
     }
 
+    @Test
     public void testCommandLineStartDateOnly()
         throws Exception
     {
@@ -71,6 +76,7 @@ public class SvnChangeLogCommandTest
                          "svn --non-interactive log -v -r \"{2003-09-10 01:01:01 +0000}:HEAD\" http://foo.com/svn/trunk@" );
     }
 
+    @Test
     public void testCommandLineDateFormat()
         throws Exception
     {
@@ -81,6 +87,7 @@ public class SvnChangeLogCommandTest
                          "svn --non-interactive log -v -r \"{2003-09-10 01:01:01 +0000}:{2005-11-13 23:23:23 +0000}\" http://foo.com/svn/trunk@" );
     }
 
+    @Test
     public void testCommandLineEndDateOnly()
         throws Exception
     {
@@ -91,6 +98,7 @@ public class SvnChangeLogCommandTest
                          "svn --non-interactive log -v http://foo.com/svn/trunk@" );
     }
 
+    @Test
     public void testCommandLineWithBranchNoDates()
         throws Exception
     {
@@ -98,6 +106,7 @@ public class SvnChangeLogCommandTest
                          "svn --non-interactive log -v http://foo.com/svn/branches/my-test-branch@ http://foo.com/svn/trunk@" );
     }
 
+    @Test
     public void testCommandLineWithBranchStartDateOnly()
         throws Exception
     {
@@ -107,6 +116,7 @@ public class SvnChangeLogCommandTest
                          "svn --non-interactive log -v -r \"{2003-09-10 01:01:01 +0000}:HEAD\" http://foo.com/svn/branches/my-test-branch@ http://foo.com/svn/trunk@" );
     }
 
+    @Test
     public void testCommandLineWithBranchEndDateOnly()
         throws Exception
     {
@@ -117,6 +127,7 @@ public class SvnChangeLogCommandTest
                          "svn --non-interactive log -v http://foo.com/svn/branches/my-test-branch@ http://foo.com/svn/trunk@" );
     }
 
+    @Test
     public void testCommandLineWithBranchBothDates()
         throws Exception
     {
@@ -127,6 +138,7 @@ public class SvnChangeLogCommandTest
                          "svn --non-interactive log -v -r \"{2003-09-10 00:00:00 +0000}:{2003-10-10 00:00:00 +0000}\" http://foo.com/svn/branches/my-test-branch@ http://foo.com/svn/trunk@" );
     }
 
+    @Test
     public void testCommandLineWithStartVersion()
         throws Exception
     {
@@ -134,6 +146,7 @@ public class SvnChangeLogCommandTest
                          "svn --non-interactive log -v -r 1:HEAD http://foo.com/svn/trunk@" );
     }
 
+    @Test
     public void testCommandLineWithStartVersionAndEndVersion()
         throws Exception
     {
@@ -141,6 +154,7 @@ public class SvnChangeLogCommandTest
                          "svn --non-interactive log -v -r 1:10 http://foo.com/svn/trunk@" );
     }
 
+    @Test
     public void testCommandLineWithStartVersionAndEndVersionEquals()
         throws Exception
     {
@@ -148,6 +162,7 @@ public class SvnChangeLogCommandTest
                          "svn --non-interactive log -v -r 1 http://foo.com/svn/trunk@" );
     }
 
+    @Test
     public void testCommandLineWithBaseVersion()
         throws Exception
     {
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/changelog/SvnChangeLogConsumerTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogConsumerTest.java
index 081c7bd2f..ce847692a 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogConsumerTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogConsumerTest.java
@@ -22,9 +22,10 @@ package org.apache.maven.scm.provider.svn.svnexe.command.changelog;
 import org.apache.maven.scm.ChangeFile;
 import org.apache.maven.scm.ChangeSet;
 import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.util.ConsumerUtils;
-import org.codehaus.plexus.PlexusTestCase;
-import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -39,19 +40,24 @@ import java.util.Map;
 import java.util.TimeZone;
 import java.util.concurrent.atomic.AtomicInteger;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 /**
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
  *
  */
 public class SvnChangeLogConsumerTest
-    extends PlexusTestCase
+        extends ScmTestCase
 {
     Logger logger = LoggerFactory.getLogger( getClass() );
 
     SvnChangeLogConsumer consumer;
 
-
-    protected void setUp()
+    @Before
+    @Override
+    public void setUp()
         throws Exception
     {
         super.setUp();
@@ -61,6 +67,7 @@ public class SvnChangeLogConsumerTest
     /**
      * Initial modifications should be empty.
      */
+    @Test
     public void testGetModifications_Initial()
     {
         assertTrue( "Initial modifications should be empty", consumer.getModifications().isEmpty() );
@@ -71,6 +78,7 @@ public class SvnChangeLogConsumerTest
      *
      * @throws Exception if any problem occurs.
      */
+    @Test
     public void testConsumeLine_ValidOutput()
         throws Exception
     {
@@ -106,6 +114,7 @@ public class SvnChangeLogConsumerTest
      *
      * @throws Exception
      */
+    @Test
     public void testConsumeLine_InvalidReason()
         throws Exception
     {
@@ -127,6 +136,7 @@ public class SvnChangeLogConsumerTest
      *
      * @throws Exception
      */
+    @Test
     public void testConsumeLine_InvalidDate()
         throws Exception
     {
@@ -154,6 +164,7 @@ public class SvnChangeLogConsumerTest
         ConsumerUtils.consumeFile( logFile, consumer );
     }
 
+    @Test
     public void testConsumerWithPattern1()
         throws Exception
     {
@@ -204,6 +215,7 @@ public class SvnChangeLogConsumerTest
         }
     }
 
+    @Test
     public void testConsumerWithPattern2()
         throws Exception
     {
@@ -244,10 +256,10 @@ public class SvnChangeLogConsumerTest
                 out.append( "File:" + fileName );
 
                 // files in this log are known to be from one subtree
-                Assert.assertTrue( "Unexpected file name: " + fileName, fileName.startsWith( "/maven/scm/trunk" ) );
+                assertTrue( "Unexpected file name: " + fileName, fileName.startsWith( "/maven/scm/trunk" ) );
 
                 // files in this log are known not to contain space
-                Assert.assertEquals( "Unexpected space found in filename: " + fileName, -1, fileName.indexOf( " " ) );
+                assertEquals( "Unexpected space found in filename: " + fileName, -1, fileName.indexOf( " " ) );
 
                 if ( file.getOriginalName() != null )
                 {
@@ -258,9 +270,9 @@ public class SvnChangeLogConsumerTest
             out.append( "==============================" );
         }
 
-        Assert.assertEquals( "Unexpected number of file copy records", 1, origFileCounter );
+        assertEquals( "Unexpected number of file copy records", 1, origFileCounter );
 
-        Assert.assertEquals( "Action summary differs from expectations",
+        assertEquals( "Action summary differs from expectations",
                              "{modified=626, deleted=56, added=310, copied=1}", summary.toString() );
 
         if ( logger.isDebugEnabled() )
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/checkin/SvnCheckInCommandTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInCommandTest.java
index 30d11078a..91cb399bd 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInCommandTest.java
@@ -25,6 +25,8 @@ import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.scm.provider.svn.util.SvnUtil;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.junit.Before;
+import org.junit.Test;
 
 import java.io.File;
 
@@ -39,6 +41,8 @@ public class SvnCheckInCommandTest
 
     private String messageFileString;
 
+    @Before
+    @Override
     public void setUp()
         throws Exception
     {
@@ -54,18 +58,21 @@ public class SvnCheckInCommandTest
         messageFileString = "--file " + path + " --encoding UTF-8";
     }
 
+    @Test
     public void testCommandLineWithEmptyTag()
         throws Exception
     {
         testCommandLine( "scm:svn:http://foo.com/svn/trunk", "svn --non-interactive commit " + messageFileString );
     }
 
+    @Test
     public void testCommandLineWithoutTag()
         throws Exception
     {
         testCommandLine( "scm:svn:http://foo.com/svn/trunk", "svn --non-interactive commit " + messageFileString );
     }
 
+    @Test
     public void testCommandLineTag()
         throws Exception
     {
@@ -73,13 +80,15 @@ public class SvnCheckInCommandTest
                          "svn --username anonymous --no-auth-cache --non-interactive commit " + messageFileString );
     }
 
+    @Test
     public void testCommandLineWithUsernameAndTag()
         throws Exception
     {
         testCommandLine( "scm:svn:http://anonymous@foo.com/svn/trunk",
                          "svn --username anonymous --no-auth-cache --non-interactive commit " + messageFileString );
     }
-    
+
+    @Test
     public void testCommandLineWithUsernameWithoutNonInteractive()
         throws Exception
     {
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/checkout/SvnCheckOutCommandTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutCommandTest.java
index 73e2945d9..c49f8f435 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutCommandTest.java
@@ -26,6 +26,8 @@ import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.junit.Before;
+import org.junit.Test;
 
 import java.io.File;
 
@@ -44,6 +46,8 @@ public class SvnCheckOutCommandTest
     //
     // ----------------------------------------------------------------------
 
+    @Before
+    @Override
     public void setUp()
         throws Exception
     {
@@ -61,6 +65,7 @@ public class SvnCheckOutCommandTest
     //
     // ----------------------------------------------------------------------
 
+    @Test
     public void testCommandLineWithoutRevision()
         throws Exception
     {
@@ -69,6 +74,7 @@ public class SvnCheckOutCommandTest
                              + workingDirectory.getAbsolutePath() );
     }
 
+    @Test
     public void testCommandLineWithEmptyRevision()
         throws Exception
     {
@@ -77,6 +83,7 @@ public class SvnCheckOutCommandTest
                              + workingDirectory.getAbsolutePath() );
     }
 
+    @Test
     public void testCommandLineWithRevision()
         throws Exception
     {
@@ -85,6 +92,7 @@ public class SvnCheckOutCommandTest
                              + workingDirectory.getAbsolutePath() );
     }
 
+    @Test
     public void testRecursiveCheckOutCommandLine()
         throws Exception
     {
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/export/SvnExportCommandTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/export/SvnExportCommandTest.java
index 4c702e489..307fa1d6c 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/export/SvnExportCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/export/SvnExportCommandTest.java
@@ -25,11 +25,13 @@ import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.junit.Test;
 
 public class SvnExportCommandTest
     extends ScmTestCase
 {
 
+    @Test
     public void testGetExportCommandLineWithImplicitExportDirectory()
         throws Exception
     {
@@ -39,6 +41,7 @@ public class SvnExportCommandTest
                          "svn --non-interactive export --force http://foo.com/svn/trunk@" );
     }
 
+    @Test
     public void testGetExportCommandLineWithExplicitExportDirectory()
         throws Exception
     {
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/info/SvnInfoCommandTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoCommandTest.java
index b9221a0db..137c5cb30 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoCommandTest.java
@@ -26,11 +26,13 @@ import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.junit.Test;
 
 public class SvnInfoCommandTest
     extends ScmTestCase
 {
 
+    @Test
     public void testGetInfoOnEmptyFileSet()
         throws Exception
     {
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/SvnListCommandTest.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/SvnListCommandTest.java
index 7e57b7acb..5d50c84ae 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/SvnListCommandTest.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/SvnListCommandTest.java
@@ -25,6 +25,7 @@ import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.junit.Test;
 
 import java.io.File;
 
@@ -35,24 +36,28 @@ import java.io.File;
 public class SvnListCommandTest
     extends ScmTestCase
 {
+    @Test
     public void testCommandLineWithEmptyTag()
         throws Exception
     {
         testCommandLine( "scm:svn:http://foo.com/svn/trunk", true, "svn --non-interactive list --recursive" );
     }
 
+    @Test
     public void testCommandLineWithWhitespaceTag()
         throws Exception
     {
         testCommandLine( "scm:svn:http://foo.com/svn/trunk", false, "svn --non-interactive list" );
     }
 
+    @Test
     public void testCommandLineWithoutTag()
         throws Exception
     {
         testCommandLine( "scm:svn:http://foo.com/svn/trunk", false, "svn --non-interactive list" );
     }
 
+    @Test
     public void testCommandLineTag()
         throws Exception
     {
@@ -60,6 +65,7 @@ public class SvnListCommandTest
                          "svn --username anonymous --no-auth-cache --non-interactive list -r 10" );
     }
 
+    @Test
     public void testCommandLineWithUsernameAndTag()
         throws Exception
     {
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/mkdir/SvnMkdirCommandTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommandTest.java
index d8dbc902b..d0e883a25 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommandTest.java
@@ -27,6 +27,11 @@ import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertTrue;
 
 /**
  * @author <a href="mailto:oching@apache.org">Maria Odea Ching</a>
@@ -39,7 +44,9 @@ public class SvnMkdirCommandTest
 
     String messageFileString;
 
-    protected void setUp()
+    @Before
+    @Override
+    public void setUp()
         throws Exception
     {
         super.setUp();
@@ -56,7 +63,9 @@ public class SvnMkdirCommandTest
         messageFileString = "--file " + path + " --encoding UTF-8";
     }
 
-    protected void tearDown()
+    @After
+    @Override
+    public void tearDown()
         throws Exception
     {
         assertTrue( messageFile.delete() );
@@ -64,6 +73,7 @@ public class SvnMkdirCommandTest
         super.tearDown();
     }
 
+    @Test
     public void testCommandLineMkdirUrl()
         throws Exception
     {
@@ -71,6 +81,7 @@ public class SvnMkdirCommandTest
                          "svn --non-interactive mkdir --parents http://foo.com/svn/trunk/missing@ " + messageFileString, false );
     }
 
+    @Test
     public void testCommandLineMkdirUrlWithUsername()
         throws Exception
     {
@@ -79,6 +90,7 @@ public class SvnMkdirCommandTest
                              messageFileString, false );
     }
 
+    @Test
     public void testCommandLineMkdirLocalPath()
         throws Exception
     {
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/SvnExeRemoteInfoCommandTckTest.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/SvnExeRemoteInfoCommandTckTest.java
index c06dc879f..117a0070f 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/SvnExeRemoteInfoCommandTckTest.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/SvnExeRemoteInfoCommandTckTest.java
@@ -24,6 +24,8 @@ import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.svn.command.remoteinfo.AbstractSvnRemoteInfoCommandTckTest;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 
+import static org.junit.Assert.assertTrue;
+
 /**
  * @author Bertrand Paquet
  */
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 27c15965c..03171c412 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
@@ -20,6 +20,10 @@ package org.apache.maven.scm.provider.svn.svnexe.command.remoteinfo;
 
 import org.apache.maven.scm.ScmTestCase;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 /**
  * @author Olivier Lamy
@@ -27,6 +31,7 @@ import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 public class SvnRemoteInfoCommandTest
     extends ScmTestCase
 {
+    @Test
     public void testExist()
         throws Exception
     {
@@ -37,6 +42,7 @@ public class SvnRemoteInfoCommandTest
         assertTrue( svnRemoteInfoCommand.remoteUrlExist( svnScmProviderRepository, null ) );
     }
 
+    @Test
     public void testNotExist()
         throws Exception
     {
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/tag/SvnExeTagCommandTckTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnExeTagCommandTckTest.java
index 30c2b5677..edc74925f 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnExeTagCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnExeTagCommandTckTest.java
@@ -26,6 +26,7 @@ import org.apache.maven.scm.provider.svn.command.tag.SvnTagCommandTckTest;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.junit.Test;
 
 /**
  * This test tests the tag command.
@@ -36,6 +37,7 @@ import org.codehaus.plexus.util.cli.Commandline;
 public class SvnExeTagCommandTckTest
     extends SvnTagCommandTckTest
 {
+    @Test
     public void testTagUserNameSvnSsh()
         throws Exception
     {
@@ -47,6 +49,7 @@ public class SvnExeTagCommandTckTest
                              " --encoding UTF-8 --parents . svn+ssh://user@foo.com/svn/tags/svntag@", null );
     }
 
+    @Test
     public void testTagRemoteTagHttps()
         throws Exception
     {
@@ -61,6 +64,7 @@ public class SvnExeTagCommandTckTest
                              + " --encoding UTF-8 --parents https://foo.com/svn/trunk@ https://foo.com/svn/tags/svntag@", scmTagParameters );
     }
 
+    @Test
     public void testTagRemoteTagHttpsWithPinExternals()
         throws Exception
     {
@@ -75,6 +79,7 @@ public class SvnExeTagCommandTckTest
                              + " --encoding UTF-8 --parents --pin-externals https://foo.com/svn/trunk@ https://foo.com/svn/tags/svntag@", scmTagParameters );
     }
 
+    @Test
     public void testTagRemoteTagHttpsWithRevision()
         throws Exception
     {
@@ -91,6 +96,7 @@ public class SvnExeTagCommandTckTest
                          scmTagParameters );
     }
 
+    @Test
     public void testTagRemoteTagHttpsWithRevisionAndPinExternals()
         throws Exception
     {
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/untag/SvnExeUntagCommandTckTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/untag/SvnExeUntagCommandTckTest.java
index 8dc0f6952..cae35dfbe 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/untag/SvnExeUntagCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/untag/SvnExeUntagCommandTckTest.java
@@ -26,6 +26,7 @@ import org.apache.maven.scm.provider.svn.command.untag.SvnUntagCommandTckTest;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.junit.Test;
 
 /**
  * This test tests the untag command for Subversion.
@@ -39,6 +40,7 @@ public class SvnExeUntagCommandTckTest
      *
      * @throws Exception in case of error
      */
+    @Test
     public void testUntagSsh()
         throws Exception
     {
@@ -57,6 +59,7 @@ public class SvnExeUntagCommandTckTest
      *
      * @throws Exception in case of error
      */
+    @Test
     public void testUntagHttps()
         throws Exception
     {
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/untag/SvnUntagCommandTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/untag/SvnUntagCommandTest.java
index 7838a0c45..a503b0c31 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/untag/SvnUntagCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/untag/SvnUntagCommandTest.java
@@ -26,6 +26,7 @@ import org.codehaus.plexus.util.cli.Commandline;
 
 import java.io.File;
 import org.apache.maven.scm.ScmFileSet;
+import org.junit.Test;
 
 /**
  * test the subversion untag implementation
@@ -40,6 +41,7 @@ public class SvnUntagCommandTest
      *
      * @throws Exception in case of error
      */
+    @Test
     public void testUntagHttp()
         throws Exception
     {
@@ -57,6 +59,7 @@ public class SvnUntagCommandTest
      *
      * @throws Exception in case of error
      */
+    @Test
     public void testUntagSsh()
         throws Exception
     {
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/update/SvnUpdateCommandTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateCommandTest.java
index 5e852c1c3..d4b938a56 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateCommandTest.java
@@ -29,9 +29,12 @@ import org.apache.maven.scm.provider.svn.util.SvnUtil;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.Os;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.junit.Test;
 
 import java.io.File;
 
+import static org.junit.Assert.assertTrue;
+
 /**
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
  *
@@ -39,6 +42,7 @@ import java.io.File;
 public class SvnUpdateCommandTest
     extends ScmTestCase
 {
+    @Test
     public void testCommandLineWithEmptyTag()
         throws Exception
     {
@@ -46,6 +50,7 @@ public class SvnUpdateCommandTest
                          "svn --non-interactive update " + getUpdateTestFile().getAbsolutePath() + "@" );
     }
 
+    @Test
     public void testCommandLineWithEmptyBranch()
         throws Exception
     {
@@ -53,6 +58,7 @@ public class SvnUpdateCommandTest
                          "svn --non-interactive update " + getUpdateTestFile().getAbsolutePath() + "@" );
     }
 
+    @Test
     public void testCommandLineWithEmptyVersion()
         throws Exception
     {
@@ -60,6 +66,7 @@ public class SvnUpdateCommandTest
                          "svn --non-interactive update " + getUpdateTestFile().getAbsolutePath() + "@" );
     }
 
+    @Test
     public void testCommandLineWithWhitespaceTag()
         throws Exception
     {
@@ -67,6 +74,7 @@ public class SvnUpdateCommandTest
                          "svn --non-interactive update " + getUpdateTestFile().getAbsolutePath() + "@" );
     }
 
+    @Test
     public void testCommandLineWithWhitespaceBranch()
         throws Exception
     {
@@ -74,6 +82,7 @@ public class SvnUpdateCommandTest
                          "svn --non-interactive update " + getUpdateTestFile().getAbsolutePath() + "@" );
     }
 
+    @Test
     public void testCommandLineWithWhitespaceRevision()
         throws Exception
     {
@@ -81,6 +90,7 @@ public class SvnUpdateCommandTest
                          "svn --non-interactive update " + getUpdateTestFile().getAbsolutePath() + "@" );
     }
 
+    @Test
     public void testCommandLineWithoutTag()
         throws Exception
     {
@@ -88,6 +98,7 @@ public class SvnUpdateCommandTest
                          "svn --non-interactive update " + getUpdateTestFile().getAbsolutePath() + "@" );
     }
 
+    @Test
     public void testCommandLineTag()
         throws Exception
     {
@@ -96,6 +107,7 @@ public class SvnUpdateCommandTest
                              getUpdateTestFile().getAbsolutePath() + "@" );
     }
 
+    @Test
     public void testCommandLineWithUsernameAndTag()
         throws Exception
     {
@@ -104,6 +116,7 @@ public class SvnUpdateCommandTest
                              getUpdateTestFile().getAbsolutePath() + "@" );
     }
 
+    @Test
     public void testCommandLineWithCygwinProperty()
         throws Exception
     {
@@ -124,6 +137,7 @@ public class SvnUpdateCommandTest
         }
     }
 
+    @Test
     public void testCommandLineWithRelativeURLTag()
         throws Exception
     {
@@ -132,6 +146,7 @@ public class SvnUpdateCommandTest
                              getUpdateTestFile().getAbsolutePath() + "@" );
     }
 
+    @Test
     public void testCommandLineWithAbsoluteURLTag()
         throws Exception
     {
@@ -141,6 +156,7 @@ public class SvnUpdateCommandTest
                              getUpdateTestFile().getAbsolutePath() + "@" );
     }
 
+    @Test
     public void testCommandLineWithNonDeterminantBase()
         throws Exception
     {
@@ -149,6 +165,7 @@ public class SvnUpdateCommandTest
                              getUpdateTestFile().getAbsolutePath() + "@" );
     }
 
+    @Test
     public void testCommandLineWithNonDeterminantBaseTrailingSlash()
         throws Exception
     {
@@ -157,6 +174,7 @@ public class SvnUpdateCommandTest
                              getUpdateTestFile().getAbsolutePath() + "@" );
     }
 
+    @Test
     public void testCommandLineWithBranchSameAsBase()
         throws Exception
     {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/blame/SvnBlameCommandTckTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/blame/SvnBlameCommandTckTest.java
index 50665c0a4..6d8a56627 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/blame/SvnBlameCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/blame/SvnBlameCommandTckTest.java
@@ -27,6 +27,8 @@ import org.apache.maven.scm.tck.command.blame.BlameCommandTckTest;
 import java.io.File;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 /**
  * @author Evgeny Mandrikov
  */
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/mkdir/SvnMkdirCommandTckTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/mkdir/SvnMkdirCommandTckTest.java
index b2821a136..728d16dcf 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/mkdir/SvnMkdirCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/command/mkdir/SvnMkdirCommandTckTest.java
@@ -26,6 +26,11 @@ import org.apache.maven.scm.command.list.ListScmResult;
 import org.apache.maven.scm.command.mkdir.MkdirScmResult;
 import org.apache.maven.scm.provider.svn.SvnScmTestUtils;
 import org.apache.maven.scm.tck.command.mkdir.MkdirCommandTckTest;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * @author <a href="mailto:oching@apache.org">Maria Odea Ching</a>
@@ -47,7 +52,8 @@ public class SvnMkdirCommandTckTest
     {
         SvnScmTestUtils.initializeRepository( getRepositoryRoot() );
     }
-    
+
+    @Test
     public void testMkdirCommandMkdirUrl()
         throws Exception
     {
@@ -63,7 +69,8 @@ public class SvnMkdirCommandTckTest
     
         assertTrue( "Directory should have been found.", listResult.isSuccess() );
     }
-    
+
+    @Test
     public void testMkdirCommandDirAlreadyAdded()
         throws Exception
     {
diff --git a/maven-scm-test/pom.xml b/maven-scm-test/pom.xml
index 94d1316d8..42eeded6c 100644
--- a/maven-scm-test/pom.xml
+++ b/maven-scm-test/pom.xml
@@ -67,7 +67,6 @@
       <groupId>com.google.inject</groupId>
       <artifactId>guice</artifactId>
       <classifier>no_aop</classifier>
-      <scope>runtime</scope>
     </dependency>
     <dependency>
       <groupId>org.slf4j</groupId>
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/PlexusJUnit4TestSupport.java b/maven-scm-test/src/main/java/org/apache/maven/scm/PlexusJUnit4TestSupport.java
new file mode 100644
index 000000000..3684085b7
--- /dev/null
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/PlexusJUnit4TestSupport.java
@@ -0,0 +1,323 @@
+package org.apache.maven.scm;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding 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 the License.
+ */
+
+import java.io.File;
+import java.io.InputStream;
+import java.util.Map;
+
+import com.google.inject.Module;
+import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
+import org.codehaus.plexus.PlexusConstants;
+import org.codehaus.plexus.PlexusContainer;
+import org.codehaus.plexus.PlexusContainerException;
+import org.codehaus.plexus.configuration.PlexusConfiguration;
+import org.codehaus.plexus.context.Context;
+import org.codehaus.plexus.context.DefaultContext;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.rules.TestName;
+
+import static org.junit.Assert.fail;
+
+/**
+ * Based on PlexusTestCase from org.sonatype.sisu:sisu-inject-plexus.
+ * Note: this class is copied from maven-release.
+ *
+ * @author Robert Scholte
+ */
+public abstract class PlexusJUnit4TestSupport
+{
+    private PlexusContainer container;
+
+    private static String basedir;
+
+    @Rule
+    public TestName testName = new TestName();
+
+    @Before
+    public void setUp()
+            throws Exception
+    {
+        basedir = getBasedir();
+    }
+
+    protected String getName()
+    {
+        return testName.getMethodName();
+    }
+
+    protected void setupContainer()
+    {
+        // ----------------------------------------------------------------------------
+        // Context Setup
+        // ----------------------------------------------------------------------------
+
+        final DefaultContext context = new DefaultContext();
+
+        context.put( "basedir", getBasedir() );
+
+        customizeContext( context );
+
+        final boolean hasPlexusHome = context.contains( "plexus.home" );
+
+        if ( !hasPlexusHome )
+        {
+            final File f = getTestFile( "target/plexus-home" );
+
+            if ( !f.isDirectory() )
+            {
+                f.mkdir();
+            }
+
+            context.put( "plexus.home", f.getAbsolutePath() );
+        }
+
+        // ----------------------------------------------------------------------------
+        // Configuration
+        // ----------------------------------------------------------------------------
+
+        final String config = getCustomConfigurationName();
+
+        final ContainerConfiguration containerConfiguration =
+                new DefaultContainerConfiguration()
+                        .setName( "test" )
+                        .setContext( context.getContextData() )
+                        .setAutoWiring( true )
+                        .setClassPathScanning( PlexusConstants.SCANNING_CACHE );
+
+        if ( config != null )
+        {
+            containerConfiguration.setContainerConfiguration( config );
+        }
+        else
+        {
+            final String resource = getConfigurationName( null );
+
+            containerConfiguration.setContainerConfiguration( resource );
+        }
+
+        customizeContainerConfiguration( containerConfiguration );
+
+        try
+        {
+            container = new DefaultPlexusContainer( containerConfiguration, getCustomModules() );
+        }
+        catch ( final PlexusContainerException e )
+        {
+            e.printStackTrace();
+            fail( "Failed to create plexus container." );
+        }
+    }
+
+    /**
+     * Allows test to define custom modules.
+     */
+    protected Module[] getCustomModules()
+    {
+        return new Module[0];
+    }
+
+    /**
+     * Allow custom test case implementations do augment the default container configuration before executing tests.
+     *
+     * @param containerConfiguration
+     */
+    protected void customizeContainerConfiguration( final ContainerConfiguration containerConfiguration )
+    {
+    }
+
+    protected void customizeContext( final Context context )
+    {
+    }
+
+    protected PlexusConfiguration customizeComponentConfiguration()
+    {
+        return null;
+    }
+
+    @After
+    public void tearDown()
+            throws Exception
+    {
+        if ( container != null )
+        {
+            container.dispose();
+
+            container = null;
+        }
+    }
+
+    protected PlexusContainer getContainer()
+    {
+        if ( container == null )
+        {
+            setupContainer();
+        }
+
+        return container;
+    }
+
+    protected InputStream getConfiguration()
+            throws Exception
+    {
+        return getConfiguration( null );
+    }
+
+    @SuppressWarnings( "unused" )
+    protected InputStream getConfiguration( final String subname )
+            throws Exception
+    {
+        return getResourceAsStream( getConfigurationName( subname ) );
+    }
+
+    protected String getCustomConfigurationName()
+    {
+        return null;
+    }
+
+    /**
+     * Allow the retrieval of a container configuration that is based on the name of the test class being run. So if you
+     * have a test class called org.foo.FunTest, then this will produce a resource name of org/foo/FunTest.xml which
+     * would be used to configure the Plexus container before running your test.
+     *
+     * @param subname
+     * @return
+     */
+    protected String getConfigurationName( final String subname )
+    {
+        return getClass().getName().replace( '.', '/' ) + ".xml";
+    }
+
+    protected InputStream getResourceAsStream( final String resource )
+    {
+        return getClass().getResourceAsStream( resource );
+    }
+
+    protected ClassLoader getClassLoader()
+    {
+        return getClass().getClassLoader();
+    }
+
+    // ----------------------------------------------------------------------
+    // Container access
+    // ----------------------------------------------------------------------
+
+    protected Object lookup( final String componentKey )
+            throws Exception
+    {
+        return getContainer().lookup( componentKey );
+    }
+
+    protected Object lookup( final String role, final String roleHint )
+            throws Exception
+    {
+        return getContainer().lookup( role, roleHint );
+    }
+
+    protected <T> T lookup( final Class<T> componentClass )
+            throws Exception
+    {
+        return getContainer().lookup( componentClass );
+    }
+
+    protected <T> T lookup( final Class<T> componentClass, final String roleHint )
+            throws Exception
+    {
+        return getContainer().lookup( componentClass, roleHint );
+    }
+
+    protected <T> Map<String, T> lookupMap( final Class<T> componentClass )
+            throws Exception
+    {
+        return getContainer().lookupMap( componentClass );
+    }
+
+    protected void release( final Object component )
+            throws Exception
+    {
+        getContainer().release( component );
+    }
+
+    // ----------------------------------------------------------------------
+    // Helper methods for sub classes
+    // ----------------------------------------------------------------------
+
+    public static File getTestFile( final String path )
+    {
+        return new File( getBasedir(), path );
+    }
+
+    @SuppressWarnings( "hiding" )
+    public static File getTestFile( final String basedir, final String path )
+    {
+        File basedirFile = new File( basedir );
+
+        if ( !basedirFile.isAbsolute() )
+        {
+            basedirFile = getTestFile( basedir );
+        }
+
+        return new File( basedirFile, path );
+    }
+
+    public static String getTestPath( final String path )
+    {
+        return getTestFile( path ).getAbsolutePath();
+    }
+
+    @SuppressWarnings( "hiding" )
+    public static String getTestPath( final String basedir, final String path )
+    {
+        return getTestFile( basedir, path ).getAbsolutePath();
+    }
+
+    public static String getBasedir()
+    {
+        if ( basedir != null )
+        {
+            return basedir;
+        }
+
+        basedir = System.getProperty( "basedir" );
+
+        if ( basedir == null )
+        {
+            basedir = new File( "" ).getAbsolutePath();
+        }
+
+        return basedir;
+    }
+
+    public String getTestConfiguration()
+    {
+        return getTestConfiguration( getClass() );
+    }
+
+    public static String getTestConfiguration( final Class<?> clazz )
+    {
+        final String s = clazz.getName().replace( '.', '/' );
+
+        return s.substring( 0, s.indexOf( "$" ) ) + ".xml";
+    }
+}
\ No newline at end of file
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTckTestCase.java b/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTckTestCase.java
index 996a4fe29..71388bc49 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTckTestCase.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTckTestCase.java
@@ -33,6 +33,11 @@ import org.apache.maven.scm.command.edit.EditScmResult;
 import org.apache.maven.scm.provider.ScmProvider;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.StringUtils;
+import org.junit.After;
+import org.junit.Before;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 /**
  * Base class for all TcK tests.
@@ -98,14 +103,16 @@ public abstract class ScmTckTestCase
     /**
      * {@inheritDoc}
      */
-    protected void setUp()
+    @Before
+    @Override
+    public void setUp()
         throws Exception
     {
         super.setUp();
 
         scmRepository = null;
 
-        scmFileNames = new ArrayList<String>( 4 );
+        scmFileNames = new ArrayList<>( 4 );
         scmFileNames.add( "/pom.xml" );
         scmFileNames.add( "/readme.txt" );
         scmFileNames.add( "/src/main/java/Application.java" );
@@ -135,10 +142,10 @@ public abstract class ScmTckTestCase
 
     /**
      * Provided to allow removeRepo() to be called. 
-     * @see junit.framework.TestCase#tearDown()
      */
+    @After
     @Override
-    protected void tearDown()
+    public void tearDown()
         throws Exception
     {
         super.tearDown();
@@ -231,7 +238,7 @@ public abstract class ScmTckTestCase
             return null;
         }
 
-        Map<String, ScmFile> mappedFiles = new TreeMap<String, ScmFile>();
+        Map<String, ScmFile> mappedFiles = new TreeMap<>();
         for ( ScmFile scmFile : files )
         {
             String path = StringUtils.replace( scmFile.getPath(), "\\", "/" );
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 4755b6373..8ab8be9b9 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
@@ -23,13 +23,12 @@ import org.apache.maven.scm.manager.ScmManager;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.ContainerConfiguration;
 import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.CommandLineUtils.StringStreamConsumer;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.junit.Before;
 
 import java.io.File;
 import java.io.FileWriter;
@@ -38,6 +37,11 @@ import java.util.Calendar;
 import java.util.Date;
 import java.util.TimeZone;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 /**
  * Base class for all SCM tests. Consumers will typically
  * extend this class while tck test would extend ScmTckTestCase.
@@ -49,7 +53,7 @@ import java.util.TimeZone;
  *
  */
 public abstract class ScmTestCase
-    extends PlexusTestCase
+    extends PlexusJUnit4TestSupport
 {
     protected static final TimeZone GMT_TIME_ZONE = TimeZone.getTimeZone( "GMT" );
 
@@ -57,7 +61,9 @@ public abstract class ScmTestCase
 
     private ScmManager scmManager;
 
-    protected void setUp()
+    @Before
+    @Override
+    public void setUp()
         throws Exception
     {
         super.setUp();
@@ -87,7 +93,7 @@ public abstract class ScmTestCase
      */
     protected File getRepositoryRoot()
     {
-        return PlexusTestCase.getTestFile( "target/scm-test/repository" );
+        return PlexusJUnit4TestSupport.getTestFile( "target/scm-test/repository" );
     }
 
     /**
@@ -95,7 +101,7 @@ public abstract class ScmTestCase
      */
     protected File getRepository()
     {
-        return PlexusTestCase.getTestFile( "/src/test/repository" );
+        return PlexusJUnit4TestSupport.getTestFile( "/src/test/repository" );
     }
 
     /**
@@ -103,7 +109,7 @@ public abstract class ScmTestCase
      */
     protected File getWorkingCopy()
     {
-        return PlexusTestCase.getTestFile( "target/scm-test/working-copy" );
+        return PlexusJUnit4TestSupport.getTestFile( "target/scm-test/working-copy" );
     }
 
     /**
@@ -121,7 +127,7 @@ public abstract class ScmTestCase
      */
     protected File getAssertionCopy()
     {
-        return PlexusTestCase.getTestFile( "target/scm-test/assertion-copy" );
+        return PlexusJUnit4TestSupport.getTestFile( "target/scm-test/assertion-copy" );
     }
 
     /**
@@ -129,7 +135,7 @@ public abstract class ScmTestCase
      */
     protected File getUpdatingCopy()
     {
-        return PlexusTestCase.getTestFile( "target/scm-test/updating-copy" );
+        return PlexusJUnit4TestSupport.getTestFile( "target/scm-test/updating-copy" );
     }
 
     protected ScmManager getScmManager()
@@ -289,15 +295,10 @@ public abstract class ScmTestCase
             assertTrue( parent.mkdirs() );
         }
 
-        FileWriter writer = new FileWriter( file );
-        try
+        try ( FileWriter writer = new FileWriter( file ) )
         {
             writer.write( contents );
         }
-        finally
-        {
-            IOUtil.close( writer );
-        }
     }
 
     protected void deleteDirectory( File directory )
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/blame/BlameCommandTckTest.java b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/blame/BlameCommandTckTest.java
index 8f7dec899..a25605753 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/blame/BlameCommandTckTest.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/blame/BlameCommandTckTest.java
@@ -29,10 +29,14 @@ import org.apache.maven.scm.command.checkin.CheckInScmResult;
 import org.apache.maven.scm.manager.ScmManager;
 import org.apache.maven.scm.provider.ScmProvider;
 import org.apache.maven.scm.repository.ScmRepository;
+import org.junit.Test;
 
 import java.util.Date;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * @author Evgeny Mandrikov
@@ -42,6 +46,7 @@ public abstract class BlameCommandTckTest
 {
     private static final String COMMIT_MSG = "Second changelog";
 
+    @Test
     public void testBlameCommand()
         throws Exception
     {
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/branch/BranchCommandTckTest.java b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/branch/BranchCommandTckTest.java
index 280df970f..4e7dea5a4 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/branch/BranchCommandTckTest.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/branch/BranchCommandTckTest.java
@@ -27,10 +27,14 @@ import org.apache.maven.scm.command.checkin.CheckInScmResult;
 import org.apache.maven.scm.command.checkout.CheckOutScmResult;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
+import org.junit.Test;
 
 import java.io.File;
 import java.io.FileWriter;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+
 /**
  * This test tests the branch command.
  *
@@ -46,6 +50,7 @@ public abstract class BranchCommandTckTest
         return "test-branch";
     }
 
+    @Test
     public void testBranchCommandTest()
         throws Exception
     {
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/changelog/ChangeLogCommandTckTest.java b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/changelog/ChangeLogCommandTckTest.java
index 1b9ac7ac7..40d6228ff 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/changelog/ChangeLogCommandTckTest.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/changelog/ChangeLogCommandTckTest.java
@@ -28,9 +28,13 @@ import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.changelog.ChangeLogScmResult;
 import org.apache.maven.scm.command.checkin.CheckInScmResult;
 import org.apache.maven.scm.provider.ScmProvider;
+import org.junit.Test;
 
 import java.util.Date;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 /**
  * Test Changlog command. <br>
  * 1. Get initial log <br>
@@ -46,6 +50,7 @@ public abstract class ChangeLogCommandTckTest
 {
     private static final String COMMIT_MSG = "Second changelog";
 
+    @Test
     public void testChangeLogCommand()
         throws Exception
     {
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java
index 0b053b9f5..ac652c7d3 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java
@@ -28,6 +28,7 @@ import org.apache.maven.scm.command.checkin.CheckInScmResult;
 import org.apache.maven.scm.command.checkout.CheckOutScmResult;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
+import org.junit.Test;
 
 import java.io.File;
 import java.io.FileWriter;
@@ -35,6 +36,11 @@ import java.io.PrintWriter;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 /**
  * This test tests the check out command.
  *
@@ -43,6 +49,7 @@ import java.util.Map;
 public abstract class CheckInCommandTckTest
     extends ScmTckTestCase
 {
+    @Test
     public void testCheckInCommandTest()
         throws Exception
     {
@@ -112,6 +119,7 @@ public abstract class CheckInCommandTckTest
         assertEquals( "check readme.txt contents", "changed file", FileUtils.fileRead( readmeTxt ) );
     }
 
+    @Test
     public void testCheckInCommandPartialFileset()
         throws Exception
     {
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkout/CheckOutCommandTckTest.java b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkout/CheckOutCommandTckTest.java
index c4351a662..71f1119a4 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkout/CheckOutCommandTckTest.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkout/CheckOutCommandTckTest.java
@@ -27,6 +27,9 @@ import java.util.TreeSet;
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmTckTestCase;
 import org.apache.maven.scm.command.checkout.CheckOutScmResult;
+import org.junit.Test;
+
+import static org.junit.Assert.fail;
 
 /**
  * This test tests the check out command.
@@ -37,6 +40,7 @@ import org.apache.maven.scm.command.checkout.CheckOutScmResult;
 public abstract class CheckOutCommandTckTest
     extends ScmTckTestCase
 {
+    @Test
     public void testCheckOutCommandTest()
         throws Exception
     {
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/diff/DiffCommandTckTest.java b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/diff/DiffCommandTckTest.java
index 62666d765..d70237dff 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/diff/DiffCommandTckTest.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/diff/DiffCommandTckTest.java
@@ -27,6 +27,7 @@ import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.diff.DiffScmResult;
 import org.apache.maven.scm.provider.ScmProvider;
 import org.apache.maven.scm.repository.ScmRepository;
+import org.junit.Test;
 
 import java.io.File;
 import java.util.Iterator;
@@ -34,6 +35,10 @@ import java.util.List;
 import java.util.Map;
 import java.util.TreeSet;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 /**
  * This test tests the diff command.
  *
@@ -44,6 +49,7 @@ public abstract class DiffCommandTckTest
     extends ScmTckTestCase
 {
 
+    @Test
     public void testDiffCommand()
         throws Exception
     {
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/list/ListCommandTckTest.java b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/list/ListCommandTckTest.java
index 1de8dbcb5..63e49008f 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/list/ListCommandTckTest.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/list/ListCommandTckTest.java
@@ -28,6 +28,11 @@ import org.apache.maven.scm.ScmTckTestCase;
 import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.list.ListScmResult;
 import org.apache.maven.scm.provider.ScmProvider;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 /**
  * This test tests the list command.
@@ -38,6 +43,7 @@ import org.apache.maven.scm.provider.ScmProvider;
 public abstract class ListCommandTckTest
     extends ScmTckTestCase
 {
+    @Test
     public void testListCommandTest()
         throws Exception
     {
@@ -48,6 +54,7 @@ public abstract class ListCommandTckTest
         assertEquals( "The result of the list command doesn't have all the files in SCM: " + files, 3, files.size() );
     }
 
+    @Test
     public void testListCommandRecursiveTest()
         throws Exception
     {
@@ -58,6 +65,7 @@ public abstract class ListCommandTckTest
         assertEquals( "The result of the list command doesn't have all the files in SCM: " + files, 10, files.size() );
     }
 
+    @Test
     public void testListCommandUnexistantFileTest()
         throws Exception
     {
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/mkdir/MkdirCommandTckTest.java b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/mkdir/MkdirCommandTckTest.java
index ba8b565f2..2e393ff5d 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/mkdir/MkdirCommandTckTest.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/mkdir/MkdirCommandTckTest.java
@@ -24,6 +24,10 @@ import java.io.File;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmTckTestCase;
 import org.apache.maven.scm.command.mkdir.MkdirScmResult;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 /**
  * This test tests the mkdir command.
@@ -34,6 +38,7 @@ import org.apache.maven.scm.command.mkdir.MkdirScmResult;
 public abstract class MkdirCommandTckTest
     extends ScmTckTestCase
 {
+    @Test
     public void testMkdirCommandMkdirLocal()
         throws Exception
     {
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/remoteinfo/AbstractRemoteInfoCommandTckTest.java b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/remoteinfo/AbstractRemoteInfoCommandTckTest.java
index e7e8e0bda..56b4edd6e 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/remoteinfo/AbstractRemoteInfoCommandTckTest.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/remoteinfo/AbstractRemoteInfoCommandTckTest.java
@@ -24,6 +24,7 @@ import org.apache.maven.scm.ScmTckTestCase;
 import org.apache.maven.scm.command.remoteinfo.RemoteInfoScmResult;
 import org.apache.maven.scm.provider.ScmProvider;
 import org.apache.maven.scm.provider.ScmProviderRepository;
+import org.junit.Test;
 
 /**
  * This test tests the remote info command.
@@ -43,6 +44,7 @@ public abstract class AbstractRemoteInfoCommandTckTest
     protected abstract ScmProviderRepository getScmProviderRepository()
         throws Exception;
 
+    @Test
     public void testRemoteInfoCommand()
         throws Exception
     {
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/status/StatusCommandTckTest.java b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/status/StatusCommandTckTest.java
index 6b07a0c4b..2c338db46 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/status/StatusCommandTckTest.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/status/StatusCommandTckTest.java
@@ -28,12 +28,18 @@ import org.apache.maven.scm.command.checkin.CheckInScmResult;
 import org.apache.maven.scm.command.status.StatusScmResult;
 import org.apache.maven.scm.manager.ScmManager;
 import org.apache.maven.scm.repository.ScmRepository;
+import org.junit.Test;
 
 import java.io.File;
 import java.util.Iterator;
 import java.util.List;
 import java.util.TreeSet;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 /**
  * This test tests the status command.
  * <p>
@@ -74,6 +80,7 @@ public abstract class StatusCommandTckTest
     }
 
 
+    @Test
     public void testStatusCommand()
         throws Exception
     {
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/tag/TagCommandTckTest.java b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/tag/TagCommandTckTest.java
index 566957fde..8eae4f425 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/tag/TagCommandTckTest.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/tag/TagCommandTckTest.java
@@ -27,10 +27,14 @@ import org.apache.maven.scm.command.checkout.CheckOutScmResult;
 import org.apache.maven.scm.command.tag.TagScmResult;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
+import org.junit.Test;
 
 import java.io.File;
 import java.io.FileWriter;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+
 /**
  * This test tests the tag command.
  *
@@ -46,6 +50,7 @@ public abstract class TagCommandTckTest
         return "test-tag";
     }
 
+    @Test
     public void testTagCommandTest()
         throws Exception
     {
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/untag/UntagCommandTckTest.java b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/untag/UntagCommandTckTest.java
index 2968cacdb..481ed4c7d 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/untag/UntagCommandTckTest.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/untag/UntagCommandTckTest.java
@@ -31,6 +31,9 @@ import org.apache.maven.scm.command.tag.TagScmResult;
 import org.apache.maven.scm.command.untag.UntagScmResult;
 import org.apache.maven.scm.provider.ScmProvider;
 import org.apache.maven.scm.repository.ScmRepository;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
 
 /**
  * This test tests the untag command.
@@ -44,6 +47,7 @@ public abstract class UntagCommandTckTest
         return "test-untag";
     }
 
+    @Test
     public void testUntagCommandTest()
         throws Exception
     {
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/update/UpdateCommandTckTest.java b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/update/UpdateCommandTckTest.java
index 8020bba4a..6c5c4db1b 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/update/UpdateCommandTckTest.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/update/UpdateCommandTckTest.java
@@ -36,6 +36,12 @@ import org.apache.maven.scm.command.update.UpdateScmResult;
 import org.apache.maven.scm.manager.ScmManager;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.StringUtils;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 /**
  * This test tests the update command.
@@ -73,6 +79,7 @@ public abstract class UpdateCommandTckTest
             3, committedFiles.size() );
     }
 
+    @Test
     public void testUpdateCommand()
         throws Exception
     {
diff --git a/maven-scm-test/src/test/java/org/apache/maven/scm/manager/ScmManagerStubTest.java b/maven-scm-test/src/test/java/org/apache/maven/scm/manager/ScmManagerStubTest.java
index ce4ee013a..6d62901f3 100644
--- a/maven-scm-test/src/test/java/org/apache/maven/scm/manager/ScmManagerStubTest.java
+++ b/maven-scm-test/src/test/java/org/apache/maven/scm/manager/ScmManagerStubTest.java
@@ -19,16 +19,19 @@ package org.apache.maven.scm.manager;
  * under the License.
  */
 
-import junit.framework.TestCase;
 import org.apache.maven.scm.provider.ScmProvider;
 import org.apache.maven.scm.provider.ScmProviderStub;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.apache.maven.scm.repository.ScmRepositoryStub;
+import org.junit.Before;
+import org.junit.Test;
 
 import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 
+import static org.junit.Assert.assertSame;
+
 /**
  * Test for the ScmManagerStub
  *
@@ -36,7 +39,6 @@ import java.util.List;
  *
  */
 public class ScmManagerStubTest
-    extends TestCase
 {
 
     private ScmManagerStub scmManagerStub;
@@ -47,11 +49,10 @@ public class ScmManagerStubTest
 
     private ScmRepository scmRepository;
 
-    protected void setUp()
+    @Before
+    public void setUp()
         throws Exception
     {
-        super.setUp();
-
         messages = new ArrayList<>( 0 );
         scmProvider = new ScmProviderStub();
         scmRepository = new ScmRepositoryStub();
@@ -65,6 +66,7 @@ public class ScmManagerStubTest
     /*
      * Test method for 'org.apache.maven.scm.manager.ScmManagerStub.makeScmRepository(String)'
      */
+    @Test
     public void testMakeScmRepository()
         throws Exception
     {
@@ -75,6 +77,7 @@ public class ScmManagerStubTest
     /*
      * Test method for 'org.apache.maven.scm.manager.ScmManagerStub.makeProviderScmRepository(String, File)'
      */
+    @Test
     public void testMakeProviderScmRepository()
         throws Exception
     {
@@ -85,6 +88,7 @@ public class ScmManagerStubTest
     /*
      * Test method for 'org.apache.maven.scm.manager.ScmManagerStub.validateScmRepository(String)'
      */
+    @Test
     public void testValidateScmRepository()
     {
         List<String> list = scmManagerStub.validateScmRepository( "" );
@@ -94,6 +98,7 @@ public class ScmManagerStubTest
     /*
      * Test method for 'org.apache.maven.scm.manager.ScmManagerStub.getProviderByUrl(String)'
      */
+    @Test
     public void testGetProviderByUrl()
         throws Exception
     {
@@ -104,6 +109,7 @@ public class ScmManagerStubTest
     /*
      * Test method for 'org.apache.maven.scm.manager.ScmManagerStub.getProviderByType(String)'
      */
+    @Test
     public void testGetProviderByType()
         throws Exception
     {
@@ -114,6 +120,7 @@ public class ScmManagerStubTest
     /*
      * Test method for 'org.apache.maven.scm.manager.ScmManagerStub.getProviderByRepository(ScmRepository)'
      */
+    @Test
     public void testGetProviderByRepository()
         throws Exception
     {