Navigation Menu

Skip to content

Commit

Permalink
refactor: use require on all tests (#1839)
Browse files Browse the repository at this point in the history
* 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>
  • Loading branch information
caarlos0 and kodiakhq[bot] committed Oct 6, 2020
1 parent 2c487bc commit 979f863
Show file tree
Hide file tree
Showing 48 changed files with 1,074 additions and 1,106 deletions.
35 changes: 17 additions & 18 deletions internal/artifact/artifact_test.go
Expand Up @@ -6,7 +6,6 @@ import (
"path/filepath"
"testing"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"golang.org/x/sync/errgroup"
)
Expand Down Expand Up @@ -41,8 +40,8 @@ func TestAdd(t *testing.T) {
return nil
})
}
assert.NoError(t, g.Wait())
assert.Len(t, artifacts.List(), 4)
require.NoError(t, g.Wait())
require.Len(t, artifacts.List(), 4)
}

func TestFilter(t *testing.T) {
Expand Down Expand Up @@ -74,21 +73,21 @@ func TestFilter(t *testing.T) {
artifacts.Add(a)
}

assert.Len(t, artifacts.Filter(ByGoos("linux")).items, 1)
assert.Len(t, artifacts.Filter(ByGoos("darwin")).items, 0)
require.Len(t, artifacts.Filter(ByGoos("linux")).items, 1)
require.Len(t, artifacts.Filter(ByGoos("darwin")).items, 0)

assert.Len(t, artifacts.Filter(ByGoarch("amd64")).items, 1)
assert.Len(t, artifacts.Filter(ByGoarch("386")).items, 0)
require.Len(t, artifacts.Filter(ByGoarch("amd64")).items, 1)
require.Len(t, artifacts.Filter(ByGoarch("386")).items, 0)

assert.Len(t, artifacts.Filter(ByGoarm("6")).items, 1)
assert.Len(t, artifacts.Filter(ByGoarm("7")).items, 0)
require.Len(t, artifacts.Filter(ByGoarm("6")).items, 1)
require.Len(t, artifacts.Filter(ByGoarm("7")).items, 0)

assert.Len(t, artifacts.Filter(ByType(Checksum)).items, 2)
assert.Len(t, artifacts.Filter(ByType(Binary)).items, 0)
require.Len(t, artifacts.Filter(ByType(Checksum)).items, 2)
require.Len(t, artifacts.Filter(ByType(Binary)).items, 0)

assert.Len(t, artifacts.Filter(nil).items, 5)
require.Len(t, artifacts.Filter(nil).items, 5)

assert.Len(t, artifacts.Filter(
require.Len(t, artifacts.Filter(
And(
ByType(Checksum),
func(a *Artifact) bool {
Expand All @@ -97,7 +96,7 @@ func TestFilter(t *testing.T) {
),
).List(), 1)

assert.Len(t, artifacts.Filter(
require.Len(t, artifacts.Filter(
Or(
ByType(Checksum),
And(
Expand Down Expand Up @@ -149,10 +148,10 @@ func TestGroupByPlatform(t *testing.T) {
}

var groups = artifacts.GroupByPlatform()
assert.Len(t, groups["linuxamd64"], 2)
assert.Len(t, groups["linuxarm6"], 1)
assert.Len(t, groups["linuxmipssoftfloat"], 1)
assert.Len(t, groups["linuxmipshardfloat"], 1)
require.Len(t, groups["linuxamd64"], 2)
require.Len(t, groups["linuxarm6"], 1)
require.Len(t, groups["linuxmipssoftfloat"], 1)
require.Len(t, groups["linuxmipshardfloat"], 1)
}

func TestChecksum(t *testing.T) {
Expand Down
95 changes: 47 additions & 48 deletions internal/builders/golang/build_test.go
Expand Up @@ -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"
)

Expand Down Expand Up @@ -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)
})
}
}
Expand Down Expand Up @@ -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"),
Expand Down Expand Up @@ -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)
Expand All @@ -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{
Expand All @@ -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) {
Expand All @@ -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) {
Expand All @@ -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) {
Expand All @@ -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) {
Expand All @@ -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) {
Expand All @@ -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) {
Expand All @@ -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) {
Expand All @@ -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`)
})
Expand All @@ -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,
Expand All @@ -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,
}))
})
Expand All @@ -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) {
Expand All @@ -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)
})
}
}
Expand Down Expand Up @@ -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) {
Expand All @@ -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) {
Expand All @@ -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)
}
}

Expand Down Expand Up @@ -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() {
Expand All @@ -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")
}
}

Expand All @@ -714,22 +713,22 @@ 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,
))
}

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,
))
}

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)
}
6 changes: 3 additions & 3 deletions internal/builders/golang/targets_test.go
Expand Up @@ -5,7 +5,7 @@ import (
"testing"

"github.com/goreleaser/goreleaser/pkg/config"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)

func TestAllBuildTargets(t *testing.T) {
Expand Down Expand Up @@ -53,7 +53,7 @@ func TestAllBuildTargets(t *testing.T) {
},
},
}
assert.Equal(t, []string{
require.Equal(t, []string{
"linux_386",
"linux_amd64",
"linux_arm_6",
Expand Down Expand Up @@ -128,7 +128,7 @@ func TestGoosGoarchCombos(t *testing.T) {
}
for _, p := range platforms {
t.Run(fmt.Sprintf("%v %v valid=%v", p.os, p.arch, p.valid), func(t *testing.T) {
assert.Equal(t, p.valid, valid(target{p.os, p.arch, "", ""}))
require.Equal(t, p.valid, valid(target{p.os, p.arch, "", ""}))
})
}
}

1 comment on commit 979f863

@vercel
Copy link

@vercel vercel bot commented on 979f863 Oct 6, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.