@@ -17,17 +17,20 @@ limitations under the License.
17
17
package client_test
18
18
19
19
import (
20
+ "bytes"
21
+ "io"
20
22
"testing"
21
23
22
24
. "github.com/onsi/ginkgo/v2"
23
25
. "github.com/onsi/gomega"
24
26
"k8s.io/client-go/kubernetes"
25
27
"k8s.io/client-go/kubernetes/scheme"
26
28
"k8s.io/client-go/rest"
29
+ "k8s.io/klog/v2"
27
30
"sigs.k8s.io/controller-runtime/examples/crd/pkg"
28
31
"sigs.k8s.io/controller-runtime/pkg/envtest"
29
32
30
- logf "sigs.k8s.io/controller-runtime/pkg/log"
33
+ ctrllog "sigs.k8s.io/controller-runtime/pkg/log"
31
34
"sigs.k8s.io/controller-runtime/pkg/log/zap"
32
35
)
33
36
@@ -36,12 +39,23 @@ func TestClient(t *testing.T) {
36
39
RunSpecs (t , "Client Suite" )
37
40
}
38
41
39
- var testenv * envtest.Environment
40
- var cfg * rest.Config
41
- var clientset * kubernetes.Clientset
42
+ var (
43
+ testenv * envtest.Environment
44
+ cfg * rest.Config
45
+ clientset * kubernetes.Clientset
46
+
47
+ // Used by tests to inspect controller and client log messages.
48
+ log bytes.Buffer
49
+ )
42
50
43
51
var _ = BeforeSuite (func () {
44
- logf .SetLogger (zap .New (zap .WriteTo (GinkgoWriter ), zap .UseDevMode (true )))
52
+ // Forwards logs to ginkgo output, and allows tests to inspect logs.
53
+ mw := io .MultiWriter (& log , GinkgoWriter )
54
+
55
+ // controller-runtime logs using ctrllog
56
+ ctrllog .SetLogger (zap .New (zap .WriteTo (mw ), zap .UseDevMode (true )).WithName ("ctrllog" ))
57
+ // client-go logs using klog
58
+ klog .SetLogger (zap .New (zap .WriteTo (mw ), zap .UseDevMode (true )).WithName ("klog" ))
45
59
46
60
testenv = & envtest.Environment {CRDDirectoryPaths : []string {"./testdata" }}
47
61
0 commit comments