Signed-off-by: Jan Safranek <jsafr...@redhat.com> --- tests/tools/cgconfigparser/Makefile.am | 5 +- .../cgconfigparser_conf_files/permissions.conf | 42 ++++++++++++++++++++ tests/tools/cgconfigparser/permissions | 38 ++++++++++++++++++ 3 files changed, 83 insertions(+), 2 deletions(-) create mode 100644 tests/tools/cgconfigparser/cgconfigparser_conf_files/permissions.conf create mode 100755 tests/tools/cgconfigparser/permissions
diff --git a/tests/tools/cgconfigparser/Makefile.am b/tests/tools/cgconfigparser/Makefile.am index 0866813..1bf0ef8 100644 --- a/tests/tools/cgconfigparser/Makefile.am +++ b/tests/tools/cgconfigparser/Makefile.am @@ -3,6 +3,7 @@ EXTRA_DIST = cgconfigparser_simple \ cgconfigparser_conf_files/cgconfig.conf.5.ex1 \ cgconfigparser_conf_files/cgconfig.conf.5.ex2 \ cgconfigparser_conf_files/cgconfig.conf.5.ex3 \ - cgconfigparser_conf_files/cgconfig.conf.5.ex4 + cgconfigparser_conf_files/cgconfig.conf.5.ex4 \ + cgconfigparser_conf_files/permissions.conf -TESTS = cgconfigparser_simple cgconfigparser_conf_files_tests +TESTS = cgconfigparser_simple cgconfigparser_conf_files_tests permissions diff --git a/tests/tools/cgconfigparser/cgconfigparser_conf_files/permissions.conf b/tests/tools/cgconfigparser/cgconfigparser_conf_files/permissions.conf new file mode 100644 index 0000000..e61f4e1 --- /dev/null +++ b/tests/tools/cgconfigparser/cgconfigparser_conf_files/permissions.conf @@ -0,0 +1,42 @@ + mount { + cpu = /TMP/cgroups/cpu; + cpuacct = /TMP/cgroups/cpu; + } + + group daemons/www { + perm { + task { + uid = root; + gid = nobody; + fperm = 750; + } + admin { + uid = root; + gid = root; + dperm = 770; + fperm = 777; + } + } + cpu { + cpu.shares = "1000"; + } + } + + group daemons/ftp { + perm { + task { + uid = root; + gid = nobody; + fperm = 274; + } + admin { + uid = root; + gid = root; + dperm = 742; + fperm = 427; + } + } + cpu { + cpu.shares = "500"; + } + } diff --git a/tests/tools/cgconfigparser/permissions b/tests/tools/cgconfigparser/permissions new file mode 100755 index 0000000..2caba3f --- /dev/null +++ b/tests/tools/cgconfigparser/permissions @@ -0,0 +1,38 @@ +#!/bin/bash +# this script tests fperm and dperm configuration options + + +. `dirname $0`/../testenv.sh + +CONFDIR=$TESTDIR/tools/cgconfigparser/cgconfigparser_conf_files + +# all mount points are in /$TMP/cgroups +mkdir /$TMP/cgroups/ 2>/dev/null +$TOOLSDIR/cgconfigparser -l `prepare_config $CONFDIR/permissions.conf` || \ + die "cgconfigparser -l $CONFDIR/permissions.conf failed" + +# permissions test +function check_perm() +{ + STEP=$1 + FILENAME=$2 + EXPECTED=$3 + REAL=`stat -c "%a" $FILENAME` + if [ "$EXPECTED" != "$REAL" ]; then + die "$STEP: Wrong permissions of $FILENAME,"\ + " expected $EXPECTED, actual $REAL" + fi +} + +check_perm "STEP1" "/$TMP/cgroups/cpu/daemons/www" 770 +check_perm "STEP1" "/$TMP/cgroups/cpu/daemons/www/cpu.shares" 666 +check_perm "STEP1" "/$TMP/cgroups/cpu/daemons/www/tasks" 640 + +check_perm "STEP1" "/$TMP/cgroups/cpu/daemons/ftp" 742 +check_perm "STEP1" "/$TMP/cgroups/cpu/daemons/ftp/cpu.shares" 426 +check_perm "STEP1" "/$TMP/cgroups/cpu/daemons/ftp/tasks" 264 + +$TOOLSDIR/cgclear || die "cgclear failed" + +cleanup +exit 0 ------------------------------------------------------------------------------ EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev _______________________________________________ Libcg-devel mailing list Libcg-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libcg-devel