Merge pull request #108228 from AllenZMC/imporve_code_specification

fix defer in for loop, maybe resource leak

Kubernetes-commit: 7852ba093ddd28b4a6770e472d6b1ea59a2b9b24
This commit is contained in:
Kubernetes Publisher 2022-03-01 19:27:13 -08:00
commit 8428013c0a
3 changed files with 46 additions and 31 deletions

22
go.mod
View File

@ -31,15 +31,15 @@ require (
github.com/stretchr/testify v1.7.0 github.com/stretchr/testify v1.7.0
golang.org/x/sys v0.0.0-20220209214540-3681064d5158 golang.org/x/sys v0.0.0-20220209214540-3681064d5158
gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v2 v2.4.0
k8s.io/api v0.0.0-20220223060836-860906f3df41 k8s.io/api v0.0.0-20220226220324-b8c40e080bc5
k8s.io/apimachinery v0.0.0-20220223180110-57893b822e17 k8s.io/apimachinery v0.0.0-20220226220127-2936d3f03931
k8s.io/cli-runtime v0.0.0-20220221182607-1d7a7893878d k8s.io/cli-runtime v0.0.0-20220221182607-1d7a7893878d
k8s.io/client-go v0.0.0-20220223220919-cc43a708a08e k8s.io/client-go v0.0.0-20220301020630-8e46da3fd12b
k8s.io/component-base v0.0.0-20220224180730-a553b65c5b50 k8s.io/component-base v0.0.0-20220301021127-30d23418100a
k8s.io/component-helpers v0.0.0-20220221181225-89b3c2ca20da k8s.io/component-helpers v0.0.0-20220221181225-89b3c2ca20da
k8s.io/klog/v2 v2.40.1 k8s.io/klog/v2 v2.40.1
k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65
k8s.io/metrics v0.0.0-20220221182457-ef134ca0a988 k8s.io/metrics v0.0.0-20220226221914-c3436e2d97c9
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9
sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2
sigs.k8s.io/kustomize/kustomize/v4 v4.4.1 sigs.k8s.io/kustomize/kustomize/v4 v4.4.1
@ -48,12 +48,12 @@ require (
) )
replace ( replace (
k8s.io/api => k8s.io/api v0.0.0-20220223060836-860906f3df41 k8s.io/api => k8s.io/api v0.0.0-20220226220324-b8c40e080bc5
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20220223180110-57893b822e17 k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20220226220127-2936d3f03931
k8s.io/cli-runtime => k8s.io/cli-runtime v0.0.0-20220221182607-1d7a7893878d k8s.io/cli-runtime => k8s.io/cli-runtime v0.0.0-20220221182607-1d7a7893878d
k8s.io/client-go => k8s.io/client-go v0.0.0-20220223220919-cc43a708a08e k8s.io/client-go => k8s.io/client-go v0.0.0-20220301020630-8e46da3fd12b
k8s.io/code-generator => k8s.io/code-generator v0.0.0-20220221175922-0c4a6d91c95d k8s.io/code-generator => k8s.io/code-generator v0.0.0-20220226191723-8d7923dd2451
k8s.io/component-base => k8s.io/component-base v0.0.0-20220224180730-a553b65c5b50 k8s.io/component-base => k8s.io/component-base v0.0.0-20220301021127-30d23418100a
k8s.io/component-helpers => k8s.io/component-helpers v0.0.0-20220221181225-89b3c2ca20da k8s.io/component-helpers => k8s.io/component-helpers v0.0.0-20220221181225-89b3c2ca20da
k8s.io/metrics => k8s.io/metrics v0.0.0-20220221182457-ef134ca0a988 k8s.io/metrics => k8s.io/metrics v0.0.0-20220226221914-c3436e2d97c9
) )

22
go.sum
View File

@ -919,17 +919,17 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
k8s.io/api v0.0.0-20220223060836-860906f3df41 h1:POies0e3Srv3E11eNXQ/rsSkYEjVGgEUm0EjPAhbXOE= k8s.io/api v0.0.0-20220226220324-b8c40e080bc5 h1:z4oqfOInb6p7EwsJbKUe2IcKaeSBWmfYEIsIdFHq6ak=
k8s.io/api v0.0.0-20220223060836-860906f3df41/go.mod h1:yCyzcivy4x5q7/J89ZAVZ4hyNaWQ0xclW3Q0EVO/+O0= k8s.io/api v0.0.0-20220226220324-b8c40e080bc5/go.mod h1:xmVR3mDgBB2FAJoueQFwuWn03L5odGCiOKivsptcgRU=
k8s.io/apimachinery v0.0.0-20220223180110-57893b822e17 h1:GSM4GXZgU3ikAm/brF5fVMwLHWh9H9R3eJDNu4wktnQ= k8s.io/apimachinery v0.0.0-20220226220127-2936d3f03931 h1:pb7vtSnIF7dReuA6s+WsakFL6vLZ4xA71kJMln9j4Pc=
k8s.io/apimachinery v0.0.0-20220223180110-57893b822e17/go.mod h1:6HjHJr7AD3yHuu+gOdE3O1dqE21lBVCDBk5W7wry/WI= k8s.io/apimachinery v0.0.0-20220226220127-2936d3f03931/go.mod h1:6HjHJr7AD3yHuu+gOdE3O1dqE21lBVCDBk5W7wry/WI=
k8s.io/cli-runtime v0.0.0-20220221182607-1d7a7893878d h1:kVNVC7PpJTDg8Q3FZqZ0l8a46jambiYt3cx9SQRtvhQ= k8s.io/cli-runtime v0.0.0-20220221182607-1d7a7893878d h1:kVNVC7PpJTDg8Q3FZqZ0l8a46jambiYt3cx9SQRtvhQ=
k8s.io/cli-runtime v0.0.0-20220221182607-1d7a7893878d/go.mod h1:C/IVuWJzuw8sMRBUUqFdI2VPQQ/drnZ4FWItz2FMfYc= k8s.io/cli-runtime v0.0.0-20220221182607-1d7a7893878d/go.mod h1:C/IVuWJzuw8sMRBUUqFdI2VPQQ/drnZ4FWItz2FMfYc=
k8s.io/client-go v0.0.0-20220223220919-cc43a708a08e h1:r/P2uF57kN077M3gF+80GocaHebezzYeJTJnDn7/iYU= k8s.io/client-go v0.0.0-20220301020630-8e46da3fd12b h1:2OxK6XlDGvXIwEp+5zeiTfrQi/orFdNgsISyxZzhUvY=
k8s.io/client-go v0.0.0-20220223220919-cc43a708a08e/go.mod h1:YuHUFJ4rAxrbRqkrAaeTJSjAwhEQ9TACMkMOuybDnJA= k8s.io/client-go v0.0.0-20220301020630-8e46da3fd12b/go.mod h1:X+9ONiZCJ4K5521TlOgbcMrYFvkjacBd90IPckfzTac=
k8s.io/code-generator v0.0.0-20220221175922-0c4a6d91c95d/go.mod h1:BunYIiSvEAW736r5Q7j7shOSPkb80INs0kWYJvW2o6I= k8s.io/code-generator v0.0.0-20220226191723-8d7923dd2451/go.mod h1:BunYIiSvEAW736r5Q7j7shOSPkb80INs0kWYJvW2o6I=
k8s.io/component-base v0.0.0-20220224180730-a553b65c5b50 h1:wn//u47z2jz+aTLTnze34akx+X9vJUoEISqgefRYdRg= k8s.io/component-base v0.0.0-20220301021127-30d23418100a h1:ZEEAhoBrshp9Dskp4Cu01GWusuSj7rxqT9gpGHPT87M=
k8s.io/component-base v0.0.0-20220224180730-a553b65c5b50/go.mod h1:a+90xMwo7527AND+5CRdc0pkkwUbrMIPMCQEs4SJU7g= k8s.io/component-base v0.0.0-20220301021127-30d23418100a/go.mod h1:GxjPIEe+u2ujTZ5FAWeI72IXLuFY8otpmXIeWIP0G7M=
k8s.io/component-helpers v0.0.0-20220221181225-89b3c2ca20da h1:DHznXI/E7tE7qoDM5VPAljGMJxOOogXGyomShHt0taw= k8s.io/component-helpers v0.0.0-20220221181225-89b3c2ca20da h1:DHznXI/E7tE7qoDM5VPAljGMJxOOogXGyomShHt0taw=
k8s.io/component-helpers v0.0.0-20220221181225-89b3c2ca20da/go.mod h1:MzBcxeXXL5/4kCYuPlCDOpLIxf3hj/qRUgoruFvVO+Y= k8s.io/component-helpers v0.0.0-20220221181225-89b3c2ca20da/go.mod h1:MzBcxeXXL5/4kCYuPlCDOpLIxf3hj/qRUgoruFvVO+Y=
k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
@ -942,8 +942,8 @@ k8s.io/klog/v2 v2.40.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw=
k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 h1:E3J9oCLlaobFUqsjG9DfKbP2BmgwBL2p7pn0A3dG9W4= k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 h1:E3J9oCLlaobFUqsjG9DfKbP2BmgwBL2p7pn0A3dG9W4=
k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk=
k8s.io/metrics v0.0.0-20220221182457-ef134ca0a988 h1:Wqy28C/aPZA82h0gMcaQjHv1D1B8Wz76w+EVq2zhnqk= k8s.io/metrics v0.0.0-20220226221914-c3436e2d97c9 h1:56Nw8/AfiFfrr/L8Fp9AILPc3p7n/BNjTZ33hUXdvMM=
k8s.io/metrics v0.0.0-20220221182457-ef134ca0a988/go.mod h1:Vl5KTdhmHPeRNbGEM6a4+YllwkL1nd1eazdlX/cH3F4= k8s.io/metrics v0.0.0-20220226221914-c3436e2d97c9/go.mod h1:Z6C8J/7E0eMJBY3HQbQlZjS742Kqu/nS9LWawqE6968=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19Vz2GdbOCyI4qqhc=
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

View File

@ -27,16 +27,31 @@ import (
) )
func TestSetupOutputWriterNoOp(t *testing.T) { func TestSetupOutputWriterNoOp(t *testing.T) {
tests := []string{"", "-"} tests := []struct {
for _, test := range tests { name string
_, _, buf, _ := genericclioptions.NewTestIOStreams() outputWriter string
f := cmdtesting.NewTestFactory() }{
defer f.Cleanup() {
name: "empty",
outputWriter: "",
},
{
name: "stdout",
outputWriter: "-",
},
}
for _, tt := range tests {
tt := tt
t.Run(tt.name, func(t *testing.T) {
_, _, buf, _ := genericclioptions.NewTestIOStreams()
f := cmdtesting.NewTestFactory()
defer f.Cleanup()
writer := setupOutputWriter(test, buf, "/some/file/that/should/be/ignored", "") writer := setupOutputWriter(tt.outputWriter, buf, "/some/file/that/should/be/ignored", "")
if writer != buf { if writer != buf {
t.Errorf("expected: %v, saw: %v", buf, writer) t.Errorf("expected: %v, saw: %v", buf, writer)
} }
})
} }
} }