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

refactor(test): use testing.TB Cleanup and Tempdir (#1945)

* refactor: use t.Cleanup instead of defer

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* refactor: use t.Cleanup instead of defer

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* refactor: use t.Cleanup instead of defer

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* refactor: use t.Cleanup instead of defer

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>

* fix: filepath

Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
This commit is contained in:
Carlos Alexandro Becker
2020-12-12 13:27:35 -03:00
committed by GitHub
parent 4c3e3933a8
commit 92f52ac406
42 changed files with 270 additions and 560 deletions

View File

@@ -9,16 +9,14 @@ import (
)
func TestBuild(t *testing.T) {
_, back := setup(t)
defer back()
setup(t)
var cmd = newBuildCmd()
cmd.cmd.SetArgs([]string{"--snapshot", "--timeout=1m", "--parallelism=2", "--deprecated"})
require.NoError(t, cmd.cmd.Execute())
}
func TestBuildInvalidConfig(t *testing.T) {
_, back := setup(t)
defer back()
setup(t)
createFile(t, "goreleaser.yml", "foo: bar")
var cmd = newBuildCmd()
cmd.cmd.SetArgs([]string{"--snapshot", "--timeout=1m", "--parallelism=2", "--deprecated"})
@@ -26,8 +24,7 @@ func TestBuildInvalidConfig(t *testing.T) {
}
func TestBuildBrokenProject(t *testing.T) {
_, back := setup(t)
defer back()
setup(t)
createFile(t, "main.go", "not a valid go file")
var cmd = newBuildCmd()
cmd.cmd.SetArgs([]string{"--snapshot", "--timeout=1m", "--parallelism=2"})

View File

@@ -17,8 +17,7 @@ func TestConfigFlagNotSetButExists(t *testing.T) {
"goreleaser.yaml",
} {
t.Run(name, func(t *testing.T) {
folder, back := setup(t)
defer back()
var folder = setup(t)
require.NoError(t, os.Rename(
filepath.Join(folder, "goreleaser.yml"),
filepath.Join(folder, name),
@@ -31,8 +30,7 @@ func TestConfigFlagNotSetButExists(t *testing.T) {
}
func TestConfigFileDoesntExist(t *testing.T) {
folder, back := setup(t)
defer back()
var folder = setup(t)
err := os.Remove(filepath.Join(folder, "goreleaser.yml"))
require.NoError(t, err)
proj, err := loadConfig("")

View File

@@ -1,7 +1,6 @@
package cmd
import (
"io/ioutil"
"os"
"path/filepath"
"testing"
@@ -10,7 +9,7 @@ import (
)
func TestInit(t *testing.T) {
var folder = mktemp(t)
var folder = t.TempDir()
var cmd = newInitCmd().cmd
var path = filepath.Join(folder, "foo.yaml")
cmd.SetArgs([]string{"-f", path})
@@ -19,7 +18,7 @@ func TestInit(t *testing.T) {
}
func TestInitFileExists(t *testing.T) {
var folder = mktemp(t)
var folder = t.TempDir()
var cmd = newInitCmd().cmd
var path = filepath.Join(folder, "twice.yaml")
cmd.SetArgs([]string{"-f", path})
@@ -29,16 +28,10 @@ func TestInitFileExists(t *testing.T) {
}
func TestInitFileError(t *testing.T) {
var folder = mktemp(t)
var folder = t.TempDir()
var cmd = newInitCmd().cmd
var path = filepath.Join(folder, "nope.yaml")
require.NoError(t, os.Chmod(folder, 0000))
cmd.SetArgs([]string{"-f", path})
require.EqualError(t, cmd.Execute(), "open "+path+": permission denied")
}
func mktemp(t *testing.T) string {
folder, err := ioutil.TempDir("", "")
require.NoError(t, err)
return folder
}

View File

@@ -9,16 +9,14 @@ import (
)
func TestRelease(t *testing.T) {
_, back := setup(t)
defer back()
setup(t)
var cmd = newReleaseCmd()
cmd.cmd.SetArgs([]string{"--snapshot", "--timeout=1m", "--parallelism=2", "--deprecated"})
require.NoError(t, cmd.cmd.Execute())
}
func TestReleaseInvalidConfig(t *testing.T) {
_, back := setup(t)
defer back()
setup(t)
createFile(t, "goreleaser.yml", "foo: bar")
var cmd = newReleaseCmd()
cmd.cmd.SetArgs([]string{"--snapshot", "--timeout=1m", "--parallelism=2", "--deprecated"})
@@ -26,8 +24,7 @@ func TestReleaseInvalidConfig(t *testing.T) {
}
func TestReleaseBrokenProject(t *testing.T) {
_, back := setup(t)
defer back()
setup(t)
createFile(t, "main.go", "not a valid go file")
var cmd = newReleaseCmd()
cmd.cmd.SetArgs([]string{"--snapshot", "--timeout=1m", "--parallelism=2"})

View File

@@ -41,8 +41,7 @@ func TestRootCmdExitCode(t *testing.T) {
}
func TestRootRelease(t *testing.T) {
_, back := setup(t)
defer back()
setup(t)
var mem = &exitMemento{}
var cmd = newRootCmd("", mem.Exit)
cmd.Execute([]string{})
@@ -50,8 +49,7 @@ func TestRootRelease(t *testing.T) {
}
func TestRootReleaseDebug(t *testing.T) {
_, back := setup(t)
defer back()
setup(t)
var mem = &exitMemento{}
var cmd = newRootCmd("", mem.Exit)
cmd.Execute([]string{"r", "--debug"})

View File

@@ -17,15 +17,20 @@ func (e *exitMemento) Exit(i int) {
e.code = i
}
func setup(t *testing.T) (current string, back func()) {
func setup(t testing.TB) string {
_ = os.Unsetenv("GITHUB_TOKEN")
_ = os.Unsetenv("GITLAB_TOKEN")
folder, err := ioutil.TempDir("", "")
require.NoError(t, err)
previous, err := os.Getwd()
require.NoError(t, err)
t.Cleanup(func() {
require.NoError(t, os.Chdir(previous))
})
var folder = t.TempDir()
require.NoError(t, os.Chdir(folder))
createGoreleaserYaml(t)
createMainGo(t)
goModInit(t)
@@ -38,27 +43,26 @@ func setup(t *testing.T) (current string, back func()) {
testlib.GitCommit(t, "assd")
testlib.GitTag(t, "v0.0.2")
testlib.GitRemoteAdd(t, "git@github.com:goreleaser/fake.git")
return folder, func() {
require.NoError(t, os.Chdir(previous))
}
return folder
}
func createFile(t *testing.T, filename, contents string) {
func createFile(t testing.TB, filename, contents string) {
require.NoError(t, ioutil.WriteFile(filename, []byte(contents), 0644))
}
func createMainGo(t *testing.T) {
func createMainGo(t testing.TB) {
createFile(t, "main.go", "package main\nfunc main() {println(0)}")
}
func goModInit(t *testing.T) {
func goModInit(t testing.TB) {
createFile(t, "go.mod", `module foo
go 1.15
`)
}
func createGoreleaserYaml(t *testing.T) {
func createGoreleaserYaml(t testing.TB) {
var yaml = `build:
binary: fake
goos:

View File

@@ -155,8 +155,7 @@ func TestGroupByPlatform(t *testing.T) {
}
func TestChecksum(t *testing.T) {
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
var file = filepath.Join(folder, "subject")
require.NoError(t, ioutil.WriteFile(file, []byte("lorem ipsum"), 0644))

View File

@@ -149,8 +149,7 @@ func TestInvalidTargets(t *testing.T) {
}
func TestBuild(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
writeGoodMain(t, folder)
var config = config.Project{
Builds: []config.Build{
@@ -310,8 +309,7 @@ func TestBuild(t *testing.T) {
}
func TestBuildCodeInSubdir(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
subdir := filepath.Join(folder, "bar")
err := os.Mkdir(subdir, 0755)
require.NoError(t, err)
@@ -343,8 +341,7 @@ func TestBuildCodeInSubdir(t *testing.T) {
}
func TestBuildWithDotGoDir(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
require.NoError(t, os.Mkdir(filepath.Join(folder, ".go"), 0755))
writeGoodMain(t, folder)
var config = config.Project{
@@ -370,8 +367,7 @@ func TestBuildWithDotGoDir(t *testing.T) {
}
func TestBuildFailed(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
writeGoodMain(t, folder)
var config = config.Project{
Builds: []config.Build{
@@ -395,8 +391,7 @@ func TestBuildFailed(t *testing.T) {
}
func TestBuildInvalidTarget(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
writeGoodMain(t, folder)
var target = "linux"
var config = config.Project{
@@ -421,8 +416,7 @@ func TestBuildInvalidTarget(t *testing.T) {
}
func TestRunInvalidAsmflags(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
writeGoodMain(t, folder)
var config = config.Project{
Builds: []config.Build{
@@ -444,8 +438,7 @@ func TestRunInvalidAsmflags(t *testing.T) {
}
func TestRunInvalidGcflags(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
writeGoodMain(t, folder)
var config = config.Project{
Builds: []config.Build{
@@ -467,8 +460,7 @@ func TestRunInvalidGcflags(t *testing.T) {
}
func TestRunInvalidLdflags(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
writeGoodMain(t, folder)
var config = config.Project{
Builds: []config.Build{
@@ -491,8 +483,7 @@ func TestRunInvalidLdflags(t *testing.T) {
}
func TestRunInvalidFlags(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
writeGoodMain(t, folder)
var config = config.Project{
Builds: []config.Build{
@@ -513,8 +504,7 @@ func TestRunInvalidFlags(t *testing.T) {
}
func TestRunPipeWithoutMainFunc(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
writeMainWithoutMainFunc(t, folder)
var config = config.Project{
Builds: []config.Build{
@@ -556,8 +546,7 @@ func TestRunPipeWithoutMainFunc(t *testing.T) {
}
func TestRunPipeWithMainFuncNotInMainGoFile(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
require.NoError(t, ioutil.WriteFile(
filepath.Join(folder, "foo.go"),
[]byte("package main\nfunc main() {println(0)}"),
@@ -717,8 +706,7 @@ func TestBuildModTimestamp(t *testing.T) {
// round to seconds since this will be a unix timestamp
modTime := time.Now().AddDate(-1, 0, 0).Round(1 * time.Second).UTC()
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
writeGoodMain(t, folder)
var config = config.Project{

View File

@@ -3,7 +3,6 @@ package exec
import (
"fmt"
"io/ioutil"
"os"
"path/filepath"
"testing"
@@ -30,9 +29,7 @@ func TestExecute(t *testing.T) {
// Preload artifacts
ctx.Artifacts = artifact.New()
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
defer os.RemoveAll(folder)
var folder = t.TempDir()
for _, a := range []struct {
id string
ext string

View File

@@ -9,8 +9,7 @@ import (
)
func TestRepoName(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@github.com:goreleaser/goreleaser.git")
repo, err := git.ExtractRepoFromConfig()

View File

@@ -25,8 +25,7 @@ func TestGit(t *testing.T) {
}
func TestGitWarning(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitCommit(t, "foo")
testlib.GitBranch(t, "tags/1.2.2")

View File

@@ -219,8 +219,7 @@ func TestUpload(t *testing.T) {
ctx.Env["TEST_A_USERNAME"] = "u2"
ctx.Version = "2.1.0"
ctx.Artifacts = artifact.New()
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
for _, a := range []struct {
ext string
typ artifact.Type

View File

@@ -31,8 +31,7 @@ func createFakeBinary(t *testing.T, dist, arch, bin string) {
}
func TestRunPipe(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
for _, format := range []string{"tar.gz", "zip"} {
t.Run("Archive format "+format, func(tt *testing.T) {
var dist = filepath.Join(folder, format+"_dist")
@@ -180,8 +179,7 @@ func TestRunPipe(t *testing.T) {
}
func TestRunPipeDifferentBinaryCount(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
for _, arch := range []string{"darwinamd64", "linuxamd64"} {
@@ -252,8 +250,7 @@ func TestRunPipeDifferentBinaryCount(t *testing.T) {
}
func TestRunPipeNoBinaries(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
var ctx = context.New(config.Project{
@@ -301,8 +298,7 @@ func tarFiles(t *testing.T, path string) []string {
}
func TestRunPipeBinary(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "darwinamd64"), 0755))
@@ -390,8 +386,7 @@ func TestRunPipeDistRemoved(t *testing.T) {
}
func TestRunPipeInvalidGlob(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "darwinamd64"), 0755))
@@ -428,8 +423,7 @@ func TestRunPipeInvalidGlob(t *testing.T) {
}
func TestRunPipeInvalidNameTemplate(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "darwinamd64"), 0755))
@@ -463,8 +457,7 @@ func TestRunPipeInvalidNameTemplate(t *testing.T) {
}
func TestRunPipeInvalidFilesNameTemplate(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "darwinamd64"), 0755))
@@ -501,8 +494,7 @@ func TestRunPipeInvalidFilesNameTemplate(t *testing.T) {
}
func TestRunPipeInvalidWrapInDirectoryTemplate(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "darwinamd64"), 0755))
@@ -537,8 +529,7 @@ func TestRunPipeInvalidWrapInDirectoryTemplate(t *testing.T) {
}
func TestRunPipeWrap(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "darwinamd64"), 0755))
@@ -670,8 +661,7 @@ func TestFormatFor(t *testing.T) {
}
func TestBinaryOverride(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "darwinamd64"), 0755))
@@ -748,8 +738,7 @@ func TestBinaryOverride(t *testing.T) {
}
func TestRunPipeSameArchiveFilename(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "darwinamd64"), 0755))
@@ -806,18 +795,19 @@ func TestRunPipeSameArchiveFilename(t *testing.T) {
}
func TestDuplicateFilesInsideArchive(t *testing.T) {
f, err := ioutil.TempFile("", "")
var folder = t.TempDir()
f, err := ioutil.TempFile(folder, "")
require.NoError(t, err)
defer f.Close()
defer os.Remove(f.Name())
ff, err := ioutil.TempFile("", "")
ff, err := ioutil.TempFile(folder, "")
require.NoError(t, err)
defer ff.Close()
defer os.Remove(ff.Name())
a := NewEnhancedArchive(archive.New(f), "")
defer 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

@@ -55,15 +55,13 @@ func TestRunPipe_ModeBinary(t *testing.T) {
setup()
defer teardown()
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0755))
var binPath = filepath.Join(dist, "mybin", "mybin")
d1 := []byte("hello\ngo\n")
err = ioutil.WriteFile(binPath, d1, 0666)
require.NoError(t, err)
require.NoError(t, ioutil.WriteFile(binPath, d1, 0666))
// Dummy artifactories
mux.HandleFunc("/example-repo-local/mybin/darwin/amd64/mybin", func(w http.ResponseWriter, r *http.Request) {
@@ -214,8 +212,7 @@ func TestRunPipe_ModeArchive(t *testing.T) {
setup()
defer teardown()
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
tarfile, err := os.Create(filepath.Join(folder, "bin.tar.gz"))
require.NoError(t, err)
debfile, err := os.Create(filepath.Join(folder, "bin.deb"))
@@ -316,8 +313,7 @@ func TestRunPipe_ModeArchive(t *testing.T) {
}
func TestRunPipe_ArtifactoryDown(t *testing.T) {
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
tarfile, err := os.Create(filepath.Join(folder, "bin.tar.gz"))
require.NoError(t, err)
@@ -350,8 +346,7 @@ func TestRunPipe_ArtifactoryDown(t *testing.T) {
}
func TestRunPipe_TargetTemplateError(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
var binPath = filepath.Join(dist, "mybin", "mybin")
@@ -390,15 +385,13 @@ func TestRunPipe_BadCredentials(t *testing.T) {
setup()
defer teardown()
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0755))
var binPath = filepath.Join(dist, "mybin", "mybin")
d1 := []byte("hello\ngo\n")
err = ioutil.WriteFile(binPath, d1, 0666)
require.NoError(t, err)
require.NoError(t, ioutil.WriteFile(binPath, d1, 0666))
// Dummy artifactories
mux.HandleFunc("/example-repo-local/mybin/darwin/amd64/mybin", func(w http.ResponseWriter, r *http.Request) {
@@ -443,7 +436,7 @@ func TestRunPipe_BadCredentials(t *testing.T) {
})
require.NoError(t, Pipe{}.Default(ctx))
err = Pipe{}.Publish(ctx)
var err = Pipe{}.Publish(ctx)
require.Error(t, err)
require.Contains(t, err.Error(), "Bad credentials")
}
@@ -452,15 +445,13 @@ func TestRunPipe_UnparsableErrorResponse(t *testing.T) {
setup()
defer teardown()
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0755))
var binPath = filepath.Join(dist, "mybin", "mybin")
d1 := []byte("hello\ngo\n")
err = ioutil.WriteFile(binPath, d1, 0666)
require.NoError(t, err)
require.NoError(t, ioutil.WriteFile(binPath, d1, 0666))
// Dummy artifactories
mux.HandleFunc("/example-repo-local/mybin/darwin/amd64/mybin", func(w http.ResponseWriter, r *http.Request) {
@@ -539,15 +530,13 @@ func TestRunPipe_FileNotFound(t *testing.T) {
}
func TestRunPipe_UnparsableTarget(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0755))
var binPath = filepath.Join(dist, "mybin", "mybin")
d1 := []byte("hello\ngo\n")
err = ioutil.WriteFile(binPath, d1, 0666)
require.NoError(t, err)
require.NoError(t, ioutil.WriteFile(binPath, d1, 0666))
var ctx = context.New(config.Project{
ProjectName: "mybin",
@@ -605,8 +594,7 @@ func TestRunPipe_SkipWhenPublishFalse(t *testing.T) {
}
func TestRunPipe_DirUpload(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0755))

View File

@@ -24,8 +24,7 @@ import (
func TestMinioUpload(t *testing.T) {
var listen = randomListen(t)
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
srcpath := filepath.Join(folder, "source.tar.gz")
tgzpath := filepath.Join(folder, "bin.tar.gz")
debpath := filepath.Join(folder, "bin.deb")
@@ -78,9 +77,8 @@ func TestMinioUpload(t *testing.T) {
},
})
var name = "test_upload"
defer stop(t, name)
start(t, name, listen)
prepareEnv(t, listen)
prepareEnv()
require.NoError(t, Pipe{}.Default(ctx))
require.NoError(t, Pipe{}.Publish(ctx))
@@ -94,15 +92,13 @@ func TestMinioUpload(t *testing.T) {
func TestMinioUploadCustomBucketID(t *testing.T) {
var listen = randomListen(t)
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
tgzpath := filepath.Join(folder, "bin.tar.gz")
debpath := filepath.Join(folder, "bin.deb")
require.NoError(t, ioutil.WriteFile(tgzpath, []byte("fake\ntargz"), 0744))
require.NoError(t, ioutil.WriteFile(debpath, []byte("fake\ndeb"), 0744))
// Set custom BUCKET_ID env variable.
err = os.Setenv("BUCKET_ID", "test")
require.NoError(t, err)
require.NoError(t, os.Setenv("BUCKET_ID", "test"))
var ctx = context.New(config.Project{
Dist: folder,
ProjectName: "testupload",
@@ -126,23 +122,19 @@ func TestMinioUploadCustomBucketID(t *testing.T) {
Path: debpath,
})
var name = "custom_bucket_id"
defer stop(t, name)
start(t, name, listen)
prepareEnv(t, listen)
prepareEnv()
require.NoError(t, Pipe{}.Default(ctx))
require.NoError(t, Pipe{}.Publish(ctx))
}
func TestMinioUploadInvalidCustomBucketID(t *testing.T) {
var listen = randomListen(t)
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
tgzpath := filepath.Join(folder, "bin.tar.gz")
debpath := filepath.Join(folder, "bin.deb")
require.NoError(t, ioutil.WriteFile(tgzpath, []byte("fake\ntargz"), 0744))
require.NoError(t, ioutil.WriteFile(debpath, []byte("fake\ndeb"), 0744))
// Set custom BUCKET_ID env variable.
require.NoError(t, err)
var ctx = context.New(config.Project{
Dist: folder,
ProjectName: "testupload",
@@ -166,17 +158,15 @@ func TestMinioUploadInvalidCustomBucketID(t *testing.T) {
Path: debpath,
})
var name = "invalid_bucket_id"
defer stop(t, name)
start(t, name, listen)
prepareEnv(t, listen)
prepareEnv()
require.NoError(t, Pipe{}.Default(ctx))
require.Error(t, Pipe{}.Publish(ctx))
}
func TestMinioUploadSkipPublish(t *testing.T) {
var listen = randomListen(t)
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
srcpath := filepath.Join(folder, "source.tar.gz")
tgzpath := filepath.Join(folder, "bin.tar.gz")
debpath := filepath.Join(folder, "bin.deb")
@@ -230,9 +220,8 @@ func TestMinioUploadSkipPublish(t *testing.T) {
},
})
var name = "test_upload"
defer stop(t, name)
start(t, name, listen)
prepareEnv(t, listen)
prepareEnv()
require.NoError(t, Pipe{}.Default(ctx))
require.NoError(t, Pipe{}.Publish(ctx))
@@ -251,17 +240,24 @@ func randomListen(t *testing.T) string {
return listener.Addr().String()
}
func prepareEnv(t *testing.T, listen string) {
func prepareEnv() {
os.Setenv("AWS_ACCESS_KEY_ID", "minio")
os.Setenv("AWS_SECRET_ACCESS_KEY", "miniostorage")
os.Setenv("AWS_REGION", "us-east-1")
}
func start(t *testing.T, name, listen string) {
func start(t testing.TB, name, listen string) {
wd, err := os.Getwd()
require.NoError(t, err)
removeTestData(t)
removeTestData()
t.Cleanup(func() {
if out, err := exec.Command("docker", "stop", name).CombinedOutput(); err != nil {
t.Fatalf("failed to stop minio: %s", string(out))
}
removeTestData()
})
if out, err := exec.Command(
"docker", "run", "-d", "--rm",
@@ -291,14 +287,7 @@ func start(t *testing.T, name, listen string) {
}
}
func stop(t *testing.T, name string) {
if out, err := exec.Command("docker", "stop", name).CombinedOutput(); err != nil {
t.Fatalf("failed to stop minio: %s", string(out))
}
removeTestData(t)
}
func removeTestData(t *testing.T) {
func removeTestData() {
_ = os.RemoveAll("./testdata/data/test/testupload") // dont care if it fails
}

View File

@@ -122,8 +122,7 @@ func TestPipe_PublishExtraFiles(t *testing.T) {
func pipePublish(t *testing.T, extra []config.ExtraFile) {
gcloudCredentials, _ := filepath.Abs("./testdata/credentials.json")
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
tgzpath := filepath.Join(folder, "bin.tar.gz")
debpath := filepath.Join(folder, "bin.deb")
require.NoError(t, ioutil.WriteFile(tgzpath, []byte("fake\ntargz"), 0744))

View File

@@ -174,8 +174,7 @@ func TestRunPipe(t *testing.T) {
},
} {
t.Run(name, func(t *testing.T) {
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
var ctx = &context.Context{
Git: context.GitInfo{
CurrentTag: "v1.0.1",
@@ -232,7 +231,7 @@ func TestRunPipe(t *testing.T) {
},
})
_, err = os.Create(path)
_, err := os.Create(path)
require.NoError(t, err)
client := &DummyClient{}
var distFile = filepath.Join(folder, name+".rb")
@@ -255,8 +254,7 @@ func TestRunPipe(t *testing.T) {
}
func TestRunPipeNameTemplate(t *testing.T) {
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
var ctx = &context.Context{
Git: context.GitInfo{
CurrentTag: "v1.0.1",
@@ -297,7 +295,7 @@ func TestRunPipeNameTemplate(t *testing.T) {
},
})
_, err = os.Create(path)
_, err := os.Create(path)
require.NoError(t, err)
client := &DummyClient{}
var distFile = filepath.Join(folder, "foo_is_bar.rb")
@@ -318,8 +316,7 @@ func TestRunPipeNameTemplate(t *testing.T) {
}
func TestRunPipeMultipleBrewsWithSkip(t *testing.T) {
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
var ctx = &context.Context{
Git: context.GitInfo{
CurrentTag: "v1.0.1",
@@ -382,7 +379,7 @@ func TestRunPipeMultipleBrewsWithSkip(t *testing.T) {
},
})
_, err = os.Create(path)
_, err := os.Create(path)
require.NoError(t, err)
var cli = &DummyClient{}
@@ -409,8 +406,7 @@ func TestRunPipeForMultipleArmVersions(t *testing.T) {
ctx.Config.Brews[0].Goarm = "7"
},
} {
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
var ctx = &context.Context{
TokenType: context.TokenTypeGitHub,
Git: context.GitInfo{
@@ -723,8 +719,7 @@ func TestRunPipeBinaryRelease(t *testing.T) {
}
func TestRunPipeNoUpload(t *testing.T) {
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
var ctx = context.New(config.Project{
Dist: folder,
ProjectName: "foo",
@@ -741,7 +736,7 @@ 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)
_, err := os.Create(path)
require.NoError(t, err)
ctx.Artifacts.Add(&artifact.Artifact{
Name: "bin",
@@ -775,8 +770,7 @@ func TestRunPipeNoUpload(t *testing.T) {
}
func TestRunEmptyTokenType(t *testing.T) {
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
var ctx = context.New(config.Project{
Dist: folder,
ProjectName: "foo",
@@ -792,7 +786,7 @@ 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)
_, err := os.Create(path)
require.NoError(t, err)
ctx.Artifacts.Add(&artifact.Artifact{
Name: "bin",
@@ -810,8 +804,7 @@ func TestRunEmptyTokenType(t *testing.T) {
}
func TestRunTokenTypeNotImplementedForBrew(t *testing.T) {
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
var ctx = context.New(config.Project{
Dist: folder,
ProjectName: "foo",
@@ -828,7 +821,7 @@ 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)
_, err := os.Create(path)
require.NoError(t, err)
ctx.Artifacts.Add(&artifact.Artifact{
Name: "bin",
@@ -846,8 +839,7 @@ func TestRunTokenTypeNotImplementedForBrew(t *testing.T) {
}
func TestDefaultBinInstallUniqueness(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
var ctx = &context.Context{
TokenType: context.TokenTypeGitHub,
@@ -877,8 +869,7 @@ func TestDefaultBinInstallUniqueness(t *testing.T) {
}
func TestDefault(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
var ctx = &context.Context{
TokenType: context.TokenTypeGitHub,

View File

@@ -63,8 +63,7 @@ func TestPipeDescription(t *testing.T) {
}
func TestBuild(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
var config = config.Project{
Dist: folder,
Builds: []config.Build{
@@ -92,8 +91,7 @@ func TestBuild(t *testing.T) {
}
func TestRunPipe(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
var config = config.Project{
Dist: folder,
Builds: []config.Build{
@@ -115,8 +113,7 @@ func TestRunPipe(t *testing.T) {
}
func TestRunFullPipe(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
var pre = filepath.Join(folder, "pre")
var post = filepath.Join(folder, "post")
var config = config.Project{
@@ -152,8 +149,7 @@ func TestRunFullPipe(t *testing.T) {
}
func TestRunFullPipeFail(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
var pre = filepath.Join(folder, "pre")
var post = filepath.Join(folder, "post")
var config = config.Project{
@@ -184,8 +180,7 @@ func TestRunFullPipeFail(t *testing.T) {
}
func TestRunPipeFailingHooks(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
var cfg = config.Project{
Dist: folder,
Builds: []config.Build{
@@ -221,8 +216,7 @@ func TestDefaultNoBuilds(t *testing.T) {
}
func TestDefaultFail(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
var config = config.Project{
Dist: folder,
Builds: []config.Build{
@@ -359,8 +353,7 @@ func TestDefaultPartialBuilds(t *testing.T) {
}
func TestDefaultFillSingleBuild(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
var ctx = &context.Context{
Config: config.Project{
@@ -376,8 +369,7 @@ func TestDefaultFillSingleBuild(t *testing.T) {
}
func TestDefaultFailSingleBuild(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
var config = config.Project{
Dist: folder,
SingleBuild: config.Build{
@@ -390,8 +382,7 @@ func TestDefaultFailSingleBuild(t *testing.T) {
}
func TestSkipBuild(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
var config = config.Project{
Dist: folder,
Builds: []config.Build{
@@ -446,8 +437,7 @@ func TestTemplate(t *testing.T) {
}
func TestRunHookEnvs(t *testing.T) {
tmp, back := testlib.Mktmp(t)
defer back()
var tmp = testlib.Mktmp(t)
var build = config.Build{
Env: []string{
@@ -631,9 +621,7 @@ touch "$BAR"`
}
func TestBuild_hooksKnowGoosGoarch(t *testing.T) {
tmpDir, back := testlib.Mktmp(t)
defer back()
var tmpDir = testlib.Mktmp(t)
build := config.Build{
Lang: "fake",
Goarch: []string{"amd64"},
@@ -664,8 +652,7 @@ func TestBuild_hooksKnowGoosGoarch(t *testing.T) {
}
func TestPipeOnBuild_hooksRunPerTarget(t *testing.T) {
tmpDir, back := testlib.Mktmp(t)
defer back()
var tmpDir = testlib.Mktmp(t)
build := config.Build{
Lang: "fake",
@@ -717,8 +704,7 @@ func TestPipeOnBuild_invalidBinaryTpl(t *testing.T) {
}
func TestBuildOptionsForTarget(t *testing.T) {
tmpDir, back := testlib.Mktmp(t)
defer back()
var tmpDir = testlib.Mktmp(t)
build := config.Build{
ID: "testid",
@@ -745,8 +731,7 @@ func TestBuildOptionsForTarget(t *testing.T) {
}
func TestHookComplex(t *testing.T) {
tmp, back := testlib.Mktmp(t)
defer back()
var tmp = testlib.Mktmp(t)
require.NoError(t, runHook(context.New(config.Project{}), api.Options{}, []string{}, config.BuildHooks{
{
@@ -770,8 +755,7 @@ func TestHookInvalidShelCommand(t *testing.T) {
}
func TestRunHookFailWithLogs(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
var config = config.Project{
Dist: folder,
Builds: []config.Build{

View File

@@ -74,8 +74,7 @@ func TestSnapshot(t *testing.T) {
}
func TestChangelog(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitCommit(t, "first")
testlib.GitTag(t, "v0.0.1")
@@ -118,8 +117,7 @@ func TestChangelog(t *testing.T) {
}
func TestChangelogPreviousTagEnv(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitCommit(t, "first")
testlib.GitTag(t, "v0.0.1")
@@ -142,8 +140,7 @@ func TestChangelogPreviousTagEnv(t *testing.T) {
}
func TestChangelogForGitlab(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitCommit(t, "first")
testlib.GitTag(t, "v0.0.1")
@@ -187,8 +184,7 @@ func TestChangelogForGitlab(t *testing.T) {
}
func TestChangelogSort(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitCommit(t, "whatever")
testlib.GitTag(t, "v0.9.9")
@@ -254,8 +250,7 @@ func TestChangelogInvalidSort(t *testing.T) {
}
func TestChangelogOfFirstRelease(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
var msgs = []string{
"initial commit",
@@ -277,8 +272,7 @@ func TestChangelogOfFirstRelease(t *testing.T) {
}
func TestChangelogFilterInvalidRegex(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitCommit(t, "commitssss")
testlib.GitTag(t, "v0.0.3")
@@ -298,8 +292,7 @@ func TestChangelogFilterInvalidRegex(t *testing.T) {
}
func TestChangelogNoTags(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitCommit(t, "first")
var ctx = context.New(config.Project{})
@@ -308,8 +301,7 @@ func TestChangelogNoTags(t *testing.T) {
}
func TestChangelogOnBranchWithSameNameAsTag(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
var msgs = []string{
"initial commit",
@@ -334,8 +326,7 @@ func TestChangelogOnBranchWithSameNameAsTag(t *testing.T) {
func TestChangeLogWithReleaseHeader(t *testing.T) {
current, err := os.Getwd()
require.NoError(t, err)
tmpdir, back := testlib.Mktmp(t)
defer back()
var tmpdir = testlib.Mktmp(t)
require.NoError(t, os.Symlink(current+"/testdata", tmpdir+"/testdata"))
testlib.GitInit(t)
var msgs = []string{
@@ -360,8 +351,7 @@ func TestChangeLogWithReleaseHeader(t *testing.T) {
func TestChangeLogWithTemplatedReleaseHeader(t *testing.T) {
current, err := os.Getwd()
require.NoError(t, err)
tmpdir, back := testlib.Mktmp(t)
defer back()
var tmpdir = testlib.Mktmp(t)
require.NoError(t, os.Symlink(current+"/testdata", tmpdir+"/testdata"))
testlib.GitInit(t)
var msgs = []string{
@@ -385,8 +375,7 @@ func TestChangeLogWithTemplatedReleaseHeader(t *testing.T) {
func TestChangeLogWithReleaseFooter(t *testing.T) {
current, err := os.Getwd()
require.NoError(t, err)
tmpdir, back := testlib.Mktmp(t)
defer back()
var tmpdir = testlib.Mktmp(t)
require.NoError(t, os.Symlink(current+"/testdata", tmpdir+"/testdata"))
testlib.GitInit(t)
var msgs = []string{
@@ -412,8 +401,7 @@ func TestChangeLogWithReleaseFooter(t *testing.T) {
func TestChangeLogWithTemplatedReleaseFooter(t *testing.T) {
current, err := os.Getwd()
require.NoError(t, err)
tmpdir, back := testlib.Mktmp(t)
defer back()
var tmpdir = testlib.Mktmp(t)
require.NoError(t, os.Symlink(current+"/testdata", tmpdir+"/testdata"))
testlib.GitInit(t)
var msgs = []string{
@@ -439,8 +427,7 @@ func TestChangeLogWithTemplatedReleaseFooter(t *testing.T) {
func TestChangeLogWithoutReleaseFooter(t *testing.T) {
current, err := os.Getwd()
require.NoError(t, err)
tmpdir, back := testlib.Mktmp(t)
defer back()
var tmpdir = testlib.Mktmp(t)
require.NoError(t, os.Symlink(current+"/testdata", tmpdir+"/testdata"))
testlib.GitInit(t)
var msgs = []string{

View File

@@ -46,8 +46,7 @@ func TestPipe(t *testing.T) {
}
for name, tt := range tests {
t.Run(name, func(t *testing.T) {
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
var file = filepath.Join(folder, binary)
require.NoError(t, ioutil.WriteFile(file, []byte("some string"), 0644))
var ctx = context.New(
@@ -104,8 +103,7 @@ func TestPipe(t *testing.T) {
}
func TestPipeSkipTrue(t *testing.T) {
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
var ctx = context.New(
config.Project{
Dist: folder,
@@ -114,14 +112,13 @@ func TestPipeSkipTrue(t *testing.T) {
},
},
)
err = Pipe{}.Run(ctx)
var err = Pipe{}.Run(ctx)
testlib.AssertSkipped(t, err)
require.EqualError(t, err, `checksum.disable is set`)
}
func TestPipeFileNotExist(t *testing.T) {
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
var ctx = context.New(
config.Project{
Dist: folder,
@@ -136,7 +133,7 @@ func TestPipeFileNotExist(t *testing.T) {
Path: "/nope",
Type: artifact.UploadableBinary,
})
err = Pipe{}.Run(ctx)
var err = Pipe{}.Run(ctx)
require.Error(t, err)
require.Contains(t, err.Error(), "/nope: no such file or directory")
}
@@ -152,8 +149,7 @@ func TestPipeInvalidNameTemplate(t *testing.T) {
"{{.Env.NOPE}}": `template: tmpl:1:6: executing "tmpl" at <.Env.NOPE>: map has no entry for key "NOPE"`,
} {
t.Run(template, func(tt *testing.T) {
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(tt, err)
var folder = t.TempDir()
var ctx = context.New(
config.Project{
Dist: folder,
@@ -183,8 +179,7 @@ func TestPipeCouldNotOpenChecksumsTxt(t *testing.T) {
_, err = binFile.WriteString("fake artifact")
require.NoError(t, err)
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
var file = filepath.Join(folder, "checksums.txt")
require.NoError(t, ioutil.WriteFile(file, []byte("some string"), 0000))
var ctx = context.New(

View File

@@ -14,8 +14,7 @@ func TestDescription(t *testing.T) {
}
func TestFillBasicData(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@github.com:goreleaser/goreleaser.git")
@@ -44,8 +43,7 @@ func TestFillBasicData(t *testing.T) {
}
func TestFillPartial(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@github.com:goreleaser/goreleaser.git")

View File

@@ -1,7 +1,6 @@
package dist
import (
"io/ioutil"
"os"
"path/filepath"
"testing"
@@ -12,8 +11,7 @@ import (
)
func TestDistDoesNotExist(t *testing.T) {
folder, err := ioutil.TempDir("", "disttest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(
t,
@@ -28,11 +26,10 @@ func TestDistDoesNotExist(t *testing.T) {
}
func TestPopulatedDistExists(t *testing.T) {
folder, err := ioutil.TempDir("", "disttest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
_, err = os.Create(filepath.Join(dist, "mybin"))
_, err := os.Create(filepath.Join(dist, "mybin"))
require.NoError(t, err)
var ctx = &context.Context{
Config: config.Project{
@@ -47,8 +44,7 @@ func TestPopulatedDistExists(t *testing.T) {
}
func TestEmptyDistExists(t *testing.T) {
folder, err := ioutil.TempDir("", "disttest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
var ctx = &context.Context{
@@ -57,7 +53,7 @@ func TestEmptyDistExists(t *testing.T) {
},
}
require.NoError(t, Pipe{}.Run(ctx))
_, err = os.Stat(dist)
_, err := os.Stat(dist)
require.False(t, os.IsNotExist(err))
}

View File

@@ -729,12 +729,11 @@ func TestRunPipe(t *testing.T) {
for name, docker := range table {
t.Run(name, func(tt *testing.T) {
folder, err := ioutil.TempDir("", "dockertest")
require.NoError(tt, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(tt, os.Mkdir(dist, 0755))
require.NoError(tt, os.Mkdir(filepath.Join(dist, "mybin"), 0755))
_, err = os.Create(filepath.Join(dist, "mybin", "mybin"))
_, err := os.Create(filepath.Join(dist, "mybin", "mybin"))
require.NoError(tt, err)
_, err = os.Create(filepath.Join(dist, "mybin", "anotherbin"))
require.NoError(tt, err)
@@ -1062,94 +1061,28 @@ func TestLinkFile(t *testing.T) {
}
func TestLinkDirectory(t *testing.T) {
const srcDir = "/tmp/testdir"
var srcDir = t.TempDir()
var dstDir = t.TempDir()
const testFile = "test"
const dstDir = "/tmp/linkedDir"
err := os.Mkdir(srcDir, 0755)
if err != nil {
t.Log(fmt.Sprintf("Cannot create dir: %s", srcDir))
t.Fail()
}
err = ioutil.WriteFile(srcDir+"/"+testFile, []byte("foo"), 0644)
if err != nil {
t.Log("Cannot setup test file")
t.Fail()
}
err = link(srcDir, dstDir)
if err != nil {
t.Log("Failed to link: ", err)
t.Fail()
}
if inode(srcDir+"/"+testFile) != inode(dstDir+"/"+testFile) {
t.Log("Inodes do not match, destination file is not a link")
t.Fail()
}
// cleanup
err = os.RemoveAll(srcDir)
if err != nil {
t.Log(fmt.Sprintf("Cannot remove dir: %s", srcDir))
t.Fail()
}
err = os.RemoveAll(dstDir)
if err != nil {
t.Log(fmt.Sprintf("Cannot remove dir: %s", dstDir))
t.Fail()
}
require.NoError(t, ioutil.WriteFile(filepath.Join(srcDir, testFile), []byte("foo"), 0644))
require.NoError(t, link(srcDir, dstDir))
require.Equal(t, inode(filepath.Join(srcDir, testFile)), inode(filepath.Join(dstDir, testFile)))
}
func TestLinkTwoLevelDirectory(t *testing.T) {
const srcDir = "/tmp/testdir"
const srcLevel2 = srcDir + "/level2"
var srcDir = t.TempDir()
var dstDir = t.TempDir()
var srcLevel2 = filepath.Join(srcDir, "level2")
const testFile = "test"
const dstDir = "/tmp/linkedDir"
err := os.Mkdir(srcDir, 0755)
if err != nil {
t.Log(fmt.Sprintf("Cannot create dir: %s", srcDir))
t.Fail()
}
err = os.Mkdir(srcLevel2, 0755)
if err != nil {
t.Log(fmt.Sprintf("Cannot create dir: %s", srcLevel2))
t.Fail()
}
err = ioutil.WriteFile(srcDir+"/"+testFile, []byte("foo"), 0644)
if err != nil {
t.Log("Cannot setup test file")
t.Fail()
}
err = ioutil.WriteFile(srcLevel2+"/"+testFile, []byte("foo"), 0644)
if err != nil {
t.Log("Cannot setup test file")
t.Fail()
}
err = link(srcDir, dstDir)
if err != nil {
t.Log("Failed to link: ", err)
t.Fail()
}
if inode(srcDir+"/"+testFile) != inode(dstDir+"/"+testFile) {
t.Log("Inodes do not match")
t.Fail()
}
if inode(srcLevel2+"/"+testFile) != inode(dstDir+"/level2/"+testFile) {
t.Log("Inodes do not match")
t.Fail()
}
require.NoError(t, os.Mkdir(srcLevel2, 0755))
require.NoError(t, ioutil.WriteFile(filepath.Join(srcDir, testFile), []byte("foo"), 0644))
require.NoError(t, ioutil.WriteFile(filepath.Join(srcLevel2, testFile), []byte("foo"), 0644))
// cleanup
err = os.RemoveAll(srcDir)
if err != nil {
t.Log(fmt.Sprintf("Cannot remove dir: %s", srcDir))
t.Fail()
}
err = os.RemoveAll(dstDir)
if err != nil {
t.Log(fmt.Sprintf("Cannot remove dir: %s", dstDir))
t.Fail()
}
require.NoError(t, link(srcDir, dstDir))
require.Equal(t, inode(filepath.Join(srcDir, testFile)), inode(filepath.Join(dstDir, testFile)))
require.Equal(t, inode(filepath.Join(srcLevel2, testFile)), inode(filepath.Join(dstDir, "level2", testFile)))
}
func inode(file string) uint64 {

View File

@@ -17,8 +17,7 @@ func TestPipeDescription(t *testing.T) {
}
func Test(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
dist := filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
var ctx = context.New(

View File

@@ -19,8 +19,7 @@ func TestDescription(t *testing.T) {
}
func TestNotAGitFolder(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
var ctx = &context.Context{
Config: config.Project{},
}
@@ -28,8 +27,7 @@ func TestNotAGitFolder(t *testing.T) {
}
func TestSingleCommit(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@github.com:foo/bar.git")
testlib.GitCommit(t, "commit1")
@@ -42,8 +40,7 @@ func TestSingleCommit(t *testing.T) {
}
func TestBranch(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@github.com:foo/bar.git")
testlib.GitCommit(t, "test-branch-commit")
@@ -57,8 +54,7 @@ func TestBranch(t *testing.T) {
}
func TestNoRemote(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitCommit(t, "commit1")
testlib.GitTag(t, "v0.0.1")
@@ -69,8 +65,7 @@ func TestNoRemote(t *testing.T) {
}
func TestNewRepository(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
var ctx = &context.Context{
Config: config.Project{},
@@ -83,8 +78,7 @@ func TestNewRepository(t *testing.T) {
// only contains simple commits and no tags. In this case you have
// to set the --snapshot flag otherwise an error is returned.
func TestNoTagsNoSnapshot(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@github.com:foo/bar.git")
testlib.GitCommit(t, "first")
@@ -94,8 +88,7 @@ func TestNoTagsNoSnapshot(t *testing.T) {
}
func TestDirty(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@github.com:foo/bar.git")
dummy, err := os.Create(filepath.Join(folder, "dummy"))
@@ -124,8 +117,7 @@ func TestDirty(t *testing.T) {
}
func TestTagIsNotLastCommit(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@github.com:foo/bar.git")
testlib.GitCommit(t, "commit3")
@@ -137,8 +129,7 @@ func TestTagIsNotLastCommit(t *testing.T) {
}
func TestValidState(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@github.com:foo/bar.git")
testlib.GitCommit(t, "commit3")
@@ -152,8 +143,7 @@ func TestValidState(t *testing.T) {
}
func TestSnapshotNoTags(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@github.com:foo/bar.git")
testlib.GitAdd(t)
@@ -165,8 +155,7 @@ func TestSnapshotNoTags(t *testing.T) {
}
func TestSnapshotNoCommits(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@github.com:foo/bar.git")
var ctx = context.New(config.Project{})
@@ -176,8 +165,7 @@ func TestSnapshotNoCommits(t *testing.T) {
}
func TestSnapshotWithoutRepo(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
var ctx = context.New(config.Project{})
ctx.Snapshot = true
testlib.AssertSkipped(t, Pipe{}.Run(ctx))
@@ -185,8 +173,7 @@ func TestSnapshotWithoutRepo(t *testing.T) {
}
func TestSnapshotDirty(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@github.com:foo/bar.git")
testlib.GitAdd(t)
@@ -208,8 +195,7 @@ func TestGitNotInPath(t *testing.T) {
}
func TestTagFromCI(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@github.com:foo/bar.git")
testlib.GitCommit(t, "commit1")
@@ -249,8 +235,7 @@ func TestCommitDate(t *testing.T) {
// round to seconds since this is expressed in a Unix timestamp
commitDate := time.Now().AddDate(-1, 0, 0).Round(1 * time.Second)
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@github.com:foo/bar.git")
testlib.GitCommitWithDate(t, "commit1", commitDate)

View File

@@ -14,8 +14,7 @@ import (
)
func TestDefaultWithRepoConfig(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@github.com:githubowner/githubrepo.git")
@@ -38,8 +37,7 @@ func TestDefaultWithRepoConfig(t *testing.T) {
}
func TestDefaultWithRepoRemote(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@github.com:githubowner/githubrepo.git")
@@ -65,8 +63,7 @@ func TestDefaultWithNameTemplate(t *testing.T) {
}
func TestDefaultWithoutGitRepo(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
var ctx = &context.Context{
Config: config.Project{},
}
@@ -76,8 +73,7 @@ func TestDefaultWithoutGitRepo(t *testing.T) {
}
func TestDefaultWithoutGitRepoOrigin(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
var ctx = &context.Context{
Config: config.Project{},
}
@@ -88,8 +84,7 @@ func TestDefaultWithoutGitRepoOrigin(t *testing.T) {
}
func TestDefaultWithoutGitRepoSnapshot(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
var ctx = &context.Context{
Config: config.Project{},
}

View File

@@ -1,7 +1,6 @@
package nfpm
import (
"io/ioutil"
"os"
"path/filepath"
"runtime"
@@ -73,13 +72,12 @@ func TestRunPipeInvalidFormat(t *testing.T) {
}
func TestRunPipe(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0755))
var binPath = filepath.Join(dist, "mybin", "mybin")
_, err = os.Create(binPath)
_, err := os.Create(binPath)
require.NoError(t, err)
var ctx = context.New(config.Project{
ProjectName: "mybin",
@@ -212,8 +210,7 @@ func TestNoBuildsFound(t *testing.T) {
}
func TestCreateFileDoesntExist(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0755))
@@ -251,8 +248,7 @@ func TestCreateFileDoesntExist(t *testing.T) {
}
func TestInvalidConfig(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0755))
@@ -352,13 +348,12 @@ func TestOverrides(t *testing.T) {
}
func TestDebSpecificConfig(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0755))
var binPath = filepath.Join(dist, "mybin", "mybin")
_, err = os.Create(binPath)
_, err := os.Create(binPath)
require.NoError(t, err)
var ctx = context.New(config.Project{
ProjectName: "mybin",
@@ -423,13 +418,12 @@ func TestDebSpecificConfig(t *testing.T) {
}
func TestRPMSpecificConfig(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0755))
var binPath = filepath.Join(dist, "mybin", "mybin")
_, err = os.Create(binPath)
_, err := os.Create(binPath)
require.NoError(t, err)
var ctx = context.New(config.Project{
ProjectName: "mybin",
@@ -494,13 +488,12 @@ func TestRPMSpecificConfig(t *testing.T) {
}
func TestAPKSpecificConfig(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0755))
var binPath = filepath.Join(dist, "mybin", "mybin")
_, err = os.Create(binPath)
_, err := os.Create(binPath)
require.NoError(t, err)
var ctx = context.New(config.Project{
ProjectName: "mybin",
@@ -582,13 +575,12 @@ func TestSeveralNFPMsWithTheSameID(t *testing.T) {
}
func TestMeta(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0755))
var binPath = filepath.Join(dist, "mybin", "mybin")
_, err = os.Create(binPath)
_, err := os.Create(binPath)
require.NoError(t, err)
var ctx = context.New(config.Project{
ProjectName: "mybin",

View File

@@ -23,8 +23,7 @@ func TestPipeDescription(t *testing.T) {
}
func TestRunPipeWithoutIDsThenDoesNotFilter(t *testing.T) {
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
tarfile, err := os.Create(filepath.Join(folder, "bin.tar.gz"))
require.NoError(t, err)
srcfile, err := os.Create(filepath.Join(folder, "source.tar.gz"))
@@ -99,8 +98,7 @@ func TestRunPipeWithoutIDsThenDoesNotFilter(t *testing.T) {
}
func TestRunPipeWithIDsThenFilters(t *testing.T) {
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
tarfile, err := os.Create(filepath.Join(folder, "bin.tar.gz"))
require.NoError(t, err)
debfile, err := os.Create(filepath.Join(folder, "bin.deb"))
@@ -210,8 +208,7 @@ func TestRunPipeWithFileThatDontExist(t *testing.T) {
}
func TestRunPipeUploadFailure(t *testing.T) {
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
tarfile, err := os.Create(filepath.Join(folder, "bin.tar.gz"))
require.NoError(t, err)
var config = config.Project{
@@ -282,8 +279,7 @@ func TestRunPipeExtraOverride(t *testing.T) {
}
func TestRunPipeUploadRetry(t *testing.T) {
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
tarfile, err := os.Create(filepath.Join(folder, "bin.tar.gz"))
require.NoError(t, err)
var config = config.Project{
@@ -322,8 +318,7 @@ func TestPipeDisabled(t *testing.T) {
}
func TestDefault(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@github.com:goreleaser/goreleaser.git")
@@ -335,8 +330,7 @@ func TestDefault(t *testing.T) {
}
func TestDefaultWithGitlab(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@gitlab.com:gitlabowner/gitlabrepo.git")
@@ -348,8 +342,7 @@ func TestDefaultWithGitlab(t *testing.T) {
}
func TestDefaultWithGitea(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@gitea.example.com:giteaowner/gitearepo.git")
@@ -361,8 +354,7 @@ func TestDefaultWithGitea(t *testing.T) {
}
func TestDefaultPreReleaseAuto(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@github.com:goreleaser/goreleaser.git")
@@ -422,8 +414,7 @@ func TestDefaultPreReleaseAuto(t *testing.T) {
}
func TestDefaultPipeDisabled(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@github.com:goreleaser/goreleaser.git")
@@ -439,8 +430,7 @@ func TestDefaultPipeDisabled(t *testing.T) {
}
func TestDefaultFilled(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
testlib.GitInit(t)
testlib.GitRemoteAdd(t, "git@github.com:goreleaser/goreleaser.git")
@@ -461,8 +451,7 @@ func TestDefaultFilled(t *testing.T) {
}
func TestDefaultNotAGitRepo(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
var ctx = &context.Context{
Config: config.Project{},
}
@@ -472,8 +461,7 @@ func TestDefaultNotAGitRepo(t *testing.T) {
}
func TestDefaultGitRepoWithoutOrigin(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
var ctx = &context.Context{
Config: config.Project{},
}
@@ -484,8 +472,7 @@ func TestDefaultGitRepoWithoutOrigin(t *testing.T) {
}
func TestDefaultNotAGitRepoSnapshot(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
var ctx = &context.Context{
Config: config.Project{},
}
@@ -496,8 +483,7 @@ func TestDefaultNotAGitRepoSnapshot(t *testing.T) {
}
func TestDefaultGitRepoWithoutRemote(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
var ctx = &context.Context{
Config: config.Project{},
}

View File

@@ -24,8 +24,7 @@ func TestDescription(t *testing.T) {
}
func TestDefault(t *testing.T) {
_, back := testlib.Mktmp(t)
defer back()
testlib.Mktmp(t)
var ctx = &context.Context{
TokenType: context.TokenTypeGitHub,
@@ -61,8 +60,7 @@ func TestDefault(t *testing.T) {
}
func Test_doRun(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
var folder = testlib.Mktmp(t)
var file = filepath.Join(folder, "archive")
require.NoError(t, ioutil.WriteFile(file, []byte("lorem ipsum"), 0644))
@@ -744,8 +742,7 @@ func Test_doRun(t *testing.T) {
}
func Test_buildManifest(t *testing.T) {
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
var file = filepath.Join(folder, "archive")
require.NoError(t, ioutil.WriteFile(file, []byte("lorem ipsum"), 0644))
@@ -976,8 +973,7 @@ func Test_buildManifest(t *testing.T) {
}
func TestWrapInDirectory(t *testing.T) {
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
var file = filepath.Join(folder, "archive")
require.NoError(t, ioutil.WriteFile(file, []byte("lorem ipsum"), 0644))
var ctx = &context.Context{

View File

@@ -380,18 +380,14 @@ func TestSignArtifacts(t *testing.T) {
}
}
func testSign(t *testing.T, ctx *context.Context, signaturePaths []string, signatureNames []string, user, expectedErrMsg string) {
// create temp dir for file and signature
tmpdir, err := ioutil.TempDir("", "goreleaser")
require.NoError(t, err)
defer os.RemoveAll(tmpdir)
func testSign(t testing.TB, ctx *context.Context, signaturePaths []string, signatureNames []string, user, expectedErrMsg string) {
var tmpdir = t.TempDir()
ctx.Config.Dist = tmpdir
// create some fake artifacts
var artifacts = []string{"artifact1", "artifact2", "artifact3", "checksum", "checksum2"}
err = os.Mkdir(filepath.Join(tmpdir, "linux_amd64"), os.ModePerm)
require.NoError(t, err)
require.NoError(t, os.Mkdir(filepath.Join(tmpdir, "linux_amd64"), os.ModePerm))
for _, f := range artifacts {
file := filepath.Join(tmpdir, f)
require.NoError(t, ioutil.WriteFile(file, []byte("foo"), 0644))
@@ -474,7 +470,7 @@ func testSign(t *testing.T, ctx *context.Context, signaturePaths []string, signa
// verify that only the artifacts and the signatures are in the dist dir
gotFiles := []string{}
err = filepath.Walk(tmpdir,
require.NoError(t, filepath.Walk(tmpdir,
func(path string, info os.FileInfo, err error) error {
if err != nil {
return err
@@ -488,8 +484,8 @@ func testSign(t *testing.T, ctx *context.Context, signaturePaths []string, signa
}
gotFiles = append(gotFiles, relPath)
return nil
})
require.NoError(t, err)
}),
)
wantFiles := append(artifacts, signaturePaths...)
sort.Strings(wantFiles)
@@ -508,7 +504,7 @@ func testSign(t *testing.T, ctx *context.Context, signaturePaths []string, signa
require.ElementsMatch(t, signArtifacts, signatureNames)
}
func verifySignature(t *testing.T, ctx *context.Context, sig string, user string) {
func verifySignature(t testing.TB, ctx *context.Context, sig string, user string) {
artifact := strings.Replace(sig, filepath.Ext(sig), "", 1)
// verify signature was made with key for usesr 'nopass'

View File

@@ -45,12 +45,9 @@ func TestRunPipeMissingInfo(t *testing.T) {
}
func TestRunPipe(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
defer os.RemoveAll(folder)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, err)
var ctx = context.New(config.Project{
ProjectName: "mybin",
Dist: dist,
@@ -88,12 +85,9 @@ func TestRunPipe(t *testing.T) {
}
func TestRunPipeInvalidNameTemplate(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
defer os.RemoveAll(folder)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, err)
var ctx = context.New(config.Project{
ProjectName: "foo",
Dist: dist,
@@ -113,12 +107,9 @@ func TestRunPipeInvalidNameTemplate(t *testing.T) {
}
func TestRunPipeWithName(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
defer os.RemoveAll(folder)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, err)
var ctx = context.New(config.Project{
ProjectName: "testprojectname",
Dist: dist,
@@ -150,12 +141,9 @@ func TestRunPipeWithName(t *testing.T) {
}
func TestRunPipeMetadata(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
defer os.RemoveAll(folder)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, err)
var ctx = context.New(config.Project{
ProjectName: "testprojectname",
Dist: dist,
@@ -219,12 +207,9 @@ func TestNoSnapcraftInPath(t *testing.T) {
}
func TestRunNoArguments(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
defer os.RemoveAll(folder)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, err)
var ctx = context.New(config.Project{
ProjectName: "testprojectname",
Dist: dist,
@@ -256,12 +241,9 @@ func TestRunNoArguments(t *testing.T) {
}
func TestCompleter(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
defer os.RemoveAll(folder)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, err)
var ctx = context.New(config.Project{
ProjectName: "testprojectname",
Dist: dist,
@@ -296,12 +278,9 @@ func TestCompleter(t *testing.T) {
}
func TestCommand(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
defer os.RemoveAll(folder)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, err)
var ctx = context.New(config.Project{
ProjectName: "testprojectname",
Dist: dist,
@@ -334,12 +313,9 @@ func TestCommand(t *testing.T) {
}
func TestExtraFile(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
defer os.RemoveAll(folder)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, err)
var ctx = context.New(config.Project{
ProjectName: "testprojectname",
Dist: dist,

View File

@@ -16,8 +16,7 @@ import (
func TestArchive(t *testing.T) {
for _, format := range []string{"tar.gz", "tar", "zip"} {
t.Run(format, func(t *testing.T) {
tmp, back := testlib.Mktmp(t)
defer back()
var tmp = testlib.Mktmp(t)
require.NoError(t, os.Mkdir("dist", 0744))
testlib.GitInit(t)

View File

@@ -56,15 +56,13 @@ func TestRunPipe_ModeBinary(t *testing.T) {
setup()
defer teardown()
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0755))
var binPath = filepath.Join(dist, "mybin", "mybin")
d1 := []byte("hello\ngo\n")
err = ioutil.WriteFile(binPath, d1, 0666)
require.NoError(t, err)
require.NoError(t, ioutil.WriteFile(binPath, d1, 0666))
// Dummy http server
mux.HandleFunc("/example-repo-local/mybin/darwin/amd64/mybin", func(w http.ResponseWriter, r *http.Request) {
@@ -148,8 +146,7 @@ func TestRunPipe_ModeArchive(t *testing.T) {
setup()
defer teardown()
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
tarfile, err := os.Create(filepath.Join(folder, "bin.tar.gz"))
require.NoError(t, err)
debfile, err := os.Create(filepath.Join(folder, "bin.deb"))
@@ -219,15 +216,13 @@ func TestRunPipe_ModeBinary_CustomArtifactName(t *testing.T) {
setup()
defer teardown()
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0755))
var binPath = filepath.Join(dist, "mybin", "mybin")
d1 := []byte("hello\ngo\n")
err = ioutil.WriteFile(binPath, d1, 0666)
require.NoError(t, err)
require.NoError(t, ioutil.WriteFile(binPath, d1, 0666))
// Dummy http server
mux.HandleFunc("/example-repo-local/mybin/darwin/amd64/mybin;deb.distribution=xenial", func(w http.ResponseWriter, r *http.Request) {
@@ -286,8 +281,7 @@ func TestRunPipe_ModeArchive_CustomArtifactName(t *testing.T) {
setup()
defer teardown()
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
tarfile, err := os.Create(filepath.Join(folder, "bin.tar.gz"))
require.NoError(t, err)
debfile, err := os.Create(filepath.Join(folder, "bin.deb"))
@@ -355,8 +349,7 @@ func TestRunPipe_ModeArchive_CustomArtifactName(t *testing.T) {
}
func TestRunPipe_ArtifactoryDown(t *testing.T) {
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
var folder = t.TempDir()
tarfile, err := os.Create(filepath.Join(folder, "bin.tar.gz"))
require.NoError(t, err)
@@ -388,8 +381,7 @@ func TestRunPipe_ArtifactoryDown(t *testing.T) {
}
func TestRunPipe_TargetTemplateError(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
var binPath = filepath.Join(dist, "mybin", "mybin")
@@ -420,7 +412,7 @@ func TestRunPipe_TargetTemplateError(t *testing.T) {
Goos: "darwin",
Type: artifact.UploadableBinary,
})
err = Pipe{}.Publish(ctx)
var err = Pipe{}.Publish(ctx)
require.Error(t, err)
require.Contains(t, err.Error(), `upload: error while building the target url: template: tmpl:1: unexpected "/" in operand`)
}
@@ -429,15 +421,13 @@ func TestRunPipe_BadCredentials(t *testing.T) {
setup()
defer teardown()
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0755))
var binPath = filepath.Join(dist, "mybin", "mybin")
d1 := []byte("hello\ngo\n")
err = ioutil.WriteFile(binPath, d1, 0666)
require.NoError(t, err)
require.NoError(t, ioutil.WriteFile(binPath, d1, 0666))
// Dummy http server
mux.HandleFunc("/example-repo-local/mybin/darwin/amd64/mybin", func(w http.ResponseWriter, r *http.Request) {
@@ -476,7 +466,7 @@ func TestRunPipe_BadCredentials(t *testing.T) {
Type: artifact.UploadableBinary,
})
err = Pipe{}.Publish(ctx)
var err = Pipe{}.Publish(ctx)
require.Error(t, err)
require.Contains(t, err.Error(), "Unauthorized")
}
@@ -513,15 +503,13 @@ func TestRunPipe_FileNotFound(t *testing.T) {
}
func TestRunPipe_UnparsableTarget(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0755))
var binPath = filepath.Join(dist, "mybin", "mybin")
d1 := []byte("hello\ngo\n")
err = ioutil.WriteFile(binPath, d1, 0666)
require.NoError(t, err)
require.NoError(t, ioutil.WriteFile(binPath, d1, 0666))
var ctx = context.New(config.Project{
ProjectName: "mybin",
@@ -578,8 +566,7 @@ func TestRunPipe_SkipWhenPublishFalse(t *testing.T) {
}
func TestRunPipe_DirUpload(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
var folder = t.TempDir()
var dist = filepath.Join(folder, "dist")
require.NoError(t, os.Mkdir(dist, 0755))
require.NoError(t, os.Mkdir(filepath.Join(dist, "mybin"), 0755))

View File

@@ -9,7 +9,7 @@ import (
)
// GitInit inits a new git project.
func GitInit(t *testing.T) {
func GitInit(t testing.TB) {
out, err := fakeGit("init")
require.NoError(t, err)
require.Contains(t, out, "Initialized empty Git repository")
@@ -17,19 +17,19 @@ func GitInit(t *testing.T) {
}
// GitRemoteAdd adds the given url as remote.
func GitRemoteAdd(t *testing.T, url string) {
func GitRemoteAdd(t testing.TB, url string) {
out, err := fakeGit("remote", "add", "origin", url)
require.NoError(t, err)
require.Empty(t, out)
}
// GitCommit creates a git commits.
func GitCommit(t *testing.T, msg string) {
func GitCommit(t testing.TB, msg string) {
GitCommitWithDate(t, msg, time.Time{})
}
// GitCommitWithDate creates a git commit with a commit date.
func GitCommitWithDate(t *testing.T, msg string, commitDate time.Time) {
func GitCommitWithDate(t testing.TB, msg string, commitDate time.Time) {
env := (map[string]string)(nil)
if !commitDate.IsZero() {
env = map[string]string{
@@ -42,21 +42,21 @@ func GitCommitWithDate(t *testing.T, msg string, commitDate time.Time) {
}
// GitTag creates a git tag.
func GitTag(t *testing.T, tag string) {
func GitTag(t testing.TB, tag string) {
out, err := fakeGit("tag", tag)
require.NoError(t, err)
require.Empty(t, out)
}
// GitBranch creates a git branch.
func GitBranch(t *testing.T, branch string) {
func GitBranch(t testing.TB, branch string) {
out, err := fakeGit("branch", branch)
require.NoError(t, err)
require.Empty(t, out)
}
// GitAdd adds all files to stage.
func GitAdd(t *testing.T) {
func GitAdd(t testing.TB) {
out, err := fakeGit("add", "-A")
require.NoError(t, err)
require.Empty(t, out)
@@ -78,7 +78,7 @@ func fakeGit(args ...string) (string, error) {
}
// GitCheckoutBranch allows us to change the active branch that we're using.
func GitCheckoutBranch(t *testing.T, name string) {
func GitCheckoutBranch(t testing.TB, name string) {
out, err := fakeGit("checkout", "-b", name)
require.NoError(t, err)
require.Empty(t, out)

View File

@@ -5,8 +5,7 @@ import (
)
func TestGit(t *testing.T) {
_, back := Mktmp(t)
defer back()
TestMkTemp(t)
GitInit(t)
GitAdd(t)
GitCommit(t, "commit1")

View File

@@ -2,7 +2,6 @@
package testlib
import (
"io/ioutil"
"os"
"testing"
@@ -11,13 +10,13 @@ import (
// Mktmp creates a new tempdir, cd into it and provides a back function that
// cd into the previous directory.
func Mktmp(t *testing.T) (folder string, back func()) {
folder, err := ioutil.TempDir("", "goreleasertest")
require.NoError(t, err)
func Mktmp(t testing.TB) string {
var folder = t.TempDir()
current, err := os.Getwd()
require.NoError(t, err)
require.NoError(t, os.Chdir(folder))
return folder, func() {
t.Cleanup(func() {
require.NoError(t, os.Chdir(current))
}
})
return folder
}

View File

@@ -1,19 +1,11 @@
package testlib
import (
"os"
"testing"
"github.com/stretchr/testify/require"
)
func TestMkTemp(t *testing.T) {
current, err := os.Getwd()
require.NoError(t, err)
folder, back := Mktmp(t)
require.NotEmpty(t, folder)
back()
newCurrent, err := os.Getwd()
require.NoError(t, err)
require.Equal(t, current, newCurrent)
require.NotEmpty(t, Mktmp(t))
}

View File

@@ -1,7 +1,6 @@
package archive
import (
"io/ioutil"
"os"
"testing"
@@ -9,8 +8,7 @@ import (
)
func TestArchive(t *testing.T) {
folder, err := ioutil.TempDir("", "archivetest")
require.NoError(t, err)
var folder = t.TempDir()
empty, err := os.Create(folder + "/empty.txt")
require.NoError(t, err)
require.NoError(t, os.Mkdir(folder+"/folder-inside", 0755))

View File

@@ -11,8 +11,7 @@ import (
)
func TestGzFile(t *testing.T) {
tmp, err := ioutil.TempDir("", "")
require.NoError(t, err)
var tmp = t.TempDir()
f, err := os.Create(filepath.Join(tmp, "test.gz"))
require.NoError(t, err)
defer f.Close() // nolint: errcheck

View File

@@ -4,7 +4,6 @@ import (
"archive/tar"
"compress/gzip"
"io"
"io/ioutil"
"os"
"path/filepath"
"testing"
@@ -13,8 +12,7 @@ import (
)
func TestTarGzFile(t *testing.T) {
tmp, err := ioutil.TempDir("", "")
require.NoError(t, err)
var tmp = t.TempDir()
f, err := os.Create(filepath.Join(tmp, "test.tar.gz"))
require.NoError(t, err)
defer f.Close() // nolint: errcheck

View File

@@ -3,7 +3,6 @@ package tarxz
import (
"archive/tar"
"io"
"io/ioutil"
"os"
"path/filepath"
"testing"
@@ -13,8 +12,7 @@ import (
)
func TestTarXzFile(t *testing.T) {
tmp, err := ioutil.TempDir("", "")
require.NoError(t, err)
var tmp = t.TempDir()
f, err := os.Create(filepath.Join(tmp, "test.tar.xz"))
require.NoError(t, err)
defer f.Close() // nolint: errcheck

View File

@@ -3,7 +3,6 @@ package zip
import (
"archive/zip"
"fmt"
"io/ioutil"
"os"
"path/filepath"
"testing"
@@ -12,8 +11,7 @@ import (
)
func TestZipFile(t *testing.T) {
tmp, err := ioutil.TempDir("", "")
require.NoError(t, err)
var tmp = t.TempDir()
f, err := os.Create(filepath.Join(tmp, "test.zip"))
require.NoError(t, err)
fmt.Println(f.Name())