diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 87fdea5a..da7cd7a4 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -272,347 +272,347 @@ }, { "ImportPath": "k8s.io/api/admissionregistration/v1beta1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/apps/v1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/apps/v1beta1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/apps/v1beta2", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/auditregistration/v1alpha1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/authentication/v1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/authentication/v1beta1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/authorization/v1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/authorization/v1beta1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/autoscaling/v1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/autoscaling/v2beta1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/autoscaling/v2beta2", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/batch/v1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/batch/v1beta1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/batch/v2alpha1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/certificates/v1beta1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/coordination/v1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/coordination/v1beta1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/core/v1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/events/v1beta1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/extensions/v1beta1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/imagepolicy/v1alpha1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/networking/v1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/networking/v1beta1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/policy/v1beta1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/rbac/v1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/rbac/v1alpha1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/rbac/v1beta1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/scheduling/v1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/scheduling/v1alpha1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/scheduling/v1beta1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/settings/v1alpha1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/storage/v1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/storage/v1alpha1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/api/storage/v1beta1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/apitesting", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/apitesting/fuzzer", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/apitesting/roundtrip", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/equality", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/errors", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/meta", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/resource", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/fuzzer", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/conversion", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/fields", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/labels", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/schema", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/selection", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/types", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/cache", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/clock", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/diff", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/errors", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/framer", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/httpstream", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/httpstream/spdy", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/intstr", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/json", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/naming", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/net", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/remotecommand", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/runtime", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/sets", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/validation", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/validation/field", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/wait", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/yaml", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/version", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/pkg/watch", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/netutil", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect", - "Rev": "ece2eb519b35dd4e85d2f93857bc7e9846d21083" + "Rev": "34682963544009672129d6e4b708ff1bb0ff376f" }, { "ImportPath": "k8s.io/klog", diff --git a/examples/fake-client/main_test.go b/examples/fake-client/main_test.go index 6f83c3e8..f478a013 100644 --- a/examples/fake-client/main_test.go +++ b/examples/fake-client/main_test.go @@ -23,6 +23,7 @@ import ( "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/util/wait" "k8s.io/client-go/informers" "k8s.io/client-go/kubernetes/fake" "k8s.io/client-go/tools/cache" @@ -30,8 +31,8 @@ import ( // TestFakeClient demonstrates how to use a fake client with SharedInformerFactory in tests. func TestFakeClient(t *testing.T) { - // Use a timeout to keep the test from hanging. - ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() // Create the fake client. client := fake.NewSimpleClientset() @@ -45,7 +46,6 @@ func TestFakeClient(t *testing.T) { pod := obj.(*v1.Pod) t.Logf("pod added: %s/%s", pod.Namespace, pod.Name) pods <- pod - cancel() }, }) @@ -55,23 +55,19 @@ func TestFakeClient(t *testing.T) { // This is not required in tests, but it serves as a proof-of-concept by // ensuring that the informer goroutine have warmed up and called List before // we send any events to it. - for !podInformer.HasSynced() { - time.Sleep(10 * time.Millisecond) - } + cache.WaitForCacheSync(ctx.Done(), podInformer.HasSynced) // Inject an event into the fake client. p := &v1.Pod{ObjectMeta: metav1.ObjectMeta{Name: "my-pod"}} _, err := client.CoreV1().Pods("test-ns").Create(p) if err != nil { - t.Errorf("error injecting pod add: %v", err) + t.Fatalf("error injecting pod add: %v", err) } - // Wait and check result. - <-ctx.Done() select { case pod := <-pods: t.Logf("Got pod from channel: %s/%s", pod.Namespace, pod.Name) - default: + case <-time.After(wait.ForeverTestTimeout): t.Error("Informer did not get the added pod") } }