Go 20 lines
package main
import "testing"
func TestResolveVersion(t *testing.T) {
// A release build carries an ldflags-injected version; resolveVersion
// must pass it through untouched even though build info is present.
if got := resolveVersion("v1.27.3"); got != "v1.27.3" {
t.Errorf("release version: got %q, want %q", got, "v1.27.3")
}
// The dev marker resolves against the test binary's build info. Under
// `go test` the main module version is "" or "(devel)", so the marker
// is preserved; a `go install pkg@vX` build would instead surface the
// recorded module version. Either way it must never be empty.
if got := resolveVersion("0.0.0-dev"); got == "" {
t.Error("dev version resolved to empty string")
}
}