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 2018/05/15 21:40:26 UTC

[maven-scm] branch SCM-886 created (now 7719468)

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

michaelo pushed a change to branch SCM-886
in repository https://gitbox.apache.org/repos/asf/maven-scm.git.


      at 7719468  [SCM-886] Tests with checkin rely on global git config

This branch includes the following new commits:

     new 7719468  [SCM-886] Tests with checkin rely on global git config

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


-- 
To stop receiving notification emails like this one, please contact
michaelo@apache.org.

[maven-scm] 01/01: [SCM-886] Tests with checkin rely on global git config

Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 7719468daf9432e88c34005ca6054f6c07d3f4b3
Author: Matthieu Brouillard <ma...@brouillard.fr>
AuthorDate: Tue May 15 11:18:03 2018 +0200

    [SCM-886] Tests with checkin rely on global git config
    
    Every test performing some modifications to a Git repository (commit, ...) a
    defaut user (name & email) has to ben configured so that Git commands succeed
    if no global user is configured.
    
    This closes #73
---
 .../checkin/GitCheckInCommandNoBranchTest.java     |  6 ++++
 .../command/checkin/GitCheckInCommandTest.java     |  3 ++
 .../maven/scm/provider/git/GitScmTestUtils.java    | 35 ++++++++++++++++++++++
 .../git/command/blame/GitBlameCommandTckTest.java  | 17 +++++++++++
 .../command/branch/GitBranchCommandTckTest.java    | 17 +++++++++++
 .../changelog/GitChangeLogCommandTckTest.java      | 16 ++++++++++
 .../command/checkin/GitCheckInCommandTckTest.java  | 17 +++++++++++
 .../command/status/GitStatusCommandTckTest.java    | 17 +++++++++++
 .../git/command/tag/GitTagCommandTckTest.java      | 17 +++++++++++
 .../command/update/GitUpdateCommandTckTest.java    | 17 +++++++++++
 .../java/org/apache/maven/scm/ScmTestCase.java     |  4 +--
 11 files changed, 164 insertions(+), 2 deletions(-)

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 5781edc..e73e163 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
@@ -25,6 +25,7 @@ import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.add.AddScmResult;
 import org.apache.maven.scm.command.checkin.CheckInScmResult;
 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;
 
@@ -61,7 +62,12 @@ public class GitCheckInCommandNoBranchTest
         FileUtils.copyDirectoryStructure( repo_orig, repo );
 
         ScmRepository scmRepository = getScmManager().makeScmRepository( "scm:git:file:///" + repo.getAbsolutePath() );
+
         CheckOutScmResult checkOutScmResult = checkoutRepo( scmRepository );
+
+        // Add a default user to the config
+        GitScmTestUtils.setDefaultUser( workingDirectory );
+
         assertEquals( 0, checkOutScmResult.getCheckedOutFiles().size() );
 
         File f = new File( workingDirectory.getAbsolutePath() + File.separator + "pom.xml" );
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/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 50093db..3221fc6 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
@@ -98,6 +98,9 @@ public class GitCheckInCommandTest
         ScmRepository scmRepository = getScmManager().makeScmRepository( "scm:git:file://" + repo.getAbsolutePath() );
         checkoutRepoInto(checkedOutRepo, scmRepository);
 
+        // Add a default user to the config
+        GitScmTestUtils.setDefaultUser( checkedOutRepo );
+
         // Creating foo/bar/wine.xml
         File fooDir = new File( checkedOutRepo.getAbsolutePath() + File.separator + "foo" );
         fooDir.mkdir();
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 4ba272b..c62458f 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
@@ -29,6 +29,7 @@ import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 
 import java.io.File;
