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 }