mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
syscall: skip TestUnshareMountNameSpaceChroot on platforms that require external linking
TestUnshareMountNameSpaceChroot attempts to build a statically-linked binary to run in a chroot, and sets CGO_ENABLED=0 in order to do so. Rather than trying to figure out some other way to coax the linker into building a static binary, let's just skip the test on Linux platforms that require external linking (namely android/arm). This should fix the build failure reported in https://build.golang.org/log/1ea245a9c2e916c81043db177be76778bab00058. While we're here, let's also fix the failure logging to make the text readable! Updates #46330. Change-Id: I4fa07640ce012ac141bf4698bc3215a7f146062c Reviewed-on: https://go-review.googlesource.com/c/go/+/522182 Auto-Submit: Bryan Mills <bcmills@google.com> Run-TryBot: Bryan Mills <bcmills@google.com> Reviewed-by: Heschi Kreinick <heschi@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
parent
fe2c686b63
commit
db24f63b10
1 changed files with 5 additions and 1 deletions
|
|
@ -10,6 +10,7 @@ import (
|
|||
"bytes"
|
||||
"flag"
|
||||
"fmt"
|
||||
"internal/platform"
|
||||
"internal/testenv"
|
||||
"io"
|
||||
"os"
|
||||
|
|
@ -285,6 +286,9 @@ func TestUnshareMountNameSpaceChroot(t *testing.T) {
|
|||
// Since we are doing a chroot, we need the binary there,
|
||||
// and it must be statically linked.
|
||||
testenv.MustHaveGoBuild(t)
|
||||
if platform.MustLinkExternal(runtime.GOOS, runtime.GOARCH, false) {
|
||||
t.Skipf("skipping: can't build static binary because %s/%s requires external linking", runtime.GOOS, runtime.GOARCH)
|
||||
}
|
||||
x := filepath.Join(d, "syscall.test")
|
||||
t.Cleanup(func() {
|
||||
// If the subprocess fails to unshare the parent directory, force-unmount it
|
||||
|
|
@ -297,7 +301,7 @@ func TestUnshareMountNameSpaceChroot(t *testing.T) {
|
|||
cmd := testenv.Command(t, testenv.GoToolPath(t), "test", "-c", "-o", x, "syscall")
|
||||
cmd.Env = append(cmd.Environ(), "CGO_ENABLED=0")
|
||||
if o, err := cmd.CombinedOutput(); err != nil {
|
||||
t.Fatalf("Build of syscall in chroot failed, output %v, err %v", o, err)
|
||||
t.Fatalf("%v: %v\n%s", cmd, err, o)
|
||||
}
|
||||
|
||||
cmd = testenv.Command(t, "/syscall.test", "-test.run=TestUnshareMountNameSpaceChroot", "/")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue