Skip to content

Commit 7997c36

Browse files
authored
Merge pull request #732 from avoltz/anvoltz/ut-fixes
fix race in unit test and add some simple tests for utils
2 parents bff8ad5 + 85d8bc0 commit 7997c36

File tree

2 files changed

+60
-13
lines changed

2 files changed

+60
-13
lines changed

pkg/csi-common/utils_test.go

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import (
2020
"bytes"
2121
"context"
2222
"flag"
23+
"io"
24+
"os"
2325
"testing"
2426

2527
"github.com/container-storage-interface/spec/lib/go/csi"
@@ -83,21 +85,9 @@ func TestParseEndpoint(t *testing.T) {
8385
}
8486

8587
func TestLogGRPC(t *testing.T) {
86-
// SET UP
87-
klog.InitFlags(nil)
88-
if e := flag.Set("logtostderr", "false"); e != nil {
89-
t.Error(e)
90-
}
91-
if e := flag.Set("alsologtostderr", "false"); e != nil {
92-
t.Error(e)
93-
}
94-
if e := flag.Set("v", "100"); e != nil {
95-
t.Error(e)
96-
}
97-
flag.Parse()
98-
9988
buf := new(bytes.Buffer)
10089
klog.SetOutput(buf)
90+
defer klog.SetOutput(io.Discard)
10191

10292
handler := func(ctx context.Context, req interface{}) (interface{}, error) { return nil, nil }
10393
info := grpc.UnaryServerInfo{
@@ -232,3 +222,12 @@ func TestGetLogLevel(t *testing.T) {
232222
}
233223
}
234224
}
225+
226+
func TestMain(m *testing.M) {
227+
klog.InitFlags(nil)
228+
_ = flag.Set("logtostderr", "false")
229+
_ = flag.Set("alsologtostderr", "false")
230+
_ = flag.Set("v", "100")
231+
klog.SetOutput(io.Discard)
232+
os.Exit(m.Run())
233+
}

pkg/util/util_test.go

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,10 @@ func TestGetMountOptions(t *testing.T) {
146146
options: []string{""},
147147
expected: "",
148148
},
149+
{
150+
options: []string{},
151+
expected: "",
152+
},
149153
}
150154

151155
for _, test := range tests {
@@ -166,3 +170,47 @@ func TestMakeDir(t *testing.T) {
166170
err = os.RemoveAll(targetTest)
167171
assert.NoError(t, err)
168172
}
173+
174+
func TestConvertTagsToMap(t *testing.T) {
175+
type StringMap map[string]string
176+
tests := []struct {
177+
tags string
178+
expected map[string]string
179+
err bool
180+
}{
181+
{
182+
tags: "",
183+
expected: StringMap{},
184+
err: false,
185+
},
186+
{
187+
tags: "key1=value1, key2=value2,key3= value3",
188+
expected: StringMap{"key1": "value1", "key2": "value2", "key3": "value3"},
189+
err: false,
190+
},
191+
{
192+
tags: " key = value ",
193+
expected: StringMap{"key": "value"},
194+
err: false,
195+
},
196+
{
197+
tags: "keyvalue",
198+
expected: nil,
199+
err: true,
200+
},
201+
{
202+
tags: " = value,=",
203+
expected: nil,
204+
err: true,
205+
},
206+
}
207+
for _, test := range tests {
208+
result, err := ConvertTagsToMap(test.tags)
209+
if test.err {
210+
assert.NotNil(t, err)
211+
} else {
212+
assert.Nil(t, err)
213+
}
214+
assert.Equal(t, result, test.expected)
215+
}
216+
}

0 commit comments

Comments
 (0)