aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKir Kolyshkin <kolyshkin@gmail.com>2022-09-07 10:30:46 -0700
committerGopher Robot <gobot@golang.org>2022-09-07 18:41:21 +0000
commite828fbdffe3318b976aa12d2aee27d4a53bc9f12 (patch)
tree46fe436c7d4fd134bacdc29ccfb3b380c6a3dd8e /src
parentdfdf55158dcfc3ef1bd436b3b9ed6daa20801fdb (diff)
downloadgo-e828fbdffe3318b976aa12d2aee27d4a53bc9f12.tar.xz
os/exec: skip TestFindExecutableVsNoexec if mount failed
Apparently, some testing environments do not allow root to mount tmpfs (due to e.g. AppArmor profile disallowing mount(2) syscall). Always skip the test if the mount has failed. Fixes the test issue introduced by CL 414824. Change-Id: Ic565d2e6f277f2926d85a351be7df2498ffba656 Reviewed-on: https://go-review.googlesource.com/c/go/+/429175 Reviewed-by: Bryan Mills <bcmills@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Bryan Mills <bcmills@google.com> Auto-Submit: Bryan Mills <bcmills@google.com> Reviewed-by: Michael Knyszek <mknyszek@google.com>
Diffstat (limited to 'src')
-rw-r--r--src/os/exec/lp_linux_test.go6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/os/exec/lp_linux_test.go b/src/os/exec/lp_linux_test.go
index 96051b5490..5d77427d89 100644
--- a/src/os/exec/lp_linux_test.go
+++ b/src/os/exec/lp_linux_test.go
@@ -23,10 +23,8 @@ func TestFindExecutableVsNoexec(t *testing.T) {
// Create a tmpfs mount.
err := syscall.Mount("tmpfs", tmp, "tmpfs", 0, "")
if err != nil {
- if os.Geteuid() == 0 {
- t.Fatalf("tmpfs mount failed: %v", err)
- }
- // Requires root or CAP_SYS_ADMIN.
+ // Usually this means lack of CAP_SYS_ADMIN, but there might be
+ // other reasons, expecially in restricted test environments.
t.Skipf("requires ability to mount tmpfs (%v)", err)
}
t.Cleanup(func() {