...
1
16
17 package benchmark
18
19 import (
20 "flag"
21 "fmt"
22 "os"
23 "strings"
24 "testing"
25
26 "k8s.io/apimachinery/pkg/util/runtime"
27 "k8s.io/component-base/featuregate"
28 "k8s.io/component-base/logs"
29 logsapi "k8s.io/component-base/logs/api/v1"
30 _ "k8s.io/component-base/logs/json/register"
31 "k8s.io/kubernetes/test/utils/ktesting"
32 )
33
34 func TestMain(m *testing.M) {
35
36 ktesting.SetDefaultVerbosity(2)
37
38
39
40
41
42 var fs flag.FlagSet
43 flag.CommandLine.VisitAll(func(f *flag.Flag) {
44 switch f.Name {
45 case "log-flush-frequency", "v", "vmodule":
46
47 default:
48 fs.Var(f.Value, f.Name, f.Usage)
49 }
50 })
51 flag.CommandLine = &fs
52
53 featureGate := featuregate.NewFeatureGate()
54 runtime.Must(logsapi.AddFeatureGates(featureGate))
55 flag.Var(featureGate, "feature-gate",
56 "A set of key=value pairs that describe feature gates for alpha/experimental features. "+
57 "Options are:\n"+strings.Join(featureGate.KnownFeatures(), "\n"))
58 c := logsapi.NewLoggingConfiguration()
59
60
61 logsapi.AddGoFlags(c, flag.CommandLine)
62
63 flag.Parse()
64
65 logs.InitLogs()
66 if err := logsapi.ValidateAndApply(c, featureGate); err != nil {
67 fmt.Fprintf(os.Stderr, "%v\n", err)
68 os.Exit(1)
69 }
70
71 m.Run()
72 }
73
View as plain text