Deflake port-forward e2e test

We should read and verify the data before actually closing the
connection to avoid connection based-races within the test.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
This commit is contained in:
Sascha Grunert 2020-05-13 08:53:28 +02:00
parent 70948498bc
commit c7648f5984
No known key found for this signature in database
GPG Key ID: 8CE029DD1A866E52

View File

@ -322,11 +322,6 @@ func doTestMustConnectSendDisconnect(bindAddress string, f *framework.Framework)
ginkgo.By("Sending the expected data to the local port")
fmt.Fprint(conn, "abc")
ginkgo.By("Closing the write half of the client's connection")
if err = conn.CloseWrite(); err != nil {
framework.Failf("Couldn't close the write half of the client's connection: %v", err)
}
ginkgo.By("Reading data from the local port")
fromServer, err := ioutil.ReadAll(conn)
if err != nil {
@ -343,6 +338,11 @@ func doTestMustConnectSendDisconnect(bindAddress string, f *framework.Framework)
framework.Failf("Expected %q from server, got %q", e, a)
}
ginkgo.By("Closing the write half of the client's connection")
if err = conn.CloseWrite(); err != nil {
framework.Failf("Couldn't close the write half of the client's connection: %v", err)
}
ginkgo.By("Waiting for the target pod to stop running")
if err := WaitForTerminatedContainer(f, pod, "portforwardtester"); err != nil {
framework.Failf("Container did not terminate: %v", err)