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

Reply via email to