@@ -6,14 +6,13 @@ import (
6
6
"strings"
7
7
"testing"
8
8
9
- "github.com/spf13/pflag"
10
- "k8s.io/component-base/version"
9
+ flag "github.com/spf13/pflag"
11
10
)
12
11
13
12
func TestVersionFlag (t * testing.T ) {
14
- initialFlagValue := int (* versionFlag )
13
+ appName := "onex-test"
14
+ initialFlagValue := * versionFlag
15
15
initialVersion := Get ()
16
-
17
16
testcases := []struct {
18
17
name string
19
18
flags []string
@@ -66,6 +65,13 @@ func TestVersionFlag(t *testing.T) {
66
65
flags : []string {"--version=v0.0.0-custom" },
67
66
expectGitVersion : "v0.0.0-custom" ,
68
67
},
68
+ {
69
+ name : "override and exit" ,
70
+ flags : []string {"--version=v0.0.0-custom" , "--version" },
71
+ expectGitVersion : "v0.0.0-custom" ,
72
+ expectExit : true ,
73
+ expectPrintVersion : appName + " v0.0.0-custom" ,
74
+ },
69
75
{
70
76
name : "invalid override semver" ,
71
77
flags : []string {"--version=vX" },
@@ -103,13 +109,13 @@ func TestVersionFlag(t *testing.T) {
103
109
output = originalOutput
104
110
exit = originalExit
105
111
* versionFlag = versionValue (initialFlagValue )
106
- err := version . SetDynamicVersion (initialVersion .GitVersion )
112
+ err := SetDynamicVersion (initialVersion .GitVersion )
107
113
if err != nil {
108
114
t .Fatal (err )
109
115
}
110
116
})
111
117
112
- fs := pflag .NewFlagSet ("test" , pflag .ContinueOnError )
118
+ fs := flag .NewFlagSet ("test" , flag .ContinueOnError )
113
119
AddFlags (fs )
114
120
err := fs .Parse (tc .flags )
115
121
if tc .expectError != "" {
@@ -124,7 +130,7 @@ func TestVersionFlag(t *testing.T) {
124
130
t .Fatalf ("unexpected parse error: %v" , err )
125
131
}
126
132
127
- if e , a := tc .expectGitVersion , version . Get ().GitVersion ; e != a {
133
+ if e , a := tc .expectGitVersion , Get ().GitVersion ; e != a {
128
134
t .Fatalf ("gitversion: expected %v, got %v" , e , a )
129
135
}
130
136
0 commit comments