Publish the reviewed version identity fix and mark preview 1 withdrawn.\n\nPrivate-Source-Commit: 9907afdfa18099ac488fe4011291ea454036435a\nPrivate-Source-Tree: 3a5e666dd6a0c69a07f7804612c8e3dc3474966a\nHimesan-Output-Permission: v1.0\nAI-Assistance: OpenAI Codex assisted implementation and review. Signed-off-by: Cole Speelman <crspeelman@gmail.com>
34 lines
1.4 KiB
Go
34 lines
1.4 KiB
Go
// SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
package version
|
|
|
|
import "testing"
|
|
|
|
func TestSelectVersion(t *testing.T) {
|
|
t.Parallel()
|
|
tests := []struct {
|
|
name, linker, module, want string
|
|
}{
|
|
{"local build", developmentVersion, "(devel)", developmentVersion},
|
|
{"missing build info", developmentVersion, "", developmentVersion},
|
|
{"preview one install", developmentVersion, "v0.1.0-preview.1", "v0.1.0-preview.1"},
|
|
{"preview two install", developmentVersion, "v0.1.0-preview.2", "v0.1.0-preview.2"},
|
|
{"release install", developmentVersion, "v1.0.0", "v1.0.0"},
|
|
{"linker override", "v0.1.0-preview.2", "(devel)", "v0.1.0-preview.2"},
|
|
{"pseudo version", developmentVersion, "v0.0.0-20260814120000-0123456789ab", developmentVersion},
|
|
{"pseudo after release", developmentVersion, "v0.1.1-0.20260814120000-0123456789ab", developmentVersion},
|
|
{"build metadata", developmentVersion, "v0.1.0+dirty", developmentVersion},
|
|
{"leading zero release", developmentVersion, "v00.1.0", developmentVersion},
|
|
{"leading zero prerelease", developmentVersion, "v0.1.0-preview.02", developmentVersion},
|
|
}
|
|
for _, test := range tests {
|
|
test := test
|
|
t.Run(test.name, func(t *testing.T) {
|
|
t.Parallel()
|
|
if got := selectVersion(test.linker, test.module); got != test.want {
|
|
t.Fatalf("selectVersion(%q, %q)=%q want %q", test.linker, test.module, got, test.want)
|
|
}
|
|
})
|
|
}
|
|
}
|