diff --git a/src/tests/attach.c b/src/tests/attach.c index ee827c1ba..af03862da 100644 --- a/src/tests/attach.c +++ b/src/tests/attach.c @@ -23,6 +23,7 @@ #include "lxc/utils.h" #include "lxc/lsm/lsm.h" +#include #include #include #include @@ -39,6 +40,13 @@ static const char *lsm_config_key = NULL; static const char *lsm_label = NULL; +bool file_exists(const char *f) +{ + struct stat statbuf; + + return stat(f, &statbuf) == 0; +} + static void test_lsm_detect(void) { if (lsm_enabled()) { @@ -48,7 +56,10 @@ static void test_lsm_detect(void) } else if (!strcmp(lsm_name(), "AppArmor")) { lsm_config_key = "lxc.aa_profile"; - lsm_label = "lxc-container-default"; + if (file_exists("/proc/self/ns/cgroup")) + lsm_label = "lxc-container-default-cgns"; + else + lsm_label = "lxc-container-default"; } else { TSTERR("unknown lsm %s enabled, add test code here", lsm_name()); diff --git a/src/tests/lxc-test-apparmor-mount b/src/tests/lxc-test-apparmor-mount index e3712c7ee..0c5c7cd66 100755 --- a/src/tests/lxc-test-apparmor-mount +++ b/src/tests/lxc-test-apparmor-mount @@ -23,6 +23,12 @@ set -e +if [ -f /proc/self/ns/cgroup ]; then + default_profile="lxc-container-default-cgns (enforce)" +else + default_profile="lxc-container-default (enforce)" +fi + FAIL() { echo -n "Failed " >&2 echo "$*" >&2 @@ -144,7 +150,7 @@ run_cmd lxc-start -n $cname -d run_cmd lxc-wait -n $cname -s RUNNING pid=`run_cmd lxc-info -p -H -n $cname` profile=`cat /proc/$pid/attr/current` -if [ "x$profile" != "xlxc-container-default (enforce)" ]; then +if [ "x$profile" != "x${default_profile}" ]; then echo "FAIL: confined container was in profile $profile" exit 1 fi @@ -203,7 +209,7 @@ if [ "$pid" = "-1" ]; then exit 1 fi profile=`cat /proc/$pid/attr/current` -if [ "x$profile" != "xlxc-container-default (enforce)" ]; then +if [ "x$profile" != "x${default_profile}" ]; then echo "FAIL: confined container was in profile $profile" exit 1 fi diff --git a/src/tests/lxc-test-ubuntu b/src/tests/lxc-test-ubuntu index ff716bc0c..dc06804eb 100755 --- a/src/tests/lxc-test-ubuntu +++ b/src/tests/lxc-test-ubuntu @@ -65,7 +65,9 @@ for template in ubuntu ubuntu-cloud; do # Check apparmor lxcpid=`lxc-info -n $name -p -H` aa=`cat /proc/$lxcpid/attr/current` - if [ "$aa" != "lxc-container-default-with-nesting (enforce)" -a "$aa" != "lxc-container-default (enforce)" ]; then + if [ "$aa" != "lxc-container-default-with-nesting (enforce)" -a \ + "$aa" != "lxc-container-default-cgns (enforce)" -a \ + "$aa" != "lxc-container-default (enforce)" ]; then FAIL " to correctly set apparmor profile (profile is \"$aa\")" fi lxc-stop -n $name -k