+import java.io.FileWriter;
 import java.io.IOException;
 
 /**
@@ -136,4 +137,38 @@ public final class GitScmTestUtils
         }
     }
 
+    public static void setDefaultUser( File repositoryRootFile )
+    {
+        File gitConfigFile = new File( new File( repositoryRootFile, ".git" ), "config" );
+
+        FileWriter fw = null;
+        try
+        {
+            fw = new FileWriter( gitConfigFile , true );
+            fw.append( "[user]\n" );
+            fw.append( "\tname = John Doe\n" );
+            fw.append( "\temail = john.doe@nowhere.com\n" );
+            fw.flush();
+            fw.close();
+        }
+        catch ( IOException e )
+        {
+            System.err.println( "cannot setup a default user for tests purpose inside " + gitConfigFile );
+            e.printStackTrace();
+        }
+        finally
+        {
+            if ( fw != null )
+            {
+                try
+                {
+                    fw.close();
+                }
+                catch ( IOException ignore )
+                {
+                    // ignored
+                }
+            }
+        }
+    }
 }
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/blame/GitBlameCommandTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/blame/GitBlameCommandTckTest.java
index 8b4dd74..b654e46 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/blame/GitBlameCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/blame/GitBlameCommandTckTest.java
@@ -19,9 +19,13 @@ package org.apache.maven.scm.provider.git.command.blame;
  * under the License.
  */
 
+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.apache.maven.scm.tck.command.blame.BlameCommandTckTest;
 
+import java.io.File;
+
 /**
  * @author Evgeny Mandrikov
  * @since 1.4
@@ -34,4 +38,17 @@ public abstract class GitBlameCommandTckTest
     {
         GitScmTestUtils.initRepo( "src/test/resources/repository/", getRepositoryRoot(), getWorkingDirectory() );
     }
+
+    @Override
+    protected CheckOutScmResult checkOut( File workingDirectory, ScmRepository repository ) throws Exception
+    {
+        try
+        {
+            return super.checkOut( workingDirectory, repository );
+        }
+        finally
+        {
+            GitScmTestUtils.setDefaultUser( workingDirectory );
+        }
+    }
 }
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/branch/GitBranchCommandTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/branch/GitBranchCommandTckTest.java
index 598483f..105a3db 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/branch/GitBranchCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/branch/GitBranchCommandTckTest.java
@@ -19,9 +19,13 @@ package org.apache.maven.scm.provider.git.command.branch;
  * under the License.
  */
 
+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.apache.maven.scm.tck.command.branch.BranchCommandTckTest;
 
+import java.io.File;
+
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
  *
@@ -35,4 +39,17 @@ public abstract class GitBranchCommandTckTest
     {
         GitScmTestUtils.initRepo( "src/test/resources/repository/", getRepositoryRoot(), getWorkingDirectory() );
     }
+
+    @Override
+    protected CheckOutScmResult checkOut( File workingDirectory, ScmRepository repository ) throws Exception
+    {
+        try
+        {
+            return super.checkOut( workingDirectory, repository );
+        }
+        finally
+        {
+            GitScmTestUtils.setDefaultUser( workingDirectory );
+        }
+    }
 }
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 18c3224..0faa496 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
@@ -19,9 +19,13 @@ package org.apache.maven.scm.provider.git.command.changelog;
  * under the License.
  */
 
+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.apache.maven.scm.tck.command.changelog.ChangeLogCommandTckTest;
 
+import java.io.File;
+
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
  */
@@ -36,4 +40,16 @@ public abstract class GitChangeLogCommandTckTest
         GitScmTestUtils.initRepo( "src/test/resources/repository/", getRepositoryRoot(), getWorkingDirectory() );
     }
 
+    @Override
+    protected CheckOutScmResult checkOut( File workingDirectory, ScmRepository repository ) throws Exception
+    {
+        try
+        {
+            return super.checkOut( workingDirectory, repository );
+        }
+        finally
+        {
+            GitScmTestUtils.setDefaultUser( workingDirectory );
+        }
+    }
 }
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/checkin/GitCheckInCommandTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/checkin/GitCheckInCommandTckTest.java
index 49e968a..bf6383b 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/checkin/GitCheckInCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/checkin/GitCheckInCommandTckTest.java
@@ -19,9 +19,13 @@ package org.apache.maven.scm.provider.git.command.checkin;
  * under the License.
  */
 
+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.apache.maven.scm.tck.command.checkin.CheckInCommandTckTest;
 
+import java.io.File;
+
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
  *
@@ -36,4 +40,17 @@ public abstract class GitCheckInCommandTckTest
     {
         GitScmTestUtils.initRepo( "src/test/resources/repository/", getRepositoryRoot(), getWorkingDirectory() );
     }
