1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-09-16 09:26:52 +02:00

fix: several fd leaks (on tests) (#2187)

This commit is contained in:
Carlos Alexandro Becker
2021-04-25 11:34:40 -03:00
committed by GitHub
parent f72e6399da
commit 66117f3126
21 changed files with 150 additions and 83 deletions

View File

@@ -15,7 +15,7 @@ var _ fmt.Stringer = Type(0)
func TestAdd(t *testing.T) {
var g errgroup.Group
var artifacts = New()
artifacts := New()
for _, a := range []*Artifact{
{
Name: "foo",
@@ -45,7 +45,7 @@ func TestAdd(t *testing.T) {
}
func TestFilter(t *testing.T) {
var data = []*Artifact{
data := []*Artifact{
{
Name: "foo",
Goos: "linux",
@@ -68,7 +68,7 @@ func TestFilter(t *testing.T) {
Type: Checksum,
},
}
var artifacts = New()
artifacts := New()
for _, a := range data {
artifacts.Add(a)
}
@@ -108,7 +108,7 @@ func TestFilter(t *testing.T) {
}
func TestGroupByPlatform(t *testing.T) {
var data = []*Artifact{
data := []*Artifact{
{
Name: "foo",
Goos: "linux",
@@ -142,12 +142,12 @@ func TestGroupByPlatform(t *testing.T) {
Type: Checksum,
},
}
var artifacts = New()
artifacts := New()
for _, a := range data {
artifacts.Add(a)
}
var groups = artifacts.GroupByPlatform()
groups := artifacts.GroupByPlatform()
require.Len(t, groups["linuxamd64"], 2)
require.Len(t, groups["linuxarm6"], 1)
require.Len(t, groups["linuxmipssoftfloat"], 1)
@@ -155,11 +155,11 @@ func TestGroupByPlatform(t *testing.T) {
}
func TestChecksum(t *testing.T) {
var folder = t.TempDir()
var file = filepath.Join(folder, "subject")
require.NoError(t, ioutil.WriteFile(file, []byte("lorem ipsum"), 0644))
folder := t.TempDir()
file := filepath.Join(folder, "subject")
require.NoError(t, ioutil.WriteFile(file, []byte("lorem ipsum"), 0o644))
var artifact = Artifact{
artifact := Artifact{
Path: file,
}
@@ -181,19 +181,20 @@ func TestChecksum(t *testing.T) {
}
func TestChecksumFileDoesntExist(t *testing.T) {
var artifact = Artifact{
Path: "/tmp/adasdasdas/asdasd/asdas",
file := filepath.Join(t.TempDir(), "nope")
artifact := Artifact{
Path: file,
}
sum, err := artifact.Checksum("sha1")
require.EqualError(t, err, `failed to checksum: open /tmp/adasdasdas/asdasd/asdas: no such file or directory`)
require.EqualError(t, err, fmt.Sprintf(`failed to checksum: open %s: no such file or directory`, file))
require.Empty(t, sum)
}
func TestInvalidAlgorithm(t *testing.T) {
f, err := ioutil.TempFile(t.TempDir(), "")
require.NoError(t, err)
t.Cleanup(func() { f.Close() })
var artifact = Artifact{
require.NoError(t, f.Close())
artifact := Artifact{
Path: f.Name(),
}
sum, err := artifact.Checksum("sha1ssss")
@@ -202,7 +203,7 @@ func TestInvalidAlgorithm(t *testing.T) {
}
func TestExtraOr(t *testing.T) {
var a = &Artifact{
a := &Artifact{
Extra: map[string]interface{}{
"Foo": "foo",
},
@@ -212,7 +213,7 @@ func TestExtraOr(t *testing.T) {
}
func TestByIDs(t *testing.T) {
var data = []*Artifact{
data := []*Artifact{
{
Name: "foo",
Extra: map[string]interface{}{
@@ -242,7 +243,7 @@ func TestByIDs(t *testing.T) {
Type: Checksum,
},
}
var artifacts = New()
artifacts := New()
for _, a := range data {
artifacts.Add(a)
}
@@ -253,7 +254,7 @@ func TestByIDs(t *testing.T) {
}
func TestByFormats(t *testing.T) {
var data = []*Artifact{
data := []*Artifact{
{
Name: "foo",
Extra: map[string]interface{}{
@@ -279,7 +280,7 @@ func TestByFormats(t *testing.T) {
},
},
}
var artifacts = New()
artifacts := New()
for _, a := range data {
artifacts.Add(a)
}
@@ -315,8 +316,8 @@ func TestTypeToString(t *testing.T) {
}
func TestPaths(t *testing.T) {
var paths = []string{"a/b", "b/c", "d/e", "f/g"}
var artifacts = New()
paths := []string{"a/b", "b/c", "d/e", "f/g"}
artifacts := New()
for _, a := range paths {
artifacts.Add(&Artifact{
Path: a,

View File

@@ -366,17 +366,17 @@ func (s *GiteaUploadSuite) SetupTest() {
s.artifact = &artifact.Artifact{Name: "ArtifactName"}
file, err := ioutil.TempFile(t.TempDir(), "gitea_test_tempfile")
require.NoError(t, err)
t.Cleanup(func() { file.Close() })
require.NotNil(t, file)
t.Cleanup(func() {
_ = file.Close()
})
s.file = file
s.releaseAttachmentsURL = fmt.Sprintf("%v/assets", s.releaseURL)
}
func (s *GiteaUploadSuite) TearDownTest() {
t := s.T()
s.GiteaReleasesTestSuite.TearDownTest()
err := s.file.Close()
require.NoError(t, err)
require.NoError(s.T(), s.file.Close())
}
func (s *GiteaUploadSuite) TestErrorParsingReleaseID() {

View File

@@ -30,6 +30,9 @@ func TestAssetOpenDefault(t *testing.T) {
if err != nil {
t.Fatalf("can not open asset: %v", err)
}
t.Cleanup(func() {
require.NoError(t, a.ReadCloser.Close())
})
bs, err := ioutil.ReadAll(a.ReadCloser)
if err != nil {
t.Fatalf("can not read asset: %v", err)

View File

@@ -27,8 +27,9 @@ func createFakeBinary(t *testing.T, dist, arch, bin string) {
t.Helper()
var path = filepath.Join(dist, arch, bin)
require.NoError(t, os.MkdirAll(filepath.Dir(path), 0755))
_, err := os.Create(path)
f, err := os.Create(path)
require.NoError(t, err)
require.NoError(t, f.Close())
}
func TestRunPipe(t *testing.T) {
@@ -42,12 +43,14 @@ func TestRunPipe(t *testing.T) {
}
createFakeBinary(t, dist, "windowsamd64", "bin/mybin.exe")
for _, tt := range []string{"darwin", "linux", "windows"} {
_, err := os.Create(filepath.Join(folder, fmt.Sprintf("README.%s.md", tt)))
f, err := os.Create(filepath.Join(folder, fmt.Sprintf("README.%s.md", tt)))
require.NoError(t, err)
require.NoError(t, f.Close())
}
require.NoError(t, os.MkdirAll(filepath.Join(folder, "foo", "bar", "foobar"), 0755))
_, err := os.Create(filepath.Join(filepath.Join(folder, "foo", "bar", "foobar", "blah.txt")))
f, err := os.Create(filepath.Join(filepath.Join(folder, "foo", "bar", "foobar", "blah.txt")))
require.NoError(t, err)
require.NoError(t, f.Close())
var ctx = context.New(
config.Project{
Dist: dist,
@@ -306,12 +309,15 @@ func TestRunPipeBinary(t *testing.T) {
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "darwinamd64"), 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "windowsamd64"), 0755))
_, err := os.Create(filepath.Join(dist, "darwinamd64", "mybin"))
f, err := os.Create(filepath.Join(dist, "darwinamd64", "mybin"))
require.NoError(t, err)
_, err = os.Create(filepath.Join(dist, "windowsamd64", "mybin.exe"))
require.NoError(t, f.Close())
f, err = os.Create(filepath.Join(dist, "windowsamd64", "mybin.exe"))
require.NoError(t, err)
_, err = os.Create(filepath.Join(folder, "README.md"))
require.NoError(t, f.Close())
f, err = os.Create(filepath.Join(folder, "README.md"))
require.NoError(t, err)
require.NoError(t, f.Close())
var ctx = context.New(
config.Project{
Dist: dist,
@@ -393,8 +399,9 @@ func TestRunPipeInvalidGlob(t *testing.T) {
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "darwinamd64"), 0755))
_, err := os.Create(filepath.Join(dist, "darwinamd64", "mybin"))
f, err := os.Create(filepath.Join(dist, "darwinamd64", "mybin"))
require.NoError(t, err)
require.NoError(t, f.Close())
var ctx = context.New(
config.Project{
Dist: dist,
@@ -430,8 +437,9 @@ func TestRunPipeInvalidNameTemplate(t *testing.T) {
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "darwinamd64"), 0755))
_, err := os.Create(filepath.Join(dist, "darwinamd64", "mybin"))
f, err := os.Create(filepath.Join(dist, "darwinamd64", "mybin"))
require.NoError(t, err)
require.NoError(t, f.Close())
var ctx = context.New(
config.Project{
Dist: dist,
@@ -464,8 +472,9 @@ func TestRunPipeInvalidFilesNameTemplate(t *testing.T) {
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "darwinamd64"), 0755))
_, err := os.Create(filepath.Join(dist, "darwinamd64", "mybin"))
f, err := os.Create(filepath.Join(dist, "darwinamd64", "mybin"))
require.NoError(t, err)
require.NoError(t, f.Close())
var ctx = context.New(
config.Project{
Dist: dist,
@@ -501,8 +510,9 @@ func TestRunPipeInvalidWrapInDirectoryTemplate(t *testing.T) {
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "darwinamd64"), 0755))
_, err := os.Create(filepath.Join(dist, "darwinamd64", "mybin"))
f, err := os.Create(filepath.Join(dist, "darwinamd64", "mybin"))
require.NoError(t, err)
require.NoError(t, f.Close())
var ctx = context.New(
config.Project{
Dist: dist,
@@ -536,10 +546,12 @@ func TestRunPipeWrap(t *testing.T) {
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "darwinamd64"), 0755))
_, err := os.Create(filepath.Join(dist, "darwinamd64", "mybin"))
f, err := os.Create(filepath.Join(dist, "darwinamd64", "mybin"))
require.NoError(t, err)
_, err = os.Create(filepath.Join(folder, "README.md"))
require.NoError(t, f.Close())
f, err = os.Create(filepath.Join(folder, "README.md"))
require.NoError(t, err)
require.NoError(t, f.Close())
var ctx = context.New(
config.Project{
Dist: dist,
@@ -578,7 +590,7 @@ func TestRunPipeWrap(t *testing.T) {
require.Equal(t, "foo_macOS", archives[0].ExtraOr("WrappedIn", ""))
// Check archive contents
f, err := os.Open(filepath.Join(dist, "foo.tar.gz"))
f, err = os.Open(filepath.Join(dist, "foo.tar.gz"))
require.NoError(t, err)
defer func() { require.NoError(t, f.Close()) }()
gr, err := gzip.NewReader(f)
@@ -669,12 +681,15 @@ func TestBinaryOverride(t *testing.T) {
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "darwinamd64"), 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "windowsamd64"), 0755))
_, err := os.Create(filepath.Join(dist, "darwinamd64", "mybin"))
f, err := os.Create(filepath.Join(dist, "darwinamd64", "mybin"))
require.NoError(t, err)
_, err = os.Create(filepath.Join(dist, "windowsamd64", "mybin.exe"))
require.NoError(t, f.Close())
f, err = os.Create(filepath.Join(dist, "windowsamd64", "mybin.exe"))
require.NoError(t, err)
_, err = os.Create(filepath.Join(folder, "README.md"))
require.NoError(t, f.Close())
f, err = os.Create(filepath.Join(folder, "README.md"))
require.NoError(t, err)
require.NoError(t, f.Close())
for _, format := range []string{"tar.gz", "zip"} {
t.Run("Archive format "+format, func(t *testing.T) {
var ctx = context.New(
@@ -746,10 +761,12 @@ func TestRunPipeSameArchiveFilename(t *testing.T) {
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "darwinamd64"), 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "windowsamd64"), 0755))
_, err := os.Create(filepath.Join(dist, "darwinamd64", "mybin"))
f, err := os.Create(filepath.Join(dist, "darwinamd64", "mybin"))
require.NoError(t, err)
_, err = os.Create(filepath.Join(dist, "windowsamd64", "mybin.exe"))
require.NoError(t, f.Close())
f, err = os.Create(filepath.Join(dist, "windowsamd64", "mybin.exe"))
require.NoError(t, err)
require.NoError(t, f.Close())
var ctx = context.New(
config.Project{
Dist: dist,
@@ -802,14 +819,18 @@ func TestDuplicateFilesInsideArchive(t *testing.T) {
f, err := ioutil.TempFile(folder, "")
require.NoError(t, err)
defer f.Close()
t.Cleanup(func() {
require.NoError(t, f.Close())
})
ff, err := ioutil.TempFile(folder, "")
require.NoError(t, err)
defer ff.Close()
require.NoError(t, ff.Close())
a := NewEnhancedArchive(archive.New(f), "")
defer a.Close()
t.Cleanup(func() {
require.NoError(t, a.Close())
})
require.NoError(t, a.Add("foo", ff.Name()))
require.EqualError(t, a.Add("foo", ff.Name()), "file foo already exists in the archive")

View File

@@ -217,8 +217,10 @@ func TestRunPipe_ModeArchive(t *testing.T) {
folder := t.TempDir()
tarfile, err := os.Create(filepath.Join(folder, "bin.tar.gz"))
require.NoError(t, err)
require.NoError(t, tarfile.Close())
debfile, err := os.Create(filepath.Join(folder, "bin.deb"))
require.NoError(t, err)
require.NoError(t, debfile.Close())
ctx := context.New(config.Project{
ProjectName: "goreleaser",
@@ -318,6 +320,7 @@ func TestRunPipe_ArtifactoryDown(t *testing.T) {
folder := t.TempDir()
tarfile, err := os.Create(filepath.Join(folder, "bin.tar.gz"))
require.NoError(t, err)
require.NoError(t, tarfile.Close())
ctx := context.New(config.Project{
ProjectName: "goreleaser",

View File

@@ -237,8 +237,9 @@ func TestRunPipe(t *testing.T) {
},
})
_, err := os.Create(path)
f, err := os.Create(path)
require.NoError(t, err)
require.NoError(t, f.Close())
client := &DummyClient{}
var distFile = filepath.Join(folder, name+".rb")
@@ -301,8 +302,9 @@ func TestRunPipeNameTemplate(t *testing.T) {
},
})
_, err := os.Create(path)
f, err := os.Create(path)
require.NoError(t, err)
require.NoError(t, f.Close())
client := &DummyClient{}
var distFile = filepath.Join(folder, "foo_is_bar.rb")
@@ -385,8 +387,9 @@ func TestRunPipeMultipleBrewsWithSkip(t *testing.T) {
},
})
_, err := os.Create(path)
f, err := os.Create(path)
require.NoError(t, err)
require.NoError(t, f.Close())
var cli = &DummyClient{}
require.EqualError(t, publishAll(ctx, cli), `brew.skip_upload is set`)
@@ -503,8 +506,9 @@ func TestRunPipeForMultipleArmVersions(t *testing.T) {
"Format": "tar.gz",
},
})
_, err := os.Create(path)
f, err := os.Create(path)
require.NoError(t, err)
require.NoError(t, f.Close())
}
client := &DummyClient{}
@@ -562,7 +566,9 @@ func TestRunPipeMultipleArchivesSameOsBuild(t *testing.T) {
ctx.TokenType = context.TokenTypeGitHub
f, err := ioutil.TempFile(t.TempDir(), "")
require.NoError(t, err)
t.Cleanup(func() { f.Close() })
t.Cleanup(func() {
require.NoError(t, f.Close())
})
tests := []struct {
expectedError error
@@ -742,8 +748,9 @@ func TestRunPipeNoUpload(t *testing.T) {
ctx.TokenType = context.TokenTypeGitHub
ctx.Git = context.GitInfo{CurrentTag: "v1.0.1"}
var path = filepath.Join(folder, "whatever.tar.gz")
_, err := os.Create(path)
f, err := os.Create(path)
require.NoError(t, err)
require.NoError(t, f.Close())
ctx.Artifacts.Add(&artifact.Artifact{
Name: "bin",
Path: path,
@@ -793,8 +800,9 @@ func TestRunEmptyTokenType(t *testing.T) {
})
ctx.Git = context.GitInfo{CurrentTag: "v1.0.1"}
var path = filepath.Join(folder, "whatever.tar.gz")
_, err := os.Create(path)
f, err := os.Create(path)
require.NoError(t, err)
require.NoError(t, f.Close())
ctx.Artifacts.Add(&artifact.Artifact{
Name: "bin",
Path: path,
@@ -828,8 +836,9 @@ func TestRunTokenTypeNotImplementedForBrew(t *testing.T) {
ctx.TokenType = context.TokenTypeGitea
ctx.Git = context.GitInfo{CurrentTag: "v1.0.1"}
var path = filepath.Join(folder, "whatever.tar.gz")
_, err := os.Create(path)
f, err := os.Create(path)
require.NoError(t, err)
require.NoError(t, f.Close())
ctx.Artifacts.Add(&artifact.Artifact{
Name: "bin",
Path: path,

View File

@@ -142,7 +142,7 @@ func TestPipeFileNotExist(t *testing.T) {
func TestPipeInvalidNameTemplate(t *testing.T) {
binFile, err := ioutil.TempFile(t.TempDir(), "goreleasertest-bin")
require.NoError(t, err)
t.Cleanup(func() { binFile.Close() })
t.Cleanup(func() { require.NoError(t, binFile.Close()) })
_, err = binFile.WriteString("fake artifact")
require.NoError(t, err)
@@ -179,7 +179,7 @@ func TestPipeCouldNotOpenChecksumsTxt(t *testing.T) {
var folder = t.TempDir()
binFile, err := ioutil.TempFile(folder, "goreleasertest-bin")
require.NoError(t, err)
t.Cleanup(func() { binFile.Close() })
t.Cleanup(func() { require.NoError(t, binFile.Close()) })
_, err = binFile.WriteString("fake artifact")
require.NoError(t, err)

View File

@@ -29,8 +29,9 @@ func TestPopulatedDistExists(t *testing.T) {
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
_, err := os.Create(filepath.Join(dist, "mybin"))
f, err := os.Create(filepath.Join(dist, "mybin"))
require.NoError(t, err)
require.NoError(t, f.Close())
var ctx = &context.Context{
Config: config.Project{
Dist: dist,

View File

@@ -852,15 +852,19 @@ func TestRunPipe(t *testing.T) {
dist := filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0o755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0o755))
_, err := os.Create(filepath.Join(dist, "mybin", "mybin"))
f, err := os.Create(filepath.Join(dist, "mybin", "mybin"))
require.NoError(t, err)
_, err = os.Create(filepath.Join(dist, "mybin", "anotherbin"))
require.NoError(t, f.Close())
f, err = os.Create(filepath.Join(dist, "mybin", "anotherbin"))
require.NoError(t, err)
_, err = os.Create(filepath.Join(dist, "mynfpm.apk"))
require.NoError(t, f.Close())
f, err = os.Create(filepath.Join(dist, "mynfpm.apk"))
require.NoError(t, err)
require.NoError(t, f.Close())
for _, arch := range []string{"amd64", "386", "arm64"} {
_, err = os.Create(filepath.Join(dist, fmt.Sprintf("mybin_%s.apk", arch)))
f, err = os.Create(filepath.Join(dist, fmt.Sprintf("mybin_%s.apk", arch)))
require.NoError(t, err)
require.NoError(t, f.Close())
}
ctx := context.New(config.Project{
@@ -1177,14 +1181,11 @@ func Test_processImageTemplates(t *testing.T) {
}
func TestLinkFile(t *testing.T) {
src, err := ioutil.TempFile(t.TempDir(), "src")
dir := t.TempDir()
src, err := ioutil.TempFile(dir, "src")
require.NoError(t, err)
require.NoError(t, src.Close())
dst := filepath.Join(filepath.Dir(src.Name()), "dst")
t.Cleanup(func() {
os.Remove(src.Name())
os.Remove(dst)
})
dst := filepath.Join(dir, "dst")
fmt.Println("src:", src.Name())
fmt.Println("dst:", dst)
require.NoError(t, ioutil.WriteFile(src.Name(), []byte("foo"), 0o644))

View File

@@ -124,6 +124,7 @@ func TestEmptyGithubEnvFile(t *testing.T) {
require.NoError(t, os.Unsetenv("GITHUB_TOKEN"))
f, err := ioutil.TempFile(t.TempDir(), "token")
require.NoError(t, err)
require.NoError(t, f.Close())
require.NoError(t, os.Chmod(f.Name(), 0377))
var ctx = &context.Context{
Config: config.Project{
@@ -139,6 +140,7 @@ func TestEmptyGitlabEnvFile(t *testing.T) {
require.NoError(t, os.Unsetenv("GITLAB_TOKEN"))
f, err := ioutil.TempFile(t.TempDir(), "token")
require.NoError(t, err)
require.NoError(t, f.Close())
require.NoError(t, os.Chmod(f.Name(), 0377))
var ctx = &context.Context{
Config: config.Project{
@@ -154,6 +156,7 @@ func TestEmptyGiteaEnvFile(t *testing.T) {
require.NoError(t, os.Unsetenv("GITEA_TOKEN"))
f, err := ioutil.TempFile(t.TempDir(), "token")
require.NoError(t, err)
require.NoError(t, f.Close())
require.NoError(t, os.Chmod(f.Name(), 0377))
var ctx = &context.Context{
Config: config.Project{
@@ -200,6 +203,7 @@ func TestLoadEnv(t *testing.T) {
f, err := ioutil.TempFile(t.TempDir(), "token")
require.NoError(t, err)
fmt.Fprintf(f, "123")
require.NoError(t, f.Close())
v, err := loadEnv(env, f.Name())
require.NoError(t, err)
require.Equal(t, "123", v)
@@ -210,6 +214,7 @@ func TestLoadEnv(t *testing.T) {
f, err := ioutil.TempFile(t.TempDir(), "token")
require.NoError(t, err)
fmt.Fprintf(f, "123\n")
require.NoError(t, f.Close())
v, err := loadEnv(env, f.Name())
require.NoError(t, err)
require.Equal(t, "123", v)
@@ -220,6 +225,7 @@ func TestLoadEnv(t *testing.T) {
f, err := ioutil.TempFile(t.TempDir(), "token")
require.NoError(t, err)
fmt.Fprintf(f, "123")
require.NoError(t, f.Close())
err = os.Chmod(f.Name(), 0377)
require.NoError(t, err)
v, err := loadEnv(env, f.Name())

View File

@@ -94,6 +94,7 @@ func TestDirty(t *testing.T) {
testlib.GitRemoteAdd(t, "git@github.com:foo/bar.git")
dummy, err := os.Create(filepath.Join(folder, "dummy"))
require.NoError(t, err)
require.NoError(t, dummy.Close())
testlib.GitAdd(t)
testlib.GitCommit(t, "commit2")
testlib.GitTag(t, "v0.0.1")

View File

@@ -78,8 +78,9 @@ func TestRunPipe(t *testing.T) {
require.NoError(t, os.Mkdir(dist, 0o755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0o755))
binPath := filepath.Join(dist, "mybin", "mybin")
_, err := os.Create(binPath)
f, err := os.Create(binPath)
require.NoError(t, err)
require.NoError(t, f.Close())
ctx := context.New(config.Project{
ProjectName: "mybin",
Dist: dist,
@@ -421,8 +422,9 @@ func TestDebSpecificConfig(t *testing.T) {
require.NoError(t, os.Mkdir(dist, 0o755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0o755))
binPath := filepath.Join(dist, "mybin", "mybin")
_, err := os.Create(binPath)
f, err := os.Create(binPath)
require.NoError(t, err)
require.NoError(t, f.Close())
ctx := context.New(config.Project{
ProjectName: "mybin",
Dist: dist,
@@ -494,8 +496,9 @@ func TestRPMSpecificConfig(t *testing.T) {
require.NoError(t, os.Mkdir(dist, 0o755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0o755))
binPath := filepath.Join(dist, "mybin", "mybin")
_, err := os.Create(binPath)
f, err := os.Create(binPath)
require.NoError(t, err)
require.NoError(t, f.Close())
ctx := context.New(config.Project{
ProjectName: "mybin",
Dist: dist,
@@ -567,8 +570,9 @@ func TestAPKSpecificConfig(t *testing.T) {
require.NoError(t, os.Mkdir(dist, 0o755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0o755))
binPath := filepath.Join(dist, "mybin", "mybin")
_, err := os.Create(binPath)
f, err := os.Create(binPath)
require.NoError(t, err)
require.NoError(t, f.Close())
ctx := context.New(config.Project{
ProjectName: "mybin",
Dist: dist,
@@ -657,8 +661,9 @@ func TestMeta(t *testing.T) {
require.NoError(t, os.Mkdir(dist, 0o755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0o755))
binPath := filepath.Join(dist, "mybin", "mybin")
_, err := os.Create(binPath)
f, err := os.Create(binPath)
require.NoError(t, err)
require.NoError(t, f.Close())
ctx := context.New(config.Project{
ProjectName: "mybin",
Dist: dist,

View File

@@ -26,14 +26,19 @@ func TestRunPipeWithoutIDsThenDoesNotFilter(t *testing.T) {
folder := t.TempDir()
tarfile, err := os.Create(filepath.Join(folder, "bin.tar.gz"))
require.NoError(t, err)
require.NoError(t, tarfile.Close())
srcfile, err := os.Create(filepath.Join(folder, "source.tar.gz"))
require.NoError(t, err)
require.NoError(t, srcfile.Close())
debfile, err := os.Create(filepath.Join(folder, "bin.deb"))
require.NoError(t, err)
require.NoError(t, debfile.Close())
filteredtarfile, err := os.Create(filepath.Join(folder, "filtered.tar.gz"))
require.NoError(t, err)
require.NoError(t, filteredtarfile.Close())
filtereddebfile, err := os.Create(filepath.Join(folder, "filtered.deb"))
require.NoError(t, err)
require.NoError(t, filtereddebfile.Close())
config := config.Project{
Dist: folder,
@@ -101,12 +106,16 @@ func TestRunPipeWithIDsThenFilters(t *testing.T) {
folder := t.TempDir()
tarfile, err := os.Create(filepath.Join(folder, "bin.tar.gz"))
require.NoError(t, err)
require.NoError(t, tarfile.Close())
debfile, err := os.Create(filepath.Join(folder, "bin.deb"))
require.NoError(t, err)
require.NoError(t, debfile.Close())
filteredtarfile, err := os.Create(filepath.Join(folder, "filtered.tar.gz"))
require.NoError(t, err)
require.NoError(t, filteredtarfile.Close())
filtereddebfile, err := os.Create(filepath.Join(folder, "filtered.deb"))
require.NoError(t, err)
require.NoError(t, filtereddebfile.Close())
config := config.Project{
Dist: folder,

View File

@@ -423,8 +423,9 @@ func addBinaries(t *testing.T, ctx *context.Context, name, dist string) {
var folder = goos + goarch
require.NoError(t, os.MkdirAll(filepath.Join(dist, folder), 0755))
var binPath = filepath.Join(dist, folder, name)
_, err := os.Create(binPath)
f, err := os.Create(binPath)
require.NoError(t, err)
require.NoError(t, f.Close())
ctx.Artifacts.Add(&artifact.Artifact{
Name: name,
Path: binPath,

View File

@@ -151,8 +151,10 @@ func TestRunPipe_ModeArchive(t *testing.T) {
var folder = t.TempDir()
tarfile, err := os.Create(filepath.Join(folder, "bin.tar.gz"))
require.NoError(t, err)
require.NoError(t, tarfile.Close())
debfile, err := os.Create(filepath.Join(folder, "bin.deb"))
require.NoError(t, err)
require.NoError(t, debfile.Close())
var ctx = context.New(config.Project{
ProjectName: "goreleaser",
@@ -286,8 +288,10 @@ func TestRunPipe_ModeArchive_CustomArtifactName(t *testing.T) {
var folder = t.TempDir()
tarfile, err := os.Create(filepath.Join(folder, "bin.tar.gz"))
require.NoError(t, err)
require.NoError(t, tarfile.Close())
debfile, err := os.Create(filepath.Join(folder, "bin.deb"))
require.NoError(t, err)
require.NoError(t, debfile.Close())
var ctx = context.New(config.Project{
ProjectName: "goreleaser",
@@ -354,6 +358,7 @@ func TestRunPipe_ArtifactoryDown(t *testing.T) {
var folder = t.TempDir()
tarfile, err := os.Create(filepath.Join(folder, "bin.tar.gz"))
require.NoError(t, err)
require.NoError(t, tarfile.Close())
var ctx = context.New(config.Project{
ProjectName: "goreleaser",

View File

@@ -11,6 +11,7 @@ func TestArchive(t *testing.T) {
var folder = t.TempDir()
empty, err := os.Create(folder + "/empty.txt")
require.NoError(t, err)
require.NoError(t, empty.Close())
require.NoError(t, os.Mkdir(folder+"/folder-inside", 0755))
for _, format := range []string{"tar.gz", "zip", "gz", "tar.xz", "willbeatargzanyway"} {
@@ -19,9 +20,12 @@ func TestArchive(t *testing.T) {
file, err := os.Create(folder + "/folder." + format)
require.NoError(t, err)
var archive = New(file)
t.Cleanup(func() {
require.NoError(t, archive.Close())
require.NoError(t, file.Close())
})
require.NoError(t, archive.Add("empty.txt", empty.Name()))
require.Error(t, archive.Add("dont.txt", empty.Name()+"_nope"))
require.NoError(t, archive.Close())
})
}
}

View File

@@ -16,14 +16,13 @@ func TestGzFile(t *testing.T) {
require.NoError(t, err)
defer f.Close() // nolint: errcheck
archive := New(f)
defer archive.Close() // nolint: errcheck
require.NoError(t, archive.Add("sub1/sub2/subfoo.txt", "../testdata/sub1/sub2/subfoo.txt"))
require.EqualError(t, archive.Add("foo.txt", "../testdata/foo.txt"), "gzip: failed to add foo.txt, only one file can be archived in gz format")
require.NoError(t, archive.Close())
require.NoError(t, f.Close())
t.Log(f.Name())
f, err = os.Open(f.Name())
require.NoError(t, err)
defer f.Close() // nolint: errcheck

View File

@@ -17,6 +17,7 @@ func TestTarGzFile(t *testing.T) {
require.NoError(t, err)
defer f.Close() // nolint: errcheck
archive := New(f)
defer archive.Close() // nolint: errcheck
require.Error(t, archive.Add("nope.txt", "../testdata/nope.txt"))
require.NoError(t, archive.Add("foo.txt", "../testdata/foo.txt"))

View File

@@ -17,6 +17,7 @@ func TestTarXzFile(t *testing.T) {
require.NoError(t, err)
defer f.Close() // nolint: errcheck
archive := New(f)
defer archive.Close() // nolint: errcheck
require.Error(t, archive.Add("nope.txt", "../testdata/nope.txt"))
require.NoError(t, archive.Add("foo.txt", "../testdata/foo.txt"))
@@ -30,7 +31,6 @@ func TestTarXzFile(t *testing.T) {
require.Error(t, archive.Add("tar.go", "tar.go"))
require.NoError(t, f.Close())
t.Log(f.Name())
f, err = os.Open(f.Name())
require.NoError(t, err)
defer f.Close() // nolint: errcheck
@@ -41,7 +41,6 @@ func TestTarXzFile(t *testing.T) {
xzf, err := xz.NewReader(f)
require.NoError(t, err)
//defer xzf.Close() // nolint: errcheck
var paths []string
r := tar.NewReader(xzf)

View File

@@ -2,7 +2,6 @@ package zip
import (
"archive/zip"
"fmt"
"os"
"path/filepath"
"testing"
@@ -14,9 +13,9 @@ func TestZipFile(t *testing.T) {
var tmp = t.TempDir()
f, err := os.Create(filepath.Join(tmp, "test.zip"))
require.NoError(t, err)
fmt.Println(f.Name())
defer f.Close() // nolint: errcheck
archive := New(f)
defer archive.Close() // nolint: errcheck
require.Error(t, archive.Add("nope.txt", "../testdata/nope.txt"))
require.NoError(t, archive.Add("foo.txt", "../testdata/foo.txt"))
@@ -30,7 +29,6 @@ func TestZipFile(t *testing.T) {
require.Error(t, archive.Add("tar.go", "tar.go"))
require.NoError(t, f.Close())
t.Log(f.Name())
f, err = os.Open(f.Name())
require.NoError(t, err)
defer f.Close() // nolint: errcheck

View File

@@ -47,7 +47,7 @@ func TestLoadBadReader(t *testing.T) {
func TestFile(t *testing.T) {
f, err := ioutil.TempFile(t.TempDir(), "config")
require.NoError(t, err)
t.Cleanup(func() { f.Close() })
require.NoError(t, f.Close())
_, err = Load(filepath.Join(f.Name()))
require.NoError(t, err)
}