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

Reply via email to