Merge pull request #118539 from benluddy/timeout-filter-flake
Ensure timeout test handlers don't complete before timing out. Kubernetes-commit: 666fc23fe4d6c84b1dde2b8d4ebf75fce466d338
This commit is contained in:
commit
d76c5f8644
|
@ -272,6 +272,8 @@ func TestTimeoutRequestHeaders(t *testing.T) {
|
|||
})
|
||||
}
|
||||
|
||||
testDone := make(chan struct{})
|
||||
defer close(testDone)
|
||||
ts := httptest.NewServer(
|
||||
withDeadline(
|
||||
WithTimeoutForNonLongRunningRequests(
|
||||
|
@ -280,8 +282,13 @@ func TestTimeoutRequestHeaders(t *testing.T) {
|
|||
cancel()
|
||||
// mutate request Headers
|
||||
// Authorization filter does it for example
|
||||
for j := 0; j < 10000; j++ {
|
||||
req.Header.Set("Test", "post")
|
||||
for {
|
||||
select {
|
||||
case <-testDone:
|
||||
return
|
||||
default:
|
||||
req.Header.Set("Test", "post")
|
||||
}
|
||||
}
|
||||
}),
|
||||
func(r *http.Request, requestInfo *request.RequestInfo) bool {
|
||||
|
@ -301,8 +308,8 @@ func TestTimeoutRequestHeaders(t *testing.T) {
|
|||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if res.StatusCode != http.StatusGatewayTimeout {
|
||||
t.Errorf("got res.StatusCde %d; expected %d", res.StatusCode, http.StatusServiceUnavailable)
|
||||
if actual, expected := res.StatusCode, http.StatusGatewayTimeout; actual != expected {
|
||||
t.Errorf("got status code %d; expected %d", actual, expected)
|
||||
}
|
||||
res.Body.Close()
|
||||
}
|
||||
|
@ -323,6 +330,8 @@ func TestTimeoutWithLogging(t *testing.T) {
|
|||
})
|
||||
}
|
||||
|
||||
testDone := make(chan struct{})
|
||||
defer close(testDone)
|
||||
ts := httptest.NewServer(
|
||||
WithHTTPLogging(
|
||||
withDeadline(
|
||||
|
@ -332,8 +341,13 @@ func TestTimeoutWithLogging(t *testing.T) {
|
|||
cancel()
|
||||
// mutate request Headers
|
||||
// Authorization filter does it for example
|
||||
for j := 0; j < 10000; j++ {
|
||||
req.Header.Set("Test", "post")
|
||||
for {
|
||||
select {
|
||||
case <-testDone:
|
||||
return
|
||||
default:
|
||||
req.Header.Set("Test", "post")
|
||||
}
|
||||
}
|
||||
}),
|
||||
func(r *http.Request, requestInfo *request.RequestInfo) bool {
|
||||
|
@ -354,8 +368,8 @@ func TestTimeoutWithLogging(t *testing.T) {
|
|||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if res.StatusCode != http.StatusGatewayTimeout {
|
||||
t.Errorf("got res.StatusCode %d; expected %d", res.StatusCode, http.StatusServiceUnavailable)
|
||||
if actual, expected := res.StatusCode, http.StatusGatewayTimeout; actual != expected {
|
||||
t.Errorf("got status code %d; expected %d", actual, expected)
|
||||
}
|
||||
res.Body.Close()
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue