mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-29 22:46:12 +00:00
Deflake TestPrepareRun
This commit is contained in:
parent
f8151b121f
commit
ba4aade23a
@ -40,6 +40,7 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/runtime/serializer"
|
"k8s.io/apimachinery/pkg/runtime/serializer"
|
||||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
"k8s.io/apimachinery/pkg/version"
|
"k8s.io/apimachinery/pkg/version"
|
||||||
"k8s.io/apiserver/pkg/apis/example"
|
"k8s.io/apiserver/pkg/apis/example"
|
||||||
examplev1 "k8s.io/apiserver/pkg/apis/example/v1"
|
examplev1 "k8s.io/apiserver/pkg/apis/example/v1"
|
||||||
@ -320,6 +321,7 @@ func TestPrepareRun(t *testing.T) {
|
|||||||
server := httptest.NewServer(s.Handler.Director)
|
server := httptest.NewServer(s.Handler.Director)
|
||||||
defer server.Close()
|
defer server.Close()
|
||||||
done := make(chan struct{})
|
done := make(chan struct{})
|
||||||
|
defer close(done)
|
||||||
|
|
||||||
s.PrepareRun()
|
s.PrepareRun()
|
||||||
s.RunPostStartHooks(done)
|
s.RunPostStartHooks(done)
|
||||||
@ -329,10 +331,19 @@ func TestPrepareRun(t *testing.T) {
|
|||||||
assert.NoError(err)
|
assert.NoError(err)
|
||||||
assert.Equal(http.StatusOK, resp.StatusCode)
|
assert.Equal(http.StatusOK, resp.StatusCode)
|
||||||
|
|
||||||
|
// wait for health (max-in-flight-filter is initialized asynchronously, can take a few milliseconds to initialize)
|
||||||
|
assert.NoError(wait.PollImmediate(100*time.Millisecond, wait.ForeverTestTimeout, func() (bool, error) {
|
||||||
// healthz checks are installed in PrepareRun
|
// healthz checks are installed in PrepareRun
|
||||||
resp, err = http.Get(server.URL + "/healthz")
|
resp, err = http.Get(server.URL + "/healthz")
|
||||||
assert.NoError(err)
|
assert.NoError(err)
|
||||||
assert.Equal(http.StatusOK, resp.StatusCode)
|
data, _ := ioutil.ReadAll(resp.Body)
|
||||||
|
if http.StatusOK != resp.StatusCode {
|
||||||
|
t.Logf("got %d", resp.StatusCode)
|
||||||
|
t.Log(string(data))
|
||||||
|
return false, nil
|
||||||
|
}
|
||||||
|
return true, nil
|
||||||
|
}))
|
||||||
resp, err = http.Get(server.URL + "/healthz/ping")
|
resp, err = http.Get(server.URL + "/healthz/ping")
|
||||||
assert.NoError(err)
|
assert.NoError(err)
|
||||||
assert.Equal(http.StatusOK, resp.StatusCode)
|
assert.Equal(http.StatusOK, resp.StatusCode)
|
||||||
|
Loading…
Reference in New Issue
Block a user