mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 22:17:14 +00:00
Cleanup: defer to close server in tests (#110367)
* Cleanup: defer to close server in tests Signed-off-by: kerthcet <kerthcet@gmail.com> * address comments Signed-off-by: kerthcet <kerthcet@gmail.com> * address comments Signed-off-by: kerthcet <kerthcet@gmail.com>
This commit is contained in:
parent
375fd32b9f
commit
e844c12a61
@ -129,7 +129,9 @@ func TestForwardPorts(t *testing.T) {
|
||||
}
|
||||
|
||||
for testName, test := range tests {
|
||||
t.Run(testName, func(t *testing.T) {
|
||||
server := httptest.NewServer(fakePortForwardServer(t, testName, test.serverSends, test.clientSends))
|
||||
defer server.Close()
|
||||
|
||||
transport, upgrader, err := spdy.RoundTripperFor(&restclient.Config{})
|
||||
if err != nil {
|
||||
@ -162,37 +164,34 @@ func TestForwardPorts(t *testing.T) {
|
||||
remoteToLocalMap[int32(forwardedPort.Remote)] = int32(forwardedPort.Local)
|
||||
}
|
||||
|
||||
for port, data := range test.clientSends {
|
||||
clientSend := func(port int32, data string) error {
|
||||
clientConn, err := net.Dial("tcp", fmt.Sprintf("localhost:%d", remoteToLocalMap[port]))
|
||||
if err != nil {
|
||||
t.Errorf("%s: error dialing %d: %s", testName, port, err)
|
||||
server.Close()
|
||||
continue
|
||||
return fmt.Errorf("%s: error dialing %d: %s", testName, port, err)
|
||||
|
||||
}
|
||||
defer clientConn.Close()
|
||||
|
||||
n, err := clientConn.Write([]byte(data))
|
||||
if err != nil && err != io.EOF {
|
||||
t.Errorf("%s: Error sending data '%s': %s", testName, data, err)
|
||||
server.Close()
|
||||
continue
|
||||
return fmt.Errorf("%s: Error sending data '%s': %s", testName, data, err)
|
||||
}
|
||||
if n == 0 {
|
||||
t.Errorf("%s: unexpected write of 0 bytes", testName)
|
||||
server.Close()
|
||||
continue
|
||||
return fmt.Errorf("%s: unexpected write of 0 bytes", testName)
|
||||
}
|
||||
b := make([]byte, 4)
|
||||
_, err = clientConn.Read(b)
|
||||
if err != nil && err != io.EOF {
|
||||
t.Errorf("%s: Error reading data: %s", testName, err)
|
||||
server.Close()
|
||||
continue
|
||||
return fmt.Errorf("%s: Error reading data: %s", testName, err)
|
||||
}
|
||||
if !bytes.Equal([]byte(test.serverSends[port]), b) {
|
||||
t.Errorf("%s: expected to read '%s', got '%s'", testName, test.serverSends[port], b)
|
||||
server.Close()
|
||||
continue
|
||||
return fmt.Errorf("%s: expected to read '%s', got '%s'", testName, test.serverSends[port], b)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
for port, data := range test.clientSends {
|
||||
if err := clientSend(port, data); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
// tell r.ForwardPorts to stop
|
||||
@ -203,7 +202,7 @@ func TestForwardPorts(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Errorf("%s: unexpected error: %s", testName, err)
|
||||
}
|
||||
server.Close()
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -195,6 +195,8 @@ func TestStream(t *testing.T) {
|
||||
} else {
|
||||
name = testCase.TestName + " (attach)"
|
||||
}
|
||||
|
||||
t.Run(name, func(t *testing.T) {
|
||||
var (
|
||||
streamIn io.Reader
|
||||
streamOut, streamErr io.Writer
|
||||
@ -204,6 +206,7 @@ func TestStream(t *testing.T) {
|
||||
|
||||
requestReceived := make(chan struct{})
|
||||
server := httptest.NewServer(fakeServer(t, requestReceived, name, exec, testCase.Stdin, testCase.Stdout, testCase.Stderr, testCase.Error, testCase.Tty, testCase.MessageCount, testCase.ServerProtocols))
|
||||
defer server.Close()
|
||||
|
||||
url, _ := url.ParseRequestURI(server.URL)
|
||||
config := restclient.ClientContentConfig{
|
||||
@ -243,13 +246,11 @@ func TestStream(t *testing.T) {
|
||||
}
|
||||
transport, upgradeTransport, err := spdy.RoundTripperFor(conf)
|
||||
if err != nil {
|
||||
t.Errorf("%s: unexpected error: %v", name, err)
|
||||
continue
|
||||
t.Fatalf("%s: unexpected error: %v", name, err)
|
||||
}
|
||||
e, err := remoteclient.NewSPDYExecutorForProtocols(transport, upgradeTransport, "POST", req.URL(), testCase.ClientProtocols...)
|
||||
if err != nil {
|
||||
t.Errorf("%s: unexpected error: %v", name, err)
|
||||
continue
|
||||
t.Fatalf("%s: unexpected error: %v", name, err)
|
||||
}
|
||||
err = e.Stream(remoteclient.StreamOptions{
|
||||
Stdin: streamIn,
|
||||
@ -267,26 +268,22 @@ func TestStream(t *testing.T) {
|
||||
t.Errorf("%s: expected error stream read %q, got %q", name, e, a)
|
||||
}
|
||||
}
|
||||
|
||||
server.Close()
|
||||
continue
|
||||
return
|
||||
}
|
||||
|
||||
if hasErr {
|
||||
t.Errorf("%s: unexpected error: %v", name, err)
|
||||
server.Close()
|
||||
continue
|
||||
t.Fatalf("%s: unexpected error: %v", name, err)
|
||||
}
|
||||
|
||||
if len(testCase.Stdout) > 0 {
|
||||
if e, a := strings.Repeat(testCase.Stdout, testCase.MessageCount), localOut; e != a.String() {
|
||||
t.Errorf("%s: expected stdout data %q, got %q", name, e, a)
|
||||
t.Fatalf("%s: expected stdout data %q, got %q", name, e, a)
|
||||
}
|
||||
}
|
||||
|
||||
if testCase.Stderr != "" {
|
||||
if e, a := strings.Repeat(testCase.Stderr, testCase.MessageCount), localErr; e != a.String() {
|
||||
t.Errorf("%s: expected stderr data %q, got %q", name, e, a)
|
||||
t.Fatalf("%s: expected stderr data %q, got %q", name, e, a)
|
||||
}
|
||||
}
|
||||
|
||||
@ -295,8 +292,7 @@ func TestStream(t *testing.T) {
|
||||
case <-time.After(time.Minute):
|
||||
t.Errorf("%s: expected fakeServerInstance to receive request", name)
|
||||
}
|
||||
|
||||
server.Close()
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user