1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-07-01 00:54:57 +02:00

refactor: use require on all tests (#1839)

* refactor: use require on all tests

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

* refactor: use require on all tests

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

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
This commit is contained in:
Carlos Alexandro Becker
2020-10-06 09:48:04 -03:00
committed by GitHub
parent 2c487bc478
commit 979f8632b7
48 changed files with 1074 additions and 1106 deletions

View File

@ -16,7 +16,6 @@ import (
api "github.com/goreleaser/goreleaser/pkg/build"
"github.com/goreleaser/goreleaser/pkg/config"
"github.com/goreleaser/goreleaser/pkg/context"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@ -96,8 +95,8 @@ func TestWithDefaults(t *testing.T) {
var ctx = context.New(config)
ctx.Git.CurrentTag = "5.6.7"
var build = Default.WithDefaults(ctx.Config.Builds[0])
assert.ElementsMatch(t, build.Targets, testcase.targets)
assert.EqualValues(t, testcase.goBinary, build.GoBinary)
require.ElementsMatch(t, build.Targets, testcase.targets)
require.EqualValues(t, testcase.goBinary, build.GoBinary)
})
}
}
@ -152,9 +151,9 @@ func TestBuild(t *testing.T) {
Path: filepath.Join(folder, "dist", target, bin+ext),
Ext: ext,
})
assert.NoError(t, err)
require.NoError(t, err)
}
assert.ElementsMatch(t, ctx.Artifacts.List(), []*artifact.Artifact{
require.ElementsMatch(t, ctx.Artifacts.List(), []*artifact.Artifact{
{
Name: "bin/foo-v5.6.7",
Path: filepath.Join(folder, "dist", "linux_amd64", "bin", "foo-v5.6.7"),
@ -251,7 +250,7 @@ func TestBuild(t *testing.T) {
}
fi, err := os.Stat(bin.Path)
assert.NoError(t, err)
require.NoError(t, err)
// make this a suitable map key, per docs: https://golang.org/pkg/time/#Time
modTime := fi.ModTime().UTC().Round(0)
@ -268,7 +267,7 @@ func TestBuildCodeInSubdir(t *testing.T) {
defer back()
subdir := filepath.Join(folder, "bar")
err := os.Mkdir(subdir, 0755)
assert.NoError(t, err)
require.NoError(t, err)
writeGoodMain(t, subdir)
var config = config.Project{
Builds: []config.Build{
@ -293,7 +292,7 @@ func TestBuildCodeInSubdir(t *testing.T) {
Path: filepath.Join(folder, "dist", runtimeTarget, build.Binary),
Ext: "",
})
assert.NoError(t, err)
require.NoError(t, err)
}
func TestBuildFailed(t *testing.T) {
@ -318,7 +317,7 @@ func TestBuildFailed(t *testing.T) {
Target: "darwin_amd64",
})
assertContainsError(t, err, `flag provided but not defined: -flag-that-dont-exists-to-force-failure`)
assert.Empty(t, ctx.Artifacts.List())
require.Empty(t, ctx.Artifacts.List())
}
func TestBuildInvalidTarget(t *testing.T) {
@ -343,8 +342,8 @@ func TestBuildInvalidTarget(t *testing.T) {
Name: build.Binary,
Path: filepath.Join(folder, "dist", target, build.Binary),
})
assert.EqualError(t, err, "linux is not a valid build target")
assert.Len(t, ctx.Artifacts.List(), 0)
require.EqualError(t, err, "linux is not a valid build target")
require.Len(t, ctx.Artifacts.List(), 0)
}
func TestRunInvalidAsmflags(t *testing.T) {
@ -367,7 +366,7 @@ func TestRunInvalidAsmflags(t *testing.T) {
var err = Default.Build(ctx, ctx.Config.Builds[0], api.Options{
Target: runtimeTarget,
})
assert.EqualError(t, err, `template: tmpl:1: unexpected "}" in operand`)
require.EqualError(t, err, `template: tmpl:1: unexpected "}" in operand`)
}
func TestRunInvalidGcflags(t *testing.T) {
@ -390,7 +389,7 @@ func TestRunInvalidGcflags(t *testing.T) {
var err = Default.Build(ctx, ctx.Config.Builds[0], api.Options{
Target: runtimeTarget,
})
assert.EqualError(t, err, `template: tmpl:1: unexpected "}" in operand`)
require.EqualError(t, err, `template: tmpl:1: unexpected "}" in operand`)
}
func TestRunInvalidLdflags(t *testing.T) {
@ -414,7 +413,7 @@ func TestRunInvalidLdflags(t *testing.T) {
var err = Default.Build(ctx, ctx.Config.Builds[0], api.Options{
Target: runtimeTarget,
})
assert.EqualError(t, err, `template: tmpl:1: unexpected "}" in operand`)
require.EqualError(t, err, `template: tmpl:1: unexpected "}" in operand`)
}
func TestRunInvalidFlags(t *testing.T) {
@ -436,7 +435,7 @@ func TestRunInvalidFlags(t *testing.T) {
var err = Default.Build(ctx, ctx.Config.Builds[0], api.Options{
Target: runtimeTarget,
})
assert.EqualError(t, err, `template: tmpl:1: unexpected "}" in operand`)
require.EqualError(t, err, `template: tmpl:1: unexpected "}" in operand`)
}
func TestRunPipeWithoutMainFunc(t *testing.T) {
@ -458,25 +457,25 @@ func TestRunPipeWithoutMainFunc(t *testing.T) {
ctx.Git.CurrentTag = "5.6.7"
t.Run("empty", func(t *testing.T) {
ctx.Config.Builds[0].Main = ""
assert.EqualError(t, Default.Build(ctx, ctx.Config.Builds[0], api.Options{
require.EqualError(t, Default.Build(ctx, ctx.Config.Builds[0], api.Options{
Target: runtimeTarget,
}), `build for no-main does not contain a main function`)
})
t.Run("not main.go", func(t *testing.T) {
ctx.Config.Builds[0].Main = "foo.go"
assert.EqualError(t, Default.Build(ctx, ctx.Config.Builds[0], api.Options{
require.EqualError(t, Default.Build(ctx, ctx.Config.Builds[0], api.Options{
Target: runtimeTarget,
}), `stat foo.go: no such file or directory`)
})
t.Run("glob", func(t *testing.T) {
ctx.Config.Builds[0].Main = "."
assert.EqualError(t, Default.Build(ctx, ctx.Config.Builds[0], api.Options{
require.EqualError(t, Default.Build(ctx, ctx.Config.Builds[0], api.Options{
Target: runtimeTarget,
}), `build for no-main does not contain a main function`)
})
t.Run("fixed main.go", func(t *testing.T) {
ctx.Config.Builds[0].Main = "main.go"
assert.EqualError(t, Default.Build(ctx, ctx.Config.Builds[0], api.Options{
require.EqualError(t, Default.Build(ctx, ctx.Config.Builds[0], api.Options{
Target: runtimeTarget,
}), `build for no-main does not contain a main function`)
})
@ -485,7 +484,7 @@ func TestRunPipeWithoutMainFunc(t *testing.T) {
func TestRunPipeWithMainFuncNotInMainGoFile(t *testing.T) {
folder, back := testlib.Mktmp(t)
defer back()
assert.NoError(t, ioutil.WriteFile(
require.NoError(t, ioutil.WriteFile(
filepath.Join(folder, "foo.go"),
[]byte("package main\nfunc main() {println(0)}"),
0644,
@ -507,19 +506,19 @@ func TestRunPipeWithMainFuncNotInMainGoFile(t *testing.T) {
ctx.Git.CurrentTag = "5.6.7"
t.Run("empty", func(t *testing.T) {
ctx.Config.Builds[0].Main = ""
assert.NoError(t, Default.Build(ctx, ctx.Config.Builds[0], api.Options{
require.NoError(t, Default.Build(ctx, ctx.Config.Builds[0], api.Options{
Target: runtimeTarget,
}))
})
t.Run("foo.go", func(t *testing.T) {
ctx.Config.Builds[0].Main = "foo.go"
assert.NoError(t, Default.Build(ctx, ctx.Config.Builds[0], api.Options{
require.NoError(t, Default.Build(ctx, ctx.Config.Builds[0], api.Options{
Target: runtimeTarget,
}))
})
t.Run("glob", func(t *testing.T) {
ctx.Config.Builds[0].Main = "."
assert.NoError(t, Default.Build(ctx, ctx.Config.Builds[0], api.Options{
require.NoError(t, Default.Build(ctx, ctx.Config.Builds[0], api.Options{
Target: runtimeTarget,
}))
})
@ -542,16 +541,16 @@ func TestLdFlagsFullTemplate(t *testing.T) {
var artifact = &artifact.Artifact{Goarch: "amd64"}
flags, err := tmpl.New(ctx).WithArtifact(artifact, map[string]string{}).
Apply(`-s -w -X main.version={{.Version}} -X main.tag={{.Tag}} -X main.date={{.Date}} -X main.commit={{.Commit}} -X "main.foo={{.Env.FOO}}" -X main.time={{ time "20060102" }} -X main.arch={{.Arch}} -X main.commitDate={{.CommitDate}}`)
assert.NoError(t, err)
assert.Contains(t, flags, "-s -w")
assert.Contains(t, flags, "-X main.version=1.2.3")
assert.Contains(t, flags, "-X main.tag=v1.2.3")
assert.Contains(t, flags, "-X main.commit=123")
assert.Contains(t, flags, fmt.Sprintf("-X main.date=%d", run.Year()))
assert.Contains(t, flags, fmt.Sprintf("-X main.time=%d", run.Year()))
assert.Contains(t, flags, `-X "main.foo=123"`)
assert.Contains(t, flags, `-X main.arch=amd64`)
assert.Contains(t, flags, fmt.Sprintf("-X main.commitDate=%d", commit.Year()))
require.NoError(t, err)
require.Contains(t, flags, "-s -w")
require.Contains(t, flags, "-X main.version=1.2.3")
require.Contains(t, flags, "-X main.tag=v1.2.3")
require.Contains(t, flags, "-X main.commit=123")
require.Contains(t, flags, fmt.Sprintf("-X main.date=%d", run.Year()))
require.Contains(t, flags, fmt.Sprintf("-X main.time=%d", run.Year()))
require.Contains(t, flags, `-X "main.foo=123"`)
require.Contains(t, flags, `-X main.arch=amd64`)
require.Contains(t, flags, fmt.Sprintf("-X main.commitDate=%d", commit.Year()))
}
func TestInvalidTemplate(t *testing.T) {
@ -563,8 +562,8 @@ func TestInvalidTemplate(t *testing.T) {
var ctx = context.New(config.Project{})
ctx.Git.CurrentTag = "3.4.1"
flags, err := tmpl.New(ctx).Apply(template)
assert.EqualError(tt, err, eerr)
assert.Empty(tt, flags)
require.EqualError(tt, err, eerr)
require.Empty(tt, flags)
})
}
}
@ -606,9 +605,9 @@ func TestProcessFlags(t *testing.T) {
}
flags, err := processFlags(ctx, artifact, []string{}, source, "-testflag=")
assert.NoError(t, err)
assert.Len(t, flags, 7)
assert.Equal(t, expected, flags)
require.NoError(t, err)
require.Len(t, flags, 7)
require.Equal(t, expected, flags)
}
func TestProcessFlagsInvalid(t *testing.T) {
@ -621,8 +620,8 @@ func TestProcessFlagsInvalid(t *testing.T) {
var expected = `template: tmpl:1: unexpected "}" in operand`
flags, err := processFlags(ctx, &artifact.Artifact{}, []string{}, source, "-testflag=")
assert.EqualError(t, err, expected)
assert.Nil(t, flags)
require.EqualError(t, err, expected)
require.Nil(t, flags)
}
func TestJoinLdFlags(t *testing.T) {
@ -636,7 +635,7 @@ func TestJoinLdFlags(t *testing.T) {
for _, test := range tests {
joinedLdFlags := joinLdFlags(test.input)
assert.Equal(t, joinedLdFlags, test.output)
require.Equal(t, joinedLdFlags, test.output)
}
}
@ -695,7 +694,7 @@ func TestBuildModTimestamp(t *testing.T) {
Path: filepath.Join(folder, "dist", target, bin+ext),
Ext: ext,
})
assert.NoError(t, err)
require.NoError(t, err)
}
for _, bin := range ctx.Artifacts.List() {
@ -704,8 +703,8 @@ func TestBuildModTimestamp(t *testing.T) {
}
fi, err := os.Stat(bin.Path)
assert.NoError(t, err)
assert.True(t, modTime.Equal(fi.ModTime()), "inconsistent mod times found when specifying ModTimestamp")
require.NoError(t, err)
require.True(t, modTime.Equal(fi.ModTime()), "inconsistent mod times found when specifying ModTimestamp")
}
}
@ -714,7 +713,7 @@ func TestBuildModTimestamp(t *testing.T) {
//
func writeMainWithoutMainFunc(t *testing.T, folder string) {
assert.NoError(t, ioutil.WriteFile(
require.NoError(t, ioutil.WriteFile(
filepath.Join(folder, "main.go"),
[]byte("package main\nconst a = 2\nfunc notMain() {println(0)}"),
0644,
@ -722,7 +721,7 @@ func writeMainWithoutMainFunc(t *testing.T, folder string) {
}
func writeGoodMain(t *testing.T, folder string) {
assert.NoError(t, ioutil.WriteFile(
require.NoError(t, ioutil.WriteFile(
filepath.Join(folder, "main.go"),
[]byte("package main\nvar a = 1\nfunc main() {println(0)}"),
0644,
@ -730,6 +729,6 @@ func writeGoodMain(t *testing.T, folder string) {
}
func assertContainsError(t *testing.T, err error, s string) {
assert.Error(t, err)
assert.Contains(t, err.Error(), s)
require.Error(t, err)
require.Contains(t, err.Error(), s)
}