1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-03-23 21:19:17 +02:00
goreleaser/context/context_test.go

72 lines
1.3 KiB
Go
Raw Normal View History

2017-04-14 12:15:51 -03:00
package context
import (
"testing"
"github.com/goreleaser/goreleaser/config"
"github.com/stretchr/testify/assert"
2017-06-22 00:09:14 -03:00
"golang.org/x/sync/errgroup"
2017-04-14 12:15:51 -03:00
)
2017-09-16 15:46:47 -03:00
func TestMultipleAdds(t *testing.T) {
var artifacts = []string{
2017-04-14 12:15:51 -03:00
"dist/a",
"dist/b",
"dist/c",
"dist/d",
}
2017-09-16 15:46:47 -03:00
var dockerfiles = []string{
"a/b:1.0.0",
"c/d:2.0.0",
"e/f:3.0.0",
}
2017-04-14 12:15:51 -03:00
var ctx = New(config.Project{
Dist: "dist",
})
var g errgroup.Group
2017-09-16 15:46:47 -03:00
for _, f := range artifacts {
2017-04-14 12:15:51 -03:00
f := f
g.Go(func() error {
ctx.AddArtifact(f)
return nil
})
}
assert.NoError(t, g.Wait())
2017-09-16 15:46:47 -03:00
for _, d := range dockerfiles {
d := d
g.Go(func() error {
ctx.AddDocker(d)
return nil
})
}
assert.NoError(t, g.Wait())
assert.Len(t, ctx.Artifacts, len(artifacts))
assert.Contains(t, ctx.Artifacts, "a", "b", "c", "d")
assert.Len(t, ctx.Dockers, len(dockerfiles))
assert.Contains(t, ctx.Dockers, "a/b:1.0.0", "c/d:2.0.0", "e/f:3.0.0")
2017-04-14 12:15:51 -03:00
}
2017-07-01 21:34:32 -03:00
func TestMultipleBinaryAdds(t *testing.T) {
2017-07-01 21:34:32 -03:00
var list = map[string]string{
"a": "folder/a",
"b": "folder/b",
"c": "folder/c",
"d": "folder/d",
2017-07-01 21:34:32 -03:00
}
var ctx = New(config.Project{
Dist: "dist",
})
var g errgroup.Group
for k, f := range list {
f := f
k := k
g.Go(func() error {
2017-07-13 20:43:12 -03:00
ctx.AddBinary("linuxamd64", k, k, f)
2017-07-01 21:34:32 -03:00
return nil
})
}
assert.NoError(t, g.Wait())
assert.Len(t, ctx.Binaries["linuxamd64"], len(list))
assert.Len(t, ctx.Binaries, 1)
2017-07-01 21:34:32 -03:00
}