+
+    @Override
+    protected CheckOutScmResult checkOut( File workingDirectory, ScmRepository repository ) throws Exception
+    {
+        try
+        {
+            return super.checkOut( workingDirectory, repository );
+        }
+        finally
+        {
+            GitScmTestUtils.setDefaultUser( workingDirectory );
+        }
+    }
 }
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/status/GitStatusCommandTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/status/GitStatusCommandTckTest.java
index 04ecc24..ce8d936 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/status/GitStatusCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/status/GitStatusCommandTckTest.java
@@ -19,9 +19,13 @@ package org.apache.maven.scm.provider.git.command.status;
  * under the License.
  */
 
+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.apache.maven.scm.tck.command.status.StatusCommandTckTest;
 
+import java.io.File;
+
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
  *
@@ -35,4 +39,17 @@ public abstract class GitStatusCommandTckTest
     {
         GitScmTestUtils.initRepo( "src/test/resources/repository/", getRepositoryRoot(), getWorkingDirectory() );
     }
+
+    @Override
+    protected CheckOutScmResult checkOut( File workingDirectory, ScmRepository repository ) throws Exception
+    {
+        try
+        {
+            return super.checkOut( workingDirectory, repository );
+        }
+        finally
+        {
+            GitScmTestUtils.setDefaultUser( workingDirectory );
+        }
+    }
 }
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/tag/GitTagCommandTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/tag/GitTagCommandTckTest.java
index 7374e36..d74105a 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/tag/GitTagCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/tag/GitTagCommandTckTest.java
@@ -19,9 +19,13 @@ package org.apache.maven.scm.provider.git.command.tag;
  * under the License.
  */
 
+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.apache.maven.scm.tck.command.tag.TagCommandTckTest;
 
+import java.io.File;
+
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
  *
@@ -35,4 +39,17 @@ public abstract class GitTagCommandTckTest
     {
         GitScmTestUtils.initRepo( "src/test/resources/repository/", getRepositoryRoot(), getWorkingDirectory() );
     }
+
+    @Override
+    protected CheckOutScmResult checkOut( File workingDirectory, ScmRepository repository ) throws Exception
+    {
+        try
+        {
+            return super.checkOut( workingDirectory, repository );
+        }
+        finally
+        {
+            GitScmTestUtils.setDefaultUser( workingDirectory );
+        }
+    }
 }
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/update/GitUpdateCommandTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/update/GitUpdateCommandTckTest.java
index eae6210..ff277b5 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/update/GitUpdateCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/update/GitUpdateCommandTckTest.java
@@ -19,9 +19,13 @@ package org.apache.maven.scm.provider.git.command.update;
  * under the License.
  */
 
+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.apache.maven.scm.tck.command.update.UpdateCommandTckTest;
 
+import java.io.File;
+
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
  *
@@ -35,4 +39,17 @@ public abstract class GitUpdateCommandTckTest
     {
         GitScmTestUtils.initRepo( "src/test/resources/repository/", getRepositoryRoot(), getWorkingDirectory() );
     }
+
+    @Override
+    protected CheckOutScmResult checkOut( File workingDirectory, ScmRepository repository ) throws Exception
+    {
+        try
+        {
+            return super.checkOut( workingDirectory, repository );
+        }
+        finally
+        {
+            GitScmTestUtils.setDefaultUser( workingDirectory );
+        }
+    }
 }
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 dbec38e..d618ceb 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
@@ -146,7 +146,7 @@ public abstract class ScmTestCase
     }
 
     /**
-     * If you wish to use this component, makesure to configure your 
+     * If you wish to use this component, make sure to configure your
      * TCK implementation to include plexus component configuration
      * as doc at https://issues.apache.org/jira/browse/MNG-4384
      * @return SecDispatcher
@@ -205,7 +205,7 @@ public abstract class ScmTestCase
 
         printOutputError( result );
 
-        fail( "The check out result success flag was false." );
+        fail( "The command result success flag was false." );
     }
 
     protected void printOutputError( ScmResult result )

-- 
To stop receiving notification emails like this one, please contact
michaelo@apache.org.