github.com/goreleaser/goreleaser@v1.25.1/main_test.go (about) 1 package main 2 3 import ( 4 "testing" 5 6 "github.com/goreleaser/goreleaser/internal/golden" 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestVersion(t *testing.T) { 11 const goVersion = "go1.20.3" 12 const compiler = "gc" 13 const platform = "linux/amd64" 14 15 for name, tt := range map[string]struct { 16 version, commit, date, builtBy, treeState string 17 }{ 18 "all empty": {}, 19 "complete": { 20 version: "1.2.3", 21 date: "12/12/12", 22 commit: "aaaa", 23 builtBy: "me", 24 treeState: "clean", 25 }, 26 "only version": { 27 version: "1.2.3", 28 }, 29 "version and date": { 30 version: "1.2.3", 31 date: "12/12/12", 32 }, 33 "version, date, built by": { 34 version: "1.2.3", 35 date: "12/12/12", 36 builtBy: "me", 37 }, 38 } { 39 tt := tt 40 t.Run(name, func(t *testing.T) { 41 v := buildVersion(tt.version, tt.commit, tt.date, tt.builtBy, tt.treeState) 42 v.GoVersion = goVersion 43 v.Compiler = compiler 44 v.Platform = platform 45 out, err := v.JSONString() 46 require.NoError(t, err) 47 48 golden.RequireEqualJSON(t, []byte(out)) 49 }) 50 } 51 }