aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLynn Boger <laboger@linux.vnet.ibm.com>2021-04-09 10:41:27 -0500
committerLynn Boger <laboger@linux.vnet.ibm.com>2021-04-12 18:32:27 +0000
commit07b2fee4607aa6c710411a7ac404f18be4dff6f7 (patch)
tree5f4f4266462d9dda4f7164629f131e07cdcf7678 /src
parent849dba07a5392d2f137deeaa9e797f907c00d0bd (diff)
downloadgo-07b2fee4607aa6c710411a7ac404f18be4dff6f7.tar.xz
cmd/link: fix TestLargeText
This test is not run in short mode so it was getting failures that didn't happen with default testing. See the issue for details on the failures. Fixes #45406 Change-Id: I51d97cc4c910fe3ba2bc0a12742023a57d101f44 Reviewed-on: https://go-review.googlesource.com/c/go/+/308935 Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Paul Murphy <murp@ibm.com> Reviewed-by: Cherry Zhang <cherryyz@google.com> Trust: Lynn Boger <laboger@linux.vnet.ibm.com>
Diffstat (limited to 'src')
-rw-r--r--src/cmd/link/linkbig_test.go15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/cmd/link/linkbig_test.go b/src/cmd/link/linkbig_test.go
index d5d77d6c72..917bd9e8a3 100644
--- a/src/cmd/link/linkbig_test.go
+++ b/src/cmd/link/linkbig_test.go
@@ -14,7 +14,6 @@ import (
"fmt"
"internal/testenv"
"io/ioutil"
- "os"
"os/exec"
"testing"
)
@@ -29,6 +28,10 @@ func TestLargeText(t *testing.T) {
const FN = 4
tmpdir := t.TempDir()
+ if err := ioutil.WriteFile(tmpdir+"/go.mod", []byte("module big_test\n"), 0666); err != nil {
+ t.Fatal(err)
+ }
+
// Generate the scenario where the total amount of text exceeds the
// limit for the jmp/call instruction, on RISC architectures like ppc64le,
// which is 2^26. When that happens the call requires special trampolines or
@@ -80,26 +83,28 @@ func TestLargeText(t *testing.T) {
}
// Build and run with internal linking.
- os.Chdir(tmpdir)
cmd := exec.Command(testenv.GoToolPath(t), "build", "-o", "bigtext")
+ cmd.Dir = tmpdir
out, err := cmd.CombinedOutput()
if err != nil {
t.Fatalf("Build failed for big text program with internal linking: %v, output: %s", err, out)
}
- cmd = exec.Command(tmpdir + "/bigtext")
+ cmd = exec.Command("./bigtext")
+ cmd.Dir = tmpdir
out, err = cmd.CombinedOutput()
if err != nil {
t.Fatalf("Program built with internal linking failed to run with err %v, output: %s", err, out)
}
// Build and run with external linking
- os.Chdir(tmpdir)
cmd = exec.Command(testenv.GoToolPath(t), "build", "-o", "bigtext", "-ldflags", "'-linkmode=external'")
+ cmd.Dir = tmpdir
out, err = cmd.CombinedOutput()
if err != nil {
t.Fatalf("Build failed for big text program with external linking: %v, output: %s", err, out)
}
- cmd = exec.Command(tmpdir + "/bigtext")
+ cmd = exec.Command("./bigtext")
+ cmd.Dir = tmpdir
out, err = cmd.CombinedOutput()
if err != nil {
t.Fatalf("Program built with external linking failed to run with err %v, output: %s", err, out)