From 5c7f206b2514f4a44644d5d643e708095b67ce4f Mon Sep 17 00:00:00 2001 From: novahe Date: Tue, 11 Mar 2025 17:41:37 +0800 Subject: [PATCH] Fix test cases that may potentially cause a panic. Kubernetes-commit: 9e53371ddaaeab4083fde45e43c803071238e686 --- discovery/cached/disk/cached_discovery_test.go | 1 + discovery/cached/memory/memcache_test.go | 3 +++ discovery/discovery_client_test.go | 6 ++++++ tools/portforward/tunneling_connection_test.go | 8 ++++++++ transport/websocket/roundtripper_test.go | 3 +++ 5 files changed, 21 insertions(+) diff --git a/discovery/cached/disk/cached_discovery_test.go b/discovery/cached/disk/cached_discovery_test.go index 3f2970fc..94cbfc8b 100644 --- a/discovery/cached/disk/cached_discovery_test.go +++ b/discovery/cached/disk/cached_discovery_test.go @@ -352,6 +352,7 @@ func TestCachedDiscoveryClientUnaggregatedServerGroups(t *testing.T) { output, err := json.Marshal(body) if err != nil { t.Errorf("unexpected error %v", err) + return } // Content-type is "unaggregated" discovery format -- no resources returned. w.Header().Set("Content-Type", discovery.AcceptV1) diff --git a/discovery/cached/memory/memcache_test.go b/discovery/cached/memory/memcache_test.go index 8af236e4..f33ded83 100644 --- a/discovery/cached/memory/memcache_test.go +++ b/discovery/cached/memory/memcache_test.go @@ -589,6 +589,7 @@ func TestMemCacheGroupsAndMaybeResources(t *testing.T) { output, err := json.Marshal(body) if err != nil { t.Errorf("unexpected error %v", err) + return } // Content-type is "unaggregated" discovery format -- no resources returned. w.Header().Set("Content-Type", discovery.AcceptV1) @@ -1120,6 +1121,7 @@ func TestAggregatedMemCacheGroupsAndMaybeResources(t *testing.T) { output, err := json.Marshal(agg) if err != nil { t.Errorf("unexpected error %v", err) + return } // Content-type is "aggregated" discovery format. w.Header().Set("Content-Type", discovery.AcceptV2) @@ -1420,6 +1422,7 @@ func TestMemCacheAggregatedServerGroups(t *testing.T) { output, err := json.Marshal(agg) if err != nil { t.Errorf("unexpected error %v", err) + return } // Content-type is "aggregated" discovery format. w.Header().Set("Content-Type", discovery.AcceptV2Beta1) diff --git a/discovery/discovery_client_test.go b/discovery/discovery_client_test.go index 126df703..7f369806 100644 --- a/discovery/discovery_client_test.go +++ b/discovery/discovery_client_test.go @@ -1325,6 +1325,7 @@ func TestAggregatedServerGroups(t *testing.T) { output, err = json.Marshal(agg) if err != nil { t.Errorf("unexpected error %v", err) + return } // Content-Type is "aggregated" discovery format. Add extra parameter // to ensure we are resilient to these extra parameters. @@ -1333,6 +1334,7 @@ func TestAggregatedServerGroups(t *testing.T) { _, err = w.Write(output) if err != nil { t.Errorf("unexpected error %v", err) + return } })) defer server.Close() @@ -2399,6 +2401,7 @@ func TestAggregatedServerGroupsAndResources(t *testing.T) { output, err = json.Marshal(agg) if err != nil { t.Errorf("unexpected error %v", err) + return } } else { var agg *apidiscoveryv2beta1.APIGroupDiscoveryList @@ -2414,6 +2417,7 @@ func TestAggregatedServerGroupsAndResources(t *testing.T) { output, err = json.Marshal(&agg) if err != nil { t.Errorf("unexpected error %v", err) + return } } // Content-Type is "aggregated" discovery format. Add extra parameter @@ -2565,6 +2569,7 @@ func TestAggregatedServerGroupsAndResourcesWithErrors(t *testing.T) { output, err = json.Marshal(agg) if err != nil { t.Errorf("unexpected error %v", err) + return } // Content-Type is "aggregated" discovery format. Add extra parameter // to ensure we are resilient to these extra parameters. @@ -3182,6 +3187,7 @@ func TestAggregatedServerPreferredResources(t *testing.T) { output, err = json.Marshal(agg) if err != nil { t.Errorf("unexpected error %v", err) + return } // Content-Type is "aggregated" discovery format. Add extra parameter // to ensure we are resilient to these extra parameters. diff --git a/tools/portforward/tunneling_connection_test.go b/tools/portforward/tunneling_connection_test.go index efc4a3ee..afbdb6b0 100644 --- a/tools/portforward/tunneling_connection_test.go +++ b/tools/portforward/tunneling_connection_test.go @@ -53,15 +53,18 @@ func TestTunnelingConnection_ReadWriteClose(t *testing.T) { conn, err := upgrader.Upgrade(w, req, nil) if err != nil { t.Errorf("unexpected error %v", err) + return } defer conn.Close() //nolint:errcheck if conn.Subprotocol() != constants.WebsocketsSPDYTunnelingPortForwardV1 { t.Errorf("Not acceptable agreement Subprotocol: %v", conn.Subprotocol()) + return } tunnelingConn := NewTunnelingConnection("server", conn) spdyConn, err := spdy.NewServerConnection(tunnelingConn, justQueueStream(streamChan)) if err != nil { t.Errorf("unexpected error %v", err) + return } defer spdyConn.Close() //nolint:errcheck <-stopServerChan @@ -85,10 +88,12 @@ func TestTunnelingConnection_ReadWriteClose(t *testing.T) { clientStream, err := spdyClient.CreateStream(http.Header{}) if err != nil { t.Errorf("unexpected error %v", err) + return } _, err = io.Copy(clientStream, strings.NewReader(expected)) if err != nil { t.Errorf("unexpected error %v", err) + return } clientStream.Close() //nolint:errcheck }() @@ -114,6 +119,7 @@ func TestTunnelingConnection_LocalRemoteAddress(t *testing.T) { conn, err := upgrader.Upgrade(w, req, nil) if err != nil { t.Errorf("unexpected error %v", err) + return } defer conn.Close() //nolint:errcheck if conn.Subprotocol() != constants.WebsocketsSPDYTunnelingPortForwardV1 { @@ -150,10 +156,12 @@ func TestTunnelingConnection_ReadWriteDeadlines(t *testing.T) { conn, err := upgrader.Upgrade(w, req, nil) if err != nil { t.Errorf("unexpected error %v", err) + return } defer conn.Close() //nolint:errcheck if conn.Subprotocol() != constants.WebsocketsSPDYTunnelingPortForwardV1 { t.Errorf("Not acceptable agreement Subprotocol: %v", conn.Subprotocol()) + return } <-stopServerChan })) diff --git a/transport/websocket/roundtripper_test.go b/transport/websocket/roundtripper_test.go index 96169bb4..903dd0c0 100644 --- a/transport/websocket/roundtripper_test.go +++ b/transport/websocket/roundtripper_test.go @@ -115,15 +115,18 @@ func TestWebSocketRoundTripper_RoundTripperFails(t *testing.T) { statusBytes, err := runtime.Encode(encoder, testCase.status) if err != nil { t.Errorf("unexpected error %v", err) + return } _, err = w.Write(statusBytes) if err != nil { t.Errorf("unexpected error %v", err) + return } } else if len(testCase.body) > 0 { _, err := w.Write([]byte(testCase.body)) if err != nil { t.Errorf("unexpected error %v", err) + return } } }))