feat: preserve fixed upstream versions with fork suffixes
This commit is contained in:
1 parent
d6cf715a4a
commit
54a7b1e6d8
4 files changed
+201
-23
No files matched your search
@@ -12,3 +12,89 @@ func TestParseVersion(t *testing.T) {
|
||||
t.Fatal("version does not match")
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseTaggedVersion(t *testing.T) {
|
||||
version, err := parseTaggedVersion("v0.10.50-meda.2", "v")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if version.major != 0 || version.minor != 10 || version.patch != 50 {
|
||||
t.Fatalf("base version does not match: %+v", version)
|
||||
}
|
||||
if !version.hasSuffix || version.suffixLabel != "meda" || version.suffixRevision != 2 {
|
||||
t.Fatalf("suffix does not match: %+v", version)
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseVersionRejectsSuffix(t *testing.T) {
|
||||
if _, _, _, err := parseVersion("v0.10.50-meda.2", "v"); err == nil {
|
||||
t.Fatal("expected suffixed version to be rejected")
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetEnvActionInput(t *testing.T) {
|
||||
t.Setenv("BUMP", "")
|
||||
t.Setenv("SUFFIX", "")
|
||||
t.Setenv("INPUT_BUMP", "suffix")
|
||||
t.Setenv("INPUT_SUFFIX", "meda")
|
||||
|
||||
if value := getEnv("BUMP", ""); value != "suffix" {
|
||||
t.Fatalf("expected suffix bump, got %s", value)
|
||||
}
|
||||
if value := getEnv("SUFFIX", ""); value != "meda" {
|
||||
t.Fatalf("expected meda suffix, got %s", value)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCalculateSuffixVersion(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
version taggedVersion
|
||||
suffix string
|
||||
expected string
|
||||
expectsErr bool
|
||||
}{
|
||||
{
|
||||
name: "first suffix",
|
||||
version: taggedVersion{major: 0, minor: 10, patch: 50},
|
||||
suffix: "meda",
|
||||
expected: "v0.10.50-meda.1",
|
||||
},
|
||||
{
|
||||
name: "increment suffix",
|
||||
version: taggedVersion{major: 0, minor: 10, patch: 50, suffixLabel: "meda", suffixRevision: 1, hasSuffix: true},
|
||||
suffix: "meda",
|
||||
expected: "v0.10.50-meda.2",
|
||||
},
|
||||
{
|
||||
name: "missing label",
|
||||
version: taggedVersion{major: 0, minor: 10, patch: 50},
|
||||
expectsErr: true,
|
||||
},
|
||||
{
|
||||
name: "label mismatch",
|
||||
version: taggedVersion{major: 0, minor: 10, patch: 50, suffixLabel: "meda", suffixRevision: 1, hasSuffix: true},
|
||||
suffix: "other",
|
||||
expectsErr: true,
|
||||
},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
actual, err := calculateSuffixVersion(test.version, test.suffix, "v")
|
||||
if test.expectsErr {
|
||||
if err == nil {
|
||||
t.Fatal("expected an error")
|
||||
}
|
||||
return
|
||||
}
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if actual != test.expected {
|
||||
t.Fatalf("expected %s, got %s", test.expected, actual)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user