You've already forked goreleaser
mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-07-15 01:34:21 +02:00
ldflags template
This commit is contained in:
46
pipeline/build/ldflags_test.go
Normal file
46
pipeline/build/ldflags_test.go
Normal 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, "")
|
||||
}
|
Reference in New Issue
Block a user