github.com/amane3/goreleaser@v0.182.0/internal/pipe/dist/dist_test.go (about) 1 package dist 2 3 import ( 4 "os" 5 "path/filepath" 6 "testing" 7 8 "github.com/amane3/goreleaser/pkg/config" 9 "github.com/amane3/goreleaser/pkg/context" 10 "github.com/stretchr/testify/require" 11 ) 12 13 func TestDistDoesNotExist(t *testing.T) { 14 var folder = t.TempDir() 15 var dist = filepath.Join(folder, "dist") 16 require.NoError( 17 t, 18 Pipe{}.Run( 19 &context.Context{ 20 Config: config.Project{ 21 Dist: dist, 22 }, 23 }, 24 ), 25 ) 26 } 27 28 func TestPopulatedDistExists(t *testing.T) { 29 var folder = t.TempDir() 30 var dist = filepath.Join(folder, "dist") 31 require.NoError(t, os.Mkdir(dist, 0755)) 32 _, err := os.Create(filepath.Join(dist, "mybin")) 33 require.NoError(t, err) 34 var ctx = &context.Context{ 35 Config: config.Project{ 36 Dist: dist, 37 }, 38 } 39 require.Error(t, Pipe{}.Run(ctx)) 40 ctx.RmDist = true 41 require.NoError(t, Pipe{}.Run(ctx)) 42 _, err = os.Stat(dist) 43 require.False(t, os.IsExist(err)) 44 } 45 46 func TestEmptyDistExists(t *testing.T) { 47 var folder = t.TempDir() 48 var dist = filepath.Join(folder, "dist") 49 require.NoError(t, os.Mkdir(dist, 0755)) 50 var ctx = &context.Context{ 51 Config: config.Project{ 52 Dist: dist, 53 }, 54 } 55 require.NoError(t, Pipe{}.Run(ctx)) 56 _, err := os.Stat(dist) 57 require.False(t, os.IsNotExist(err)) 58 } 59 60 func TestDescription(t *testing.T) { 61 require.NotEmpty(t, Pipe{}.String()) 62 }