From f406c6bde7a328dbb0774d2adb61132e0a2aa515 Mon Sep 17 00:00:00 2001 From: Yecheng Fu Date: Wed, 16 Jan 2019 17:17:16 +0800 Subject: [PATCH] Fix flaky test TestBindAPIUpdate --- .../volume/persistentvolume/scheduler_binder_test.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkg/controller/volume/persistentvolume/scheduler_binder_test.go b/pkg/controller/volume/persistentvolume/scheduler_binder_test.go index a3792ecec7..30fcaccef5 100644 --- a/pkg/controller/volume/persistentvolume/scheduler_binder_test.go +++ b/pkg/controller/volume/persistentvolume/scheduler_binder_test.go @@ -471,7 +471,10 @@ func (env *testEnv) validateBind( if err != nil { t.Errorf("Test %q failed: GetPV %q returned error: %v", name, pv.Name, err) } - if !reflect.DeepEqual(cachedPV, pv) { + // Cache may be overridden by API object with higher version, compare but ignore resource version. + newCachedPV := cachedPV.DeepCopy() + newCachedPV.ResourceVersion = pv.ResourceVersion + if !reflect.DeepEqual(newCachedPV, pv) { t.Errorf("Test %q failed: cached PV check failed [A-expected, B-got]:\n%s", name, diff.ObjectDiff(pv, cachedPV)) } } @@ -496,7 +499,10 @@ func (env *testEnv) validateProvision( if err != nil { t.Errorf("Test %q failed: GetPVC %q returned error: %v", name, getPVCName(pvc), err) } - if !reflect.DeepEqual(cachedPVC, pvc) { + // Cache may be overridden by API object with higher version, compare but ignore resource version. + newCachedPVC := cachedPVC.DeepCopy() + newCachedPVC.ResourceVersion = pvc.ResourceVersion + if !reflect.DeepEqual(newCachedPVC, pvc) { t.Errorf("Test %q failed: cached PVC check failed [A-expected, B-got]:\n%s", name, diff.ObjectDiff(pvc, cachedPVC)) } }