From 14c50f3c3ab40b6018d19e8be9e1ed26e8522be7 Mon Sep 17 00:00:00 2001 From: "Dr. Stefan Schimanski" Date: Mon, 24 Jul 2017 10:24:05 +0200 Subject: [PATCH] apimachinery: fail early with deepcopy problems during roundtrip tests --- .../apimachinery/pkg/api/testing/roundtrip/roundtrip.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/staging/src/k8s.io/apimachinery/pkg/api/testing/roundtrip/roundtrip.go b/staging/src/k8s.io/apimachinery/pkg/api/testing/roundtrip/roundtrip.go index 1d452aa8047..e109e832b83 100644 --- a/staging/src/k8s.io/apimachinery/pkg/api/testing/roundtrip/roundtrip.go +++ b/staging/src/k8s.io/apimachinery/pkg/api/testing/roundtrip/roundtrip.go @@ -276,6 +276,12 @@ func roundTrip(t *testing.T, scheme *runtime.Scheme, codec runtime.Codec, object object = copied.(runtime.Object) name := reflect.TypeOf(object).Elem().Name() + // catch deepcopy errors early + if !apiequality.Semantic.DeepEqual(original, object) { + t.Errorf("%v: DeepCopy did not lead to equal object, diff: %v", name, diff.ObjectReflectDiff(original, object)) + return + } + // encode (serialize) the deep copy using the provided codec data, err := runtime.Encode(codec, object) if err != nil {