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

ldflags template

This commit is contained in:
Carlos Alexandro Becker
2017-03-25 20:24:38 -03:00
parent 9a71fba785
commit 4af2cb00ea
14 changed files with 224 additions and 56 deletions

View File

@ -0,0 +1,46 @@
package build
import (
"testing"
"github.com/goreleaser/goreleaser/config"
"github.com/goreleaser/goreleaser/context"
"github.com/stretchr/testify/assert"
)
func TestLdFlagsFullTemplate(t *testing.T) {
assert := assert.New(t)
var config = config.Project{
Build: config.Build{
Ldflags: "-s -w -X main.version={{.Version}} -X main.date={{.Date}} -X main.commit={{.Commit}}",
},
}
var ctx = &context.Context{
Git: context.GitInfo{
CurrentTag: "v1.2.3",
Commit: "123",
},
Config: config,
}
flags, err := ldflags(ctx)
assert.NoError(err)
assert.Contains(flags, "-s -w")
assert.Contains(flags, "-X main.version=v1.2.3")
assert.Contains(flags, "-X main.commit=123")
// TODO assert main.date
}
func TestInvalidTemplate(t *testing.T) {
assert := assert.New(t)
var config = config.Project{
Build: config.Build{
Ldflags: "{invalid{.Template}}}{{}}}",
},
}
var ctx = &context.Context{
Config: config,
}
flags, err := ldflags(ctx)
assert.Error(err)
assert.Equal(flags, "")
}