mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
syscall: skip TestCloneNEWUSERAndRemapNoRootDisableSetgroups before 3.19
The test fails on Ubuntu Trusty for some reason, probably because of some set of kernel patches. Change-Id: I52f7ca50b96fea5725817c9e9198860d419f9313 Reviewed-on: https://go-review.googlesource.com/11055 Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com>
This commit is contained in:
parent
a84ac5b507
commit
6b24da6ae8
1 changed files with 26 additions and 0 deletions
|
|
@ -7,8 +7,11 @@
|
|||
package syscall_test
|
||||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"os/exec"
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
"syscall"
|
||||
"testing"
|
||||
|
|
@ -62,10 +65,33 @@ func TestCloneNEWUSERAndRemapRootEnableSetgroups(t *testing.T) {
|
|||
testNEWUSERRemap(t, 0, false)
|
||||
}
|
||||
|
||||
// kernelVersion returns the major and minor versions of the Linux
|
||||
// kernel version. It calls t.Skip if it can't figure it out.
|
||||
func kernelVersion(t *testing.T) (int, int) {
|
||||
bytes, err := ioutil.ReadFile("/proc/version")
|
||||
if err != nil {
|
||||
t.Skipf("can't get kernel version: %v", err)
|
||||
}
|
||||
matches := regexp.MustCompile("([0-9]+).([0-9]+)").FindSubmatch(bytes)
|
||||
if len(matches) < 3 {
|
||||
t.Skipf("can't get kernel version from %s", bytes)
|
||||
}
|
||||
major, _ := strconv.Atoi(string(matches[1]))
|
||||
minor, _ := strconv.Atoi(string(matches[2]))
|
||||
return major, minor
|
||||
}
|
||||
|
||||
func TestCloneNEWUSERAndRemapNoRootDisableSetgroups(t *testing.T) {
|
||||
if os.Getuid() == 0 {
|
||||
t.Skip("skipping unprivileged user only test")
|
||||
}
|
||||
|
||||
// This test fails for some reason on Ubuntu Trusty.
|
||||
major, minor := kernelVersion(t)
|
||||
if major < 3 || (major == 3 && minor < 19) {
|
||||
t.Skipf("skipping on kernel version before 3.19 (%d.%d)", major, minor)
|
||||
}
|
||||
|
||||
testNEWUSERRemap(t, os.Getuid(), false)
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue