github.com/amane3/goreleaser@v0.182.0/internal/git/git_test.go (about)

     1  package git_test
     2  
     3  import (
     4  	"os"
     5  	"testing"
     6  
     7  	"github.com/amane3/goreleaser/internal/git"
     8  	"github.com/amane3/goreleaser/internal/testlib"
     9  	"github.com/stretchr/testify/require"
    10  )
    11  
    12  func TestGit(t *testing.T) {
    13  	out, err := git.Run("status")
    14  	require.NoError(t, err)
    15  	require.NotEmpty(t, out)
    16  
    17  	out, err = git.Run("command-that-dont-exist")
    18  	require.Error(t, err)
    19  	require.Empty(t, out)
    20  	require.Equal(
    21  		t,
    22  		"git: 'command-that-dont-exist' is not a git command. See 'git --help'.\n",
    23  		err.Error(),
    24  	)
    25  }
    26  
    27  func TestGitWarning(t *testing.T) {
    28  	testlib.Mktmp(t)
    29  	testlib.GitInit(t)
    30  	testlib.GitCommit(t, "foo")
    31  	testlib.GitBranch(t, "tags/1.2.2")
    32  	testlib.GitTag(t, "1.2.2")
    33  	testlib.GitCommit(t, "foobar")
    34  	testlib.GitBranch(t, "tags/1.2.3")
    35  	testlib.GitTag(t, "1.2.3")
    36  
    37  	out, err := git.Run("describe", "--tags", "--abbrev=0", "tags/1.2.3^")
    38  	require.NoError(t, err)
    39  	require.Equal(t, "1.2.2\n", out)
    40  }
    41  
    42  func TestRepo(t *testing.T) {
    43  	require.True(t, git.IsRepo(), "goreleaser folder should be a git repo")
    44  
    45  	require.NoError(t, os.Chdir(os.TempDir()))
    46  	require.False(t, git.IsRepo(), os.TempDir()+" folder should be a git repo")
    47  }
    48  
    49  func TestClean(t *testing.T) {
    50  	out, err := git.Clean("asdasd 'ssadas'\nadasd", nil)
    51  	require.NoError(t, err)
    52  	require.Equal(t, "asdasd ssadas", out)
    53  
    54  	out, err = git.Clean(git.Run("command-that-dont-exist"))
    55  	require.Error(t, err)
    56  	require.Empty(t, out)
    57  	require.Equal(
    58  		t,
    59  		"git: 'command-that-dont-exist' is not a git command. See 'git --help'.",
    60  		err.Error(),
    61  	)
    62  }