tpl: Fix test to pass with gccgo
authorIan Lance Taylor <iant@golang.org>
Fri, 9 Nov 2018 07:54:08 +0000 (02:54 -0500)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Fri, 9 Nov 2018 07:54:08 +0000 (08:54 +0100)
When run under gccgo, the test looks for the name that gccgo gives to
a thunk method.  This name is not normally visible, but can be seen
when using reflect.FuncForPC as this code does.  That name changed in
https://golang.org/cl/89555.  Change the test to work with both the
old name "$thunk0" and the new name "thunk0".

Fixes golang/go#28669

tpl/internal/templatefuncRegistry_test.go

index c21948077cfb3df7dfcfcdc5eca6544b595f863a..ec7fbeb1af343bdadfbfce555f2f76c8377a573c 100644 (file)
@@ -31,7 +31,7 @@ func TestMethodToName(t *testing.T) {
        test := &Test{}
 
        if runtime.Compiler == "gccgo" {
-               require.Equal(t, "$thunk0", methodToName(test.MyTestMethod))
+               require.Contains(t, methodToName(test.MyTestMethod), "thunk")
        } else {
                require.Equal(t, "MyTestMethod", methodToName(test.MyTestMethod))
        }