Fix tests using user namespaces on kernels that don't have it

Disable various tests if the kernel doesn't support unprivileged user
namespaces (e.g. Arch Linux disables them) or disable them via a sysctl
(Debian, Ubuntu).

Fixes #1521
Fixes #1625
This commit is contained in:
Tuomas Tynkkynen 2018-01-13 15:18:35 +02:00
parent 74f75c8558
commit 59086e459c
4 changed files with 33 additions and 16 deletions

View file

@ -87,6 +87,24 @@ killDaemon() {
trap "" EXIT
}
canUseSandbox() {
if [[ $(uname) != Linux ]]; then return 1; fi
if [ ! -L /proc/self/ns/user ]; then
echo "Kernel doesn't support user namespaces, skipping this test..."
return 1
fi
if [ -e /proc/sys/kernel/unprivileged_userns_clone ]; then
if [ "$(cat /proc/sys/kernel/unprivileged_userns_clone)" != 1 ]; then
echo "Unprivileged user namespaces disabled by sysctl, skipping this test..."
return 1
fi
fi
return 0
}
fail() {
echo "$1"
exit 1