...
1
16
17 package klog_test
18
19 import (
20 "bytes"
21 "flag"
22 "regexp"
23 "testing"
24
25 "k8s.io/klog/v2"
26 )
27
28 func TestVerbosity(t *testing.T) {
29 state := klog.CaptureState()
30 defer state.Restore()
31
32 var fs flag.FlagSet
33 klog.InitFlags(&fs)
34 if err := fs.Set("v", "5"); err != nil {
35 t.Fatalf("unexpected error: %v", err)
36 }
37 if err := fs.Set("vmodule", "klogr_helper_test=10"); err != nil {
38 t.Fatalf("unexpected error: %v", err)
39 }
40 if err := fs.Set("logtostderr", "false"); err != nil {
41 t.Fatalf("unexpected error: %v", err)
42 }
43 var buffer bytes.Buffer
44 klog.SetOutput(&buffer)
45 logger := klog.Background()
46
47
48 logger.V(6).Info("v6 not visible from klogr_test.go")
49 if logger.V(6).Enabled() {
50 t.Error("V(6).Enabled() in klogr_test.go should have returned false.")
51 }
52 logger.V(5).Info("v5 visible from klogr_test.go")
53 if !logger.V(5).Enabled() {
54 t.Error("V(5).Enabled() in klogr_test.go should have returned true.")
55 }
56
57
58 testVerbosity(t, logger)
59
60 klog.Flush()
61 expected := `^.*v5 visible from klogr_test.go.*
62 .*v10 visible from klogr_helper_test.go.*
63 `
64 if !regexp.MustCompile(expected).Match(buffer.Bytes()) {
65 t.Errorf("Output did not match regular expression.\nOutput:\n%s\n\nRegular expression:\n%s\n", buffer.String(), expected)
66 }
67 }
68
View as plain text