From: David Crawshaw Date: Mon, 18 Apr 2016 08:50:19 +0000 (-0400) Subject: reflect: test that method name offset is valid X-Git-Tag: go1.7beta1~619 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=2e2df78ae9c2c5e96cce99bccebd5a22f30d6a1a;p=gostls13.git reflect: test that method name offset is valid Bug fix went in CL 21396, this is a matching test. Fixes #15343 Change-Id: I3670145c7cac45cb4fb3121ffc039cfb7fa7c87a Reviewed-on: https://go-review.googlesource.com/22171 Reviewed-by: Ian Lance Taylor --- diff --git a/src/reflect/all_test.go b/src/reflect/all_test.go index e1b26d9c68..4dfae2743d 100644 --- a/src/reflect/all_test.go +++ b/src/reflect/all_test.go @@ -5686,3 +5686,14 @@ func TestNameBytesAreAligned(t *testing.T) { t.Errorf("reflect.name.bytes pointer is not aligned: %x", v) } } + +func TestMethodPkgPathReadable(t *testing.T) { + // Reading the Method type for an unexported method triggers an + // offset resolution via p.name.pkgPath(). Make sure it uses a + // valid base pointer for the offset. + v := ValueOf(embed{}) + m := v.Type().Method(0) + if m.PkgPath != "reflect" { + t.Errorf(`PkgPath=%q, want "reflect"`, m.PkgPath) + } +}