Skip to content

Commit d8a94a2

Browse files
committed
fix: fix version flag test
1 parent 1b3f031 commit d8a94a2

File tree

3 files changed

+17
-13
lines changed

3 files changed

+17
-13
lines changed

pkg/version/flag.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import (
1616
"strings"
1717

1818
flag "github.com/spf13/pflag"
19-
"k8s.io/component-base/version"
2019
)
2120

2221
type versionValue int
@@ -44,7 +43,7 @@ func (v *versionValue) Set(s string) error {
4443
}
4544

4645
if strings.HasPrefix(s, "v") {
47-
err := version.SetDynamicVersion(s)
46+
err := SetDynamicVersion(s)
4847
if err == nil {
4948
value, _ := strconv.Atoi(s)
5049
*v = versionValue(value)
@@ -98,9 +97,8 @@ func AddFlags(fs *flag.FlagSet) {
9897

9998
// variables for unit testing PrintAndExitIfRequested
10099
var (
101-
appName = "onex-apiserver"
102-
output = io.Writer(os.Stdout)
103-
exit = os.Exit
100+
output = io.Writer(os.Stdout)
101+
exit = os.Exit
104102
)
105103

106104
// PrintAndExitIfRequested will check if the -version flag was passed

pkg/version/flag_test.go

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,13 @@ import (
66
"strings"
77
"testing"
88

9-
"github.com/spf13/pflag"
10-
"k8s.io/component-base/version"
9+
flag "github.com/spf13/pflag"
1110
)
1211

1312
func TestVersionFlag(t *testing.T) {
14-
initialFlagValue := int(*versionFlag)
13+
appName := "onex-test"
14+
initialFlagValue := *versionFlag
1515
initialVersion := Get()
16-
1716
testcases := []struct {
1817
name string
1918
flags []string
@@ -66,6 +65,13 @@ func TestVersionFlag(t *testing.T) {
6665
flags: []string{"--version=v0.0.0-custom"},
6766
expectGitVersion: "v0.0.0-custom",
6867
},
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+
},
6975
{
7076
name: "invalid override semver",
7177
flags: []string{"--version=vX"},
@@ -103,13 +109,13 @@ func TestVersionFlag(t *testing.T) {
103109
output = originalOutput
104110
exit = originalExit
105111
*versionFlag = versionValue(initialFlagValue)
106-
err := version.SetDynamicVersion(initialVersion.GitVersion)
112+
err := SetDynamicVersion(initialVersion.GitVersion)
107113
if err != nil {
108114
t.Fatal(err)
109115
}
110116
})
111117

112-
fs := pflag.NewFlagSet("test", pflag.ContinueOnError)
118+
fs := flag.NewFlagSet("test", flag.ContinueOnError)
113119
AddFlags(fs)
114120
err := fs.Parse(tc.flags)
115121
if tc.expectError != "" {
@@ -124,7 +130,7 @@ func TestVersionFlag(t *testing.T) {
124130
t.Fatalf("unexpected parse error: %v", err)
125131
}
126132

127-
if e, a := tc.expectGitVersion, version.Get().GitVersion; e != a {
133+
if e, a := tc.expectGitVersion, Get().GitVersion; e != a {
128134
t.Fatalf("gitversion: expected %v, got %v", e, a)
129135
}
130136

pkg/version/version.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ func Get() Info {
8282
// These variables typically come from -ldflags settings and in
8383
// their absence fallback to the settings in pkg/version/base.go
8484
return Info{
85-
GitVersion: gitVersion,
85+
GitVersion: dynamicGitVersion.Load().(string),
8686
GitCommit: gitCommit,
8787
GitTreeState: gitTreeState,
8888
BuildDate: buildDate,

0 commit comments

Comments
 (0)