mirror of
https://github.com/kopia/kopia.git
synced 2026-03-26 10:01:32 -04:00
refactor(test): run cases as sub-tests (#4912)
This commit is contained in:
@@ -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)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user