From: Shengjing Zhu Date: Thu, 5 Jan 2023 07:00:25 +0000 (+0800) Subject: syscall: skip TestUseCgroupFD if cgroupfs not mounted X-Git-Tag: go1.20rc3~1^2~13 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=f721fa3be9;p=gostls13.git 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 --- 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)