diff options
| author | Nick Khyl <nickk@tailscale.com> | 2024-12-05 13:16:48 -0600 |
|---|---|---|
| committer | Nick Khyl <nickk@tailscale.com> | 2024-12-05 13:16:48 -0600 |
| commit | 0267fe83b200f1702a2fa0a395442c02a053fadb (patch) | |
| tree | 63654c55225eeb834de59a5a0bc8d19033c6145b /version/cmp_test.go | |
| parent | 87546a5edf6b6503a87eeb2d666baba57398a066 (diff) | |
| download | tailscale-1.78.0.tar.xz tailscale-1.78.0.zip | |
VERSION.txt: this is v1.78.0v1.78.0
Signed-off-by: Nick Khyl <nickk@tailscale.com>
Diffstat (limited to 'version/cmp_test.go')
| -rw-r--r-- | version/cmp_test.go | 164 |
1 files changed, 82 insertions, 82 deletions
diff --git a/version/cmp_test.go b/version/cmp_test.go index e244d5e16..59153f0dd 100644 --- a/version/cmp_test.go +++ b/version/cmp_test.go @@ -1,82 +1,82 @@ -// Copyright (c) Tailscale Inc & AUTHORS -// SPDX-License-Identifier: BSD-3-Clause - -package version_test - -import ( - "testing" - - "github.com/google/go-cmp/cmp" - "tailscale.com/tstest" - "tailscale.com/version" -) - -func TestParse(t *testing.T) { - parse := version.ExportParse - type parsed = version.ExportParsed - - tests := []struct { - version string - parsed parsed - want bool - }{ - {"1", parsed{Major: 1}, true}, - {"1.2", parsed{Major: 1, Minor: 2}, true}, - {"1.2.3", parsed{Major: 1, Minor: 2, Patch: 3}, true}, - {"1.2.3-4", parsed{Major: 1, Minor: 2, Patch: 3, ExtraCommits: 4}, true}, - {"1.2-4", parsed{Major: 1, Minor: 2, ExtraCommits: 4}, true}, - {"1.2.3-4-extra", parsed{Major: 1, Minor: 2, Patch: 3, ExtraCommits: 4}, true}, - {"1.2.3-4a-test", parsed{Major: 1, Minor: 2, Patch: 3}, true}, - {"1.2-extra", parsed{Major: 1, Minor: 2}, true}, - {"1.2.3-extra", parsed{Major: 1, Minor: 2, Patch: 3}, true}, - {"date.20200612", parsed{Datestamp: 20200612}, true}, - {"borkbork", parsed{}, false}, - {"1a.2.3", parsed{}, false}, - {"", parsed{}, false}, - } - - for _, test := range tests { - gotParsed, got := parse(test.version) - if got != test.want { - t.Errorf("version(%q) = %v, want %v", test.version, got, test.want) - } - if diff := cmp.Diff(gotParsed, test.parsed); diff != "" { - t.Errorf("parse(%q) diff (-got+want):\n%s", test.version, diff) - } - err := tstest.MinAllocsPerRun(t, 0, func() { - gotParsed, got = parse(test.version) - }) - if err != nil { - t.Errorf("parse(%q): %v", test.version, err) - } - } -} - -func TestAtLeast(t *testing.T) { - tests := []struct { - v, m string - want bool - }{ - {"1", "1", true}, - {"1.2", "1", true}, - {"1.2.3", "1", true}, - {"1.2.3-4", "1", true}, - {"0.98-0", "0.98", true}, - {"0.97.1-216", "0.98", false}, - {"0.94", "0.98", false}, - {"0.98", "0.98", true}, - {"0.98.0-0", "0.98", true}, - {"1.2.3-4", "1.2.4-4", false}, - {"1.2.3-4", "1.2.3-4", true}, - {"date.20200612", "date.20200612", true}, - {"date.20200701", "date.20200612", true}, - {"date.20200501", "date.20200612", false}, - } - - for _, test := range tests { - got := version.AtLeast(test.v, test.m) - if got != test.want { - t.Errorf("AtLeast(%q, %q) = %v, want %v", test.v, test.m, got, test.want) - } - } -} +// Copyright (c) Tailscale Inc & AUTHORS
+// SPDX-License-Identifier: BSD-3-Clause
+
+package version_test
+
+import (
+ "testing"
+
+ "github.com/google/go-cmp/cmp"
+ "tailscale.com/tstest"
+ "tailscale.com/version"
+)
+
+func TestParse(t *testing.T) {
+ parse := version.ExportParse
+ type parsed = version.ExportParsed
+
+ tests := []struct {
+ version string
+ parsed parsed
+ want bool
+ }{
+ {"1", parsed{Major: 1}, true},
+ {"1.2", parsed{Major: 1, Minor: 2}, true},
+ {"1.2.3", parsed{Major: 1, Minor: 2, Patch: 3}, true},
+ {"1.2.3-4", parsed{Major: 1, Minor: 2, Patch: 3, ExtraCommits: 4}, true},
+ {"1.2-4", parsed{Major: 1, Minor: 2, ExtraCommits: 4}, true},
+ {"1.2.3-4-extra", parsed{Major: 1, Minor: 2, Patch: 3, ExtraCommits: 4}, true},
+ {"1.2.3-4a-test", parsed{Major: 1, Minor: 2, Patch: 3}, true},
+ {"1.2-extra", parsed{Major: 1, Minor: 2}, true},
+ {"1.2.3-extra", parsed{Major: 1, Minor: 2, Patch: 3}, true},
+ {"date.20200612", parsed{Datestamp: 20200612}, true},
+ {"borkbork", parsed{}, false},
+ {"1a.2.3", parsed{}, false},
+ {"", parsed{}, false},
+ }
+
+ for _, test := range tests {
+ gotParsed, got := parse(test.version)
+ if got != test.want {
+ t.Errorf("version(%q) = %v, want %v", test.version, got, test.want)
+ }
+ if diff := cmp.Diff(gotParsed, test.parsed); diff != "" {
+ t.Errorf("parse(%q) diff (-got+want):\n%s", test.version, diff)
+ }
+ err := tstest.MinAllocsPerRun(t, 0, func() {
+ gotParsed, got = parse(test.version)
+ })
+ if err != nil {
+ t.Errorf("parse(%q): %v", test.version, err)
+ }
+ }
+}
+
+func TestAtLeast(t *testing.T) {
+ tests := []struct {
+ v, m string
+ want bool
+ }{
+ {"1", "1", true},
+ {"1.2", "1", true},
+ {"1.2.3", "1", true},
+ {"1.2.3-4", "1", true},
+ {"0.98-0", "0.98", true},
+ {"0.97.1-216", "0.98", false},
+ {"0.94", "0.98", false},
+ {"0.98", "0.98", true},
+ {"0.98.0-0", "0.98", true},
+ {"1.2.3-4", "1.2.4-4", false},
+ {"1.2.3-4", "1.2.3-4", true},
+ {"date.20200612", "date.20200612", true},
+ {"date.20200701", "date.20200612", true},
+ {"date.20200501", "date.20200612", false},
+ }
+
+ for _, test := range tests {
+ got := version.AtLeast(test.v, test.m)
+ if got != test.want {
+ t.Errorf("AtLeast(%q, %q) = %v, want %v", test.v, test.m, got, test.want)
+ }
+ }
+}
|
