From d8519ab9fa8688caa00f9fc59fb568ca68b1ffbe Mon Sep 17 00:00:00 2001 From: Julio Lopez <1953782+julio-lopez@users.noreply.github.com> Date: Fri, 24 Oct 2025 12:40:45 -0700 Subject: [PATCH] refactor(test): run cases as sub-tests (#4912) --- snapshot/policy/policy_merge_test.go | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/snapshot/policy/policy_merge_test.go b/snapshot/policy/policy_merge_test.go index 5cbe2a1b1..8a2868046 100644 --- a/snapshot/policy/policy_merge_test.go +++ b/snapshot/policy/policy_merge_test.go @@ -36,21 +36,23 @@ func ensureTypesMatch(t *testing.T, policyType, definitionType reflect.Type) { for i := range policyType.NumField() { f := policyType.Field(i) - dt, ok := definitionType.FieldByName(f.Name) - if !ok { - require.True(t, omittedDefinitionFields[definitionType.Name()+"."+f.Name], "definition field %q not found in %q", f.Name, definitionType.Name()) - continue - } + t.Run(definitionType.Name()+"_"+f.Name, func(t *testing.T) { + t.Logf("f: %v %v", definitionType.Name(), f.Name) - t.Logf("f: %v %v", definitionType.Name(), f.Name) + dt, ok := definitionType.FieldByName(f.Name) + if !ok { + require.True(t, omittedDefinitionFields[definitionType.Name()+"."+f.Name], "definition field %q not found in %q", f.Name, definitionType.Name()) + return + } - if f.Type.Kind() == reflect.Struct { - ensureTypesMatch(t, f.Type, dt.Type) - } else { - require.True(t, sourceInfoType.AssignableTo(dt.Type), "invalid type of %v.%v - %v", definitionType.Name(), dt.Name, dt.Type) - } + if f.Type.Kind() == reflect.Struct { + ensureTypesMatch(t, f.Type, dt.Type) + } else { + require.True(t, sourceInfoType.AssignableTo(dt.Type), "invalid type of %v.%v - %v", definitionType.Name(), dt.Name, dt.Type) + } - require.Equal(t, f.Tag.Get("json"), dt.Tag.Get("json"), dt.Name) + require.Equal(t, f.Tag.Get("json"), dt.Tag.Get("json"), dt.Name) + }) } }