You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/version/version_internal_test.go

63 lines
1.3 KiB
Go

// Copyright (c) Tailscale Inc & AUTHORS
// SPDX-License-Identifier: BSD-3-Clause
package version
import "testing"
func TestIsValidLongWithTwoRepos(t *testing.T) {
tests := []struct {
long string
want bool
}{
{"1.2.3-t01234abcde-g01234abcde", true},
{"1.2.259-t01234abcde-g01234abcde", true}, // big patch version
{"1.2.3-t01234abcde", false}, // missing repo
{"1.2.3-g01234abcde", false}, // missing repo
{"-t01234abcde-g01234abcde", false},
{"1.2.3", false},
{"1.2.3-t01234abcde-g", false},
{"1.2.3-t01234abcde-gERRBUILDINFO", false},
}
for _, tt := range tests {
if got := isValidLongWithTwoRepos(tt.long); got != tt.want {
t.Errorf("IsValidLongWithTwoRepos(%q) = %v; want %v", tt.long, got, tt.want)
}
}
}
func TestPrepExeNameForCmp(t *testing.T) {
cases := []struct {
exe string
want string
}{
{
"tailscale-ipn.exe",
"tailscale-ipn",
},
{
"tailscale-gui-amd64.exe",
"tailscale-gui",
},
{
"tailscale-gui-amd64",
"tailscale-gui",
},
{
"tailscale-ipn",
"tailscale-ipn",
},
{
"TaIlScAlE-iPn.ExE",
"tailscale-ipn",
},
}
for _, c := range cases {
got := prepExeNameForCmp(c.exe, "amd64")
if got != c.want {
t.Errorf("prepExeNameForCmp(%q) = %q; want %q", c.exe, got, c.want)
}
}
}