github.com/goreleaser/goreleaser@v1.25.1/internal/pipe/dist/dist_test.go (about)

     1  package dist
     2  
     3  import (
     4  	"os"
     5  	"path/filepath"
     6  	"testing"
     7  
     8  	"github.com/goreleaser/goreleaser/internal/testctx"
     9  	"github.com/goreleaser/goreleaser/pkg/config"
    10  	"github.com/stretchr/testify/require"
    11  )
    12  
    13  func TestDistDoesNotExist(t *testing.T) {
    14  	folder := t.TempDir()
    15  	dist := filepath.Join(folder, "dist")
    16  	require.NoError(t, Pipe{}.Run(testctx.NewWithCfg(config.Project{Dist: dist})))
    17  }
    18  
    19  func TestPopulatedDistExists(t *testing.T) {
    20  	folder := t.TempDir()
    21  	dist := filepath.Join(folder, "dist")
    22  	require.NoError(t, os.Mkdir(dist, 0o755))
    23  	f, err := os.Create(filepath.Join(dist, "mybin"))
    24  	require.NoError(t, err)
    25  	require.NoError(t, f.Close())
    26  	ctx := testctx.NewWithCfg(config.Project{Dist: dist})
    27  	require.Error(t, Pipe{}.Run(ctx))
    28  	ctx.Clean = true
    29  	require.NoError(t, Pipe{}.Run(ctx))
    30  	_, err = os.Stat(dist)
    31  	require.False(t, os.IsExist(err))
    32  }
    33  
    34  func TestEmptyDistExists(t *testing.T) {
    35  	folder := t.TempDir()
    36  	dist := filepath.Join(folder, "dist")
    37  	require.NoError(t, os.Mkdir(dist, 0o755))
    38  	ctx := testctx.NewWithCfg(config.Project{Dist: dist})
    39  	require.NoError(t, Pipe{}.Run(ctx))
    40  	_, err := os.Stat(dist)
    41  	require.False(t, os.IsNotExist(err))
    42  }
    43  
    44  func TestDescription(t *testing.T) {
    45  	require.NotEmpty(t, Pipe{}.String())
    46  }