From b3304c49ad160fdd8f21eafe6f002ea3ffbd6b55 Mon Sep 17 00:00:00 2001 From: Tim Hockin Date: Thu, 5 Mar 2015 20:55:32 -0800 Subject: [PATCH] Use deep spew in serialization test & go obj diff --- pkg/api/serialization_test.go | 9 ++++++--- pkg/util/diff.go | 5 +++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/pkg/api/serialization_test.go b/pkg/api/serialization_test.go index 25caa9a5928..f59f8fbb66e 100644 --- a/pkg/api/serialization_test.go +++ b/pkg/api/serialization_test.go @@ -32,6 +32,7 @@ import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta3" "github.com/GoogleCloudPlatform/kubernetes/pkg/runtime" "github.com/GoogleCloudPlatform/kubernetes/pkg/util" + "github.com/davecgh/go-spew/spew" flag "github.com/spf13/pflag" ) @@ -52,20 +53,22 @@ func fuzzInternalObject(t *testing.T, forVersion string, item runtime.Object, se } func roundTrip(t *testing.T, codec runtime.Codec, item runtime.Object) { + printer := spew.ConfigState{DisableMethods: true} + name := reflect.TypeOf(item).Elem().Name() data, err := codec.Encode(item) if err != nil { - t.Errorf("%v: %v (%#v)", name, err, item) + t.Errorf("%v: %v (%s)", name, err, printer.Sprintf("%#v", item)) return } obj2, err := codec.Decode(data) if err != nil { - t.Errorf("0: %v: %v\nCodec: %v\nData: %s\nSource: %#v", name, err, codec, string(data), item) + t.Errorf("0: %v: %v\nCodec: %v\nData: %s\nSource: %#v", name, err, codec, string(data), printer.Sprintf("%#v", item)) return } if !api.Semantic.DeepEqual(item, obj2) { - t.Errorf("1: %v: diff: %v\nCodec: %v\nData: %s\nSource: %#v\nFinal: %#v", name, util.ObjectGoPrintDiff(item, obj2), codec, string(data), item, obj2) + t.Errorf("1: %v: diff: %v\nCodec: %v\nData: %s\nSource: %#v\nFinal: %#v", name, util.ObjectGoPrintDiff(item, obj2), codec, string(data), printer.Sprintf("%#v", item), printer.Sprintf("%#v", obj2)) return } diff --git a/pkg/util/diff.go b/pkg/util/diff.go index a06aed9d23e..dd5057beec4 100644 --- a/pkg/util/diff.go +++ b/pkg/util/diff.go @@ -67,9 +67,10 @@ func ObjectDiff(a, b interface{}) string { // can't figure out why reflect.DeepEqual is returning false and nothing is // showing you differences. This will. func ObjectGoPrintDiff(a, b interface{}) string { + s := spew.ConfigState{DisableMethods: true} return StringDiff( - spew.Sprintf("%#v", a), - spew.Sprintf("%#v", b), + s.Sprintf("%#v", a), + s.Sprintf("%#v", b), ) }