stretchr/testify — pull request #94 by neilconway (2014-10-31 23:22:27+00:00)
Title: Avoid relying on undefined behavior in assert.ObjectsAreEqual().

The previous assert.ObjectsAreEqual() implementation is broken in go 1.4beta1:

x := uint64(3)
log.Printf("equal? %t", assert.ObjectsAreEqual(3, x))

This prints "true" under Go 1.3 and "false" under 1.4beta1 (amd64/darwin).

The reason is that the ObjectsAreEqual() was comparing two reflect.Value values
for equality using ==, but the behavior of that operation is apparently
undefined (https://code.google.com/p/go/issues/detail?id=9034). The fix is to do
the type conversion and then do the comparison between two interface{} values.