forked from quic-go/quic-go
remove stray struct equality check
This check was moved to qtls.
This commit is contained in:
@@ -1,19 +0,0 @@
|
|||||||
package qtls
|
|
||||||
|
|
||||||
import "reflect"
|
|
||||||
|
|
||||||
func structsEqual(a, b interface{}) bool {
|
|
||||||
sa := reflect.ValueOf(a).Elem()
|
|
||||||
sb := reflect.ValueOf(b).Elem()
|
|
||||||
if sa.NumField() != sb.NumField() {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
for i := 0; i < sa.NumField(); i++ {
|
|
||||||
fa := sa.Type().Field(i)
|
|
||||||
fb := sb.Type().Field(i)
|
|
||||||
if !reflect.DeepEqual(fa.Index, fb.Index) || fa.Name != fb.Name || fa.Anonymous != fb.Anonymous || fa.Offset != fb.Offset || !reflect.DeepEqual(fa.Type, fb.Type) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
@@ -1,60 +0,0 @@
|
|||||||
package qtls
|
|
||||||
|
|
||||||
import (
|
|
||||||
. "github.com/onsi/ginkgo"
|
|
||||||
. "github.com/onsi/gomega"
|
|
||||||
)
|
|
||||||
|
|
||||||
type target struct {
|
|
||||||
Name string
|
|
||||||
Version string
|
|
||||||
|
|
||||||
callback func(label string, length int) error
|
|
||||||
}
|
|
||||||
|
|
||||||
type renamedField struct {
|
|
||||||
NewName string
|
|
||||||
Version string
|
|
||||||
|
|
||||||
callback func(label string, length int) error
|
|
||||||
}
|
|
||||||
|
|
||||||
type renamedPrivateField struct {
|
|
||||||
Name string
|
|
||||||
Version string
|
|
||||||
|
|
||||||
cb func(label string, length int) error
|
|
||||||
}
|
|
||||||
|
|
||||||
type additionalField struct {
|
|
||||||
Name string
|
|
||||||
Version string
|
|
||||||
|
|
||||||
callback func(label string, length int) error
|
|
||||||
secret []byte
|
|
||||||
}
|
|
||||||
|
|
||||||
type interchangedFields struct {
|
|
||||||
Version string
|
|
||||||
Name string
|
|
||||||
|
|
||||||
callback func(label string, length int) error
|
|
||||||
}
|
|
||||||
|
|
||||||
type renamedCallbackFunctionParams struct { // should be equivalent
|
|
||||||
Name string
|
|
||||||
Version string
|
|
||||||
|
|
||||||
callback func(newLabel string, length int) error
|
|
||||||
}
|
|
||||||
|
|
||||||
var _ = Describe("Unsafe checks", func() {
|
|
||||||
It("detects if an unsafe conversion is safe", func() {
|
|
||||||
Expect(structsEqual(&target{}, &target{})).To(BeTrue())
|
|
||||||
Expect(structsEqual(&target{}, &renamedField{})).To(BeFalse())
|
|
||||||
Expect(structsEqual(&target{}, &renamedPrivateField{})).To(BeFalse())
|
|
||||||
Expect(structsEqual(&target{}, &additionalField{})).To(BeFalse())
|
|
||||||
Expect(structsEqual(&target{}, &interchangedFields{})).To(BeFalse())
|
|
||||||
Expect(structsEqual(&target{}, &renamedCallbackFunctionParams{})).To(BeTrue())
|
|
||||||
})
|
|
||||||
})
|
|
||||||
Reference in New Issue
Block a user