mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 17:30:00 +00:00
Make serialization tests easier to debug
This commit is contained in:
parent
cbce3a1ab8
commit
502492f3ed
@ -69,7 +69,7 @@ func roundTrip(t *testing.T, codec runtime.Codec, item runtime.Object) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if !api.Semantic.DeepEqual(item, obj2) {
|
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), printer.Sprintf("%#v", item), printer.Sprintf("%#v", obj2))
|
t.Errorf("1: %v: diff: %v\nCodec: %v\nSource:\n\n%#v\n\nEncoded:\n\n%s\n\nFinal:\n\n%#v", name, util.ObjectGoPrintDiff(item, obj2), codec, printer.Sprintf("%#v", item), string(data), printer.Sprintf("%#v", obj2))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -103,12 +103,7 @@ func TestSpecificKind(t *testing.T) {
|
|||||||
defer api.Scheme.Log(nil)
|
defer api.Scheme.Log(nil)
|
||||||
|
|
||||||
kind := "PodList"
|
kind := "PodList"
|
||||||
item, err := api.Scheme.New("", kind)
|
doRoundTripTest(kind, t)
|
||||||
if err != nil {
|
|
||||||
t.Errorf("Couldn't make a %v? %v", kind, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
roundTripSame(t, item)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
@ -138,21 +133,25 @@ func TestRoundTripTypes(t *testing.T) {
|
|||||||
}
|
}
|
||||||
// Try a few times, since runTest uses random values.
|
// Try a few times, since runTest uses random values.
|
||||||
for i := 0; i < *fuzzIters; i++ {
|
for i := 0; i < *fuzzIters; i++ {
|
||||||
item, err := api.Scheme.New("", kind)
|
doRoundTripTest(kind, t)
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("Couldn't make a %v? %v", kind, err)
|
|
||||||
}
|
|
||||||
if _, err := meta.TypeAccessor(item); err != nil {
|
|
||||||
t.Fatalf("%q is not a TypeMeta and cannot be tested - add it to nonRoundTrippableTypes: %v", kind, err)
|
|
||||||
}
|
|
||||||
roundTripSame(t, item, nonRoundTrippableTypesByVersion[kind]...)
|
|
||||||
if !nonInternalRoundTrippableTypes.Has(kind) {
|
|
||||||
roundTrip(t, api.Codec, fuzzInternalObject(t, "", item, rand.Int63()))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func doRoundTripTest(kind string, t *testing.T) {
|
||||||
|
item, err := api.Scheme.New("", kind)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Couldn't make a %v? %v", kind, err)
|
||||||
|
}
|
||||||
|
if _, err := meta.TypeAccessor(item); err != nil {
|
||||||
|
t.Fatalf("%q is not a TypeMeta and cannot be tested - add it to nonRoundTrippableTypes: %v", kind, err)
|
||||||
|
}
|
||||||
|
roundTripSame(t, item, nonRoundTrippableTypesByVersion[kind]...)
|
||||||
|
if !nonInternalRoundTrippableTypes.Has(kind) {
|
||||||
|
roundTrip(t, api.Codec, fuzzInternalObject(t, "", item, rand.Int63()))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestEncode_Ptr(t *testing.T) {
|
func TestEncode_Ptr(t *testing.T) {
|
||||||
grace := int64(30)
|
grace := int64(30)
|
||||||
pod := &api.Pod{
|
pod := &api.Pod{
|
||||||
|
Loading…
Reference in New Issue
Block a user