github.com/ahmet2mir/goreleaser@v0.180.3-0.20210927151101-8e5ee5a9b8c5/pkg/archive/archive_test.go (about) 1 package archive 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/goreleaser/goreleaser/pkg/config" 8 "github.com/stretchr/testify/require" 9 ) 10 11 func TestArchive(t *testing.T) { 12 folder := t.TempDir() 13 empty, err := os.Create(folder + "/empty.txt") 14 require.NoError(t, err) 15 require.NoError(t, empty.Close()) 16 require.NoError(t, os.Mkdir(folder+"/folder-inside", 0o755)) 17 18 for _, format := range []string{"tar.gz", "zip", "gz", "tar.xz", "tar", "willbeatargzanyway"} { 19 format := format 20 t.Run(format, func(t *testing.T) { 21 file, err := os.Create(folder + "/folder." + format) 22 require.NoError(t, err) 23 archive := New(file) 24 t.Cleanup(func() { 25 require.NoError(t, archive.Close()) 26 require.NoError(t, file.Close()) 27 }) 28 require.NoError(t, archive.Add(config.File{ 29 Source: empty.Name(), 30 Destination: "empty.txt", 31 })) 32 require.Error(t, archive.Add(config.File{ 33 Source: empty.Name() + "_nope", 34 Destination: "dont.txt", 35 })) 36 }) 37 } 38 }