dangogh opened a new issue #3539: lib/go-tc -- nullable vs non-nullable structs different URL: https://github.com/apache/trafficcontrol/issues/3539 I wrote a test a while ago that compares nullable structs vs non-nullable using reflection. The test is not run by default yet (protected by `nullable` tag), but running it manually reveals a number of inconsistencies that should be fixed. Note that one line must be removed from the test because the struct it compares (DeliveryServiceV12) had been removed: ``` $ cd lib/go-tc; go test -tags nullable --- FAIL: TestNullStructs (0.00s) nullable_test.go:96: tc.ASN.LastUpdated (string) and tc.ASNNullable.LastUpdated (*tc.TimeNoMod) have mismatched types nullable_test.go:71: tc.DeliveryService has 3 fields, but tc.DeliveryServiceNullable has 4 nullable_test.go:112: field ConsistentHashRegex found on tc.DeliveryService but not tc.DeliveryServiceNullable nullable_test.go:71: tc.DeliveryServiceV11 has 54 fields, but tc.DeliveryServiceNullableV11 has 56 nullable_test.go:84: field DeepCachingType found on tc.DeliveryServiceV11 but not tc.DeliveryServiceNullableV11 nullable_test.go:84: field DNSBypassCname found on tc.DeliveryServiceV11 but not tc.DeliveryServiceNullableV11 nullable_test.go:96: tc.DeliveryServiceV11.InitialDispersion (float32) and tc.DeliveryServiceNullableV11.InitialDispersion (*int) have mismatched types nullable_test.go:84: field TRResponseHeaders found on tc.DeliveryServiceV11 but not tc.DeliveryServiceNullableV11 nullable_test.go:112: field DNSBypassCNAME found on tc.DeliveryServiceV11 but not tc.DeliveryServiceNullableV11 nullable_test.go:112: field GeoLimitCountries found on tc.DeliveryServiceV11 but not tc.DeliveryServiceNullableV11 nullable_test.go:112: field GeoLimitRedirectURL found on tc.DeliveryServiceV11 but not tc.DeliveryServiceNullableV11 nullable_test.go:112: field OriginShield found on tc.DeliveryServiceV11 but not tc.DeliveryServiceNullableV11 nullable_test.go:112: field SSLKeyVersion found on tc.DeliveryServiceV11 but not tc.DeliveryServiceNullableV11 nullable_test.go:71: tc.Profile has 10 fields, but tc.ProfileNullable has 9 nullable_test.go:84: field Parameter found on tc.Profile but not tc.ProfileNullable nullable_test.go:96: tc.SteeringTarget.DeliveryServiceID (int) and tc.SteeringTargetNullable.DeliveryServiceID (*uint64) have mismatched types nullable_test.go:96: tc.SteeringTarget.TargetID (int) and tc.SteeringTargetNullable.TargetID (*uint64) have mismatched types FAIL exit status 1 FAIL github.com/apache/trafficcontrol/lib/go-tc 0.027s
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
