78 lines
2.1 KiB
Go
78 lines
2.1 KiB
Go
package version
|
|
|
|
import (
|
|
"fmt"
|
|
"runtime"
|
|
"testing"
|
|
)
|
|
|
|
func TestGoVersion(t *testing.T) {
|
|
got := GoVersion
|
|
expected := runtime.Version()
|
|
if got != expected {
|
|
t.Errorf("Expected: %s ; Got: %s", got, expected)
|
|
}
|
|
}
|
|
|
|
func TestOsArch(t *testing.T) {
|
|
got := OsArch
|
|
expected := runtime.GOOS + " (" + runtime.GOARCH + ")"
|
|
if got != expected {
|
|
t.Errorf("Expected: %s ; Got: %s", got, expected)
|
|
}
|
|
}
|
|
|
|
func TestParseGitDescribe(t *testing.T) {
|
|
expected := []info{
|
|
info{0, 0, 0, []string{"dev"}, []string{"unknown"}},
|
|
info{0, 0, 0, []string{}, []string{"git", "feedbeef"}},
|
|
info{1, 2, 0, []string{"dev", "1"}, []string{"git", "83", "feedbeef"}},
|
|
info{1, 2, 3, []string{"dev", "1"}, []string{"git", "83", "feedbeef", "dirty"}},
|
|
info{1, 2, 3, []string{}, []string{"git", "dirty"}},
|
|
info{1, 2, 3, []string{"beta"}, []string{"git", "dirty"}},
|
|
info{1, 2, 3, []string{"rc"}, []string{}},
|
|
}
|
|
inputs := []string{
|
|
"",
|
|
"feedbeef",
|
|
"v1.2-dev.1-83-gfeedbeef",
|
|
"v1.2.3-dev.1-83-gfeedbeef-dirty",
|
|
"v1.2.3-dirty",
|
|
"v1.2.3-beta-dirty",
|
|
"v1.2.3-rc",
|
|
}
|
|
for i := 0; i < len(expected); i++ {
|
|
got := parseGitDescribe(inputs[i])
|
|
if !expected[i].Equal(got) {
|
|
t.Errorf("Got: %v, Expected: %v", got, expected[i])
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestInfoStringer(t *testing.T) {
|
|
inputs := []info{
|
|
info{0, 0, 0, []string{"dev"}, []string{"unknown"}},
|
|
info{0, 0, 0, []string{}, []string{"git", "feedbeef"}},
|
|
info{1, 2, 0, []string{"dev", "1"}, []string{"git", "83", "feedbeef"}},
|
|
info{1, 2, 3, []string{"dev", "1"}, []string{"git", "83", "feedbeef", "dirty"}},
|
|
info{1, 2, 3, []string{}, []string{"git", "dirty"}},
|
|
info{1, 2, 3, []string{"beta"}, []string{"git", "dirty"}},
|
|
info{1, 2, 3, []string{"rc"}, []string{}},
|
|
}
|
|
expected := []string{
|
|
"v0.0.0-dev+unknown",
|
|
"v0.0.0+git.feedbeef",
|
|
"v1.2.0-dev.1+git.83.feedbeef",
|
|
"v1.2.3-dev.1+git.83.feedbeef.dirty",
|
|
"v1.2.3+git.dirty",
|
|
"v1.2.3-beta+git.dirty",
|
|
"v1.2.3-rc",
|
|
}
|
|
for i := 0; i < len(expected); i++ {
|
|
got := fmt.Sprint(inputs[i])
|
|
if got != expected[i] {
|
|
t.Errorf("Got: %v, Expected: %v", got, expected[i])
|
|
}
|
|
}
|
|
}
|