From f721fa3be9bb52524f97b409606f9423437535e8 Mon Sep 17 00:00:00 2001 From: Shengjing Zhu Date: Thu, 5 Jan 2023 15:00:25 +0800 Subject: [PATCH] syscall: skip TestUseCgroupFD if cgroupfs not mounted When building in schroot (for building Debian package), the cgroupfs is not mounted in schroot (only sysfs is mounted). Change-Id: Ieddac7b2f334d58d832f5d84d81af812badf3720 Reviewed-on: https://go-review.googlesource.com/c/go/+/460539 TryBot-Result: Gopher Robot Auto-Submit: Ian Lance Taylor Reviewed-by: Heschi Kreinick Reviewed-by: Ian Lance Taylor Run-TryBot: Ian Lance Taylor --- src/syscall/exec_linux_test.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/syscall/exec_linux_test.go b/src/syscall/exec_linux_test.go index 1e21fffaef..a6900f9033 100644 --- a/src/syscall/exec_linux_test.go +++ b/src/syscall/exec_linux_test.go @@ -505,8 +505,9 @@ func prepareCgroupFD(t *testing.T) (int, string) { // Need an ability to create a sub-cgroup. subCgroup, err := os.MkdirTemp(prefix+string(bytes.TrimSpace(cg)), "subcg-") if err != nil { - // Running in an unprivileged container, this may also return EROFS #57262. - if os.IsPermission(err) || errors.Is(err, syscall.EROFS) { + // ErrPermission or EROFS (#57262) when running in an unprivileged container. + // ErrNotExist when cgroupfs is not mounted in chroot/schroot. + if os.IsNotExist(err) || os.IsPermission(err) || errors.Is(err, syscall.EROFS) { t.Skip(err) } t.Fatal(err) -- 2.50.0