Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/text/currency: TestLinking fails on ppc64le, s390x #17538

mwhudson opened this issue Oct 21, 2016 · 5 comments

x/text/currency: TestLinking fails on ppc64le, s390x #17538

mwhudson opened this issue Oct 21, 2016 · 5 comments


Copy link

@mwhudson mwhudson commented Oct 21, 2016

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?


What operating system and processor architecture are you using (go env)?

It's a ppc64le system running Ubuntu (various versions, version not important)

What did you do?

go test -v -p 1

What did you expect to see?

Tests passing

What did you see instead?

--- FAIL: TestLinking (1.68s)
currency_test.go:155: size(symbols)-size(base) was 772; want > 2K

This was part of building for the distribution, you can see the full log at:

This passes with Go 1.6. But in general this test seems to be a bit of a hostage to the future. I think I'm going to add a distro patch disabling this (and the one in dict_test.go) for now.

Copy link

@katiehockman katiehockman commented Jan 4, 2019

A similar issue is causing failures for multiple builds in text right now. The failures appear to be flaky, with no obvious culprit CL.

--- FAIL: TestLinking (2.13s)
    currency_test.go:155: size(symbols)-size(base) was 822; want > 2K
FAIL	2.169s


/cc @mpvl

Copy link

@katiehockman katiehockman commented Feb 11, 2019

This is failing pretty consistently again for linux-s390x-ibm builds of x/text.

Copy link

@ceseo ceseo commented Feb 11, 2019

/cc @laboger

Copy link

@gopherbot gopherbot commented Apr 5, 2019

Change mentions this issue: currency: disable flaky TestLinking

gopherbot pushed a commit to golang/text that referenced this issue Apr 5, 2019
It fails on a bunch of builders and it's not clear what it's testing.

It hasn't been fixed since Oct 2016 so it gets disabled.

Updates golang/go#17538

Change-Id: I0f454c46b31b8306cc604c36ec6d06cc6ad703b5
Run-TryBot: Brad Fitzpatrick <>
TryBot-Result: Gobot Gobot <>
Reviewed-by: Marcel van Lohuizen <>
Copy link

@bradfitz bradfitz commented Apr 5, 2019

If you resurrect this, see net/http's test:

// Test that cmd/go doesn't link in the HTTP server.                                                                                                                                                   
// This catches accidental dependencies between the HTTP transport and                                                                                                                                 
// server code.                                                                                                                                                                                        
func TestCmdGoNoHTTPServer(t *testing.T) {
        goBin := testenv.GoToolPath(t)
        out, err := exec.Command(goBin, "tool", "nm", goBin).CombinedOutput()
        if err != nil {
                t.Fatalf("go tool nm: %v: %s", err, out)
        wantSym := map[string]bool{
                // Verify these exist: (sanity checking this test)                                                                                                                                     
                "net/http.(*Client).Get":          true,
                "net/http.(*Transport).RoundTrip": true,

                // Verify these don't exist:                                                                                                                                                           
                "net/http.http2Server":           false,
                "net/http.(*Server).Serve":       false,
                "net/http.(*ServeMux).ServeHTTP": false,
                "net/http.DefaultServeMux":       false,
        for sym, want := range wantSym {
                got := bytes.Contains(out, []byte(sym))
                if !want && got {
                        t.Errorf("cmd/go unexpectedly links in HTTP server code; found symbol %q in cmd/go", sym)
                if want && !got {
                        t.Errorf("expected to find symbol %q in cmd/go; not found", sym)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
7 participants