...
1
2
3
4
5 package gocommand
6
7 import (
8 "strconv"
9 "testing"
10 )
11
12 func TestParseGoVersionOutput(t *testing.T) {
13 tests := []struct {
14 args string
15 want string
16 }{
17 {"go version go1.12 linux/amd64", "go1.12"},
18 {"go version go1.18.1 darwin/amd64", "go1.18.1"},
19 {"go version go1.19.rc1 windows/arm64", "go1.19.rc1"},
20 {"go version devel d5de62df152baf4de6e9fe81933319b86fd95ae4 linux/386", "devel d5de62df152baf4de6e9fe81933319b86fd95ae4"},
21 {"go version devel go1.20-1f068f0dc7 Tue Oct 18 20:58:37 2022 +0000 darwin/amd64", "devel go1.20-1f068f0dc7"},
22 {"v1.19.1 foo/bar", ""},
23 }
24 for i, tt := range tests {
25 t.Run(strconv.Itoa(i), func(t *testing.T) {
26 if got := ParseGoVersionOutput(tt.args); got != tt.want {
27 t.Errorf("parseGoVersionOutput() = %v, want %v", got, tt.want)
28 }
29 })
30 }
31 }
32
View as plain text