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 }