On 03/10/2011 04:52 PM, Ivana Hutarova Varekova wrote: > This patch adds new test for cgconfig0parser tool > > This script tests the examples 1-4 from cgconfig.conf man pages - for each > one tests whether the configuration which is created using described > configuration file is identical with the example described below > > > changelog: > * variables renamed > * added conf files to Makefile.am > > Signed-off-by: Ivana Hutarova Varekova <varek...@redhat.com> Acked-By: Jan Safranek <jsafr...@redhat.com>
> --- > > tests/tools/cgconfigparser/Makefile.am | 9 + > .../cgconfigparser_conf_files/cgconfig.conf.5.ex1 | 5 > .../cgconfigparser_conf_files/cgconfig.conf.5.ex2 | 36 +++ > .../cgconfigparser_conf_files/cgconfig.conf.5.ex3 | 11 + > .../cgconfigparser_conf_files/cgconfig.conf.5.ex4 | 21 ++ > .../cgconfigparser/cgconfigparser_conf_files_tests | 240 > ++++++++++++++++++++ > 6 files changed, 320 insertions(+), 2 deletions(-) > create mode 100644 > tests/tools/cgconfigparser/cgconfigparser_conf_files/cgconfig.conf.5.ex1 > create mode 100644 > tests/tools/cgconfigparser/cgconfigparser_conf_files/cgconfig.conf.5.ex2 > create mode 100644 > tests/tools/cgconfigparser/cgconfigparser_conf_files/cgconfig.conf.5.ex3 > create mode 100644 > tests/tools/cgconfigparser/cgconfigparser_conf_files/cgconfig.conf.5.ex4 > create mode 100755 tests/tools/cgconfigparser/cgconfigparser_conf_files_tests > > diff --git a/tests/tools/cgconfigparser/Makefile.am > b/tests/tools/cgconfigparser/Makefile.am > index cbb4112..0866813 100644 > --- a/tests/tools/cgconfigparser/Makefile.am > +++ b/tests/tools/cgconfigparser/Makefile.am > @@ -1,3 +1,8 @@ > -EXTRA_DIST = cgconfigparser_simple > +EXTRA_DIST = cgconfigparser_simple \ > + cgconfigparser_conf_files_tests \ > + 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 > > -TESTS = cgconfigparser_simple > +TESTS = cgconfigparser_simple cgconfigparser_conf_files_tests > diff --git > a/tests/tools/cgconfigparser/cgconfigparser_conf_files/cgconfig.conf.5.ex1 > b/tests/tools/cgconfigparser/cgconfigparser_conf_files/cgconfig.conf.5.ex1 > new file mode 100644 > index 0000000..b8bb9f1 > --- /dev/null > +++ b/tests/tools/cgconfigparser/cgconfigparser_conf_files/cgconfig.conf.5.ex1 > @@ -0,0 +1,5 @@ > + mount { > + cpu = /TMP/cgroups/cpu; > + cpuacct = /TMP/cgroups/cpu; > + } > + > diff --git > a/tests/tools/cgconfigparser/cgconfigparser_conf_files/cgconfig.conf.5.ex2 > b/tests/tools/cgconfigparser/cgconfigparser_conf_files/cgconfig.conf.5.ex2 > new file mode 100644 > index 0000000..182290c > --- /dev/null > +++ b/tests/tools/cgconfigparser/cgconfigparser_conf_files/cgconfig.conf.5.ex2 > @@ -0,0 +1,36 @@ > + mount { > + cpu = /TMP/cgroups/cpu; > + cpuacct = /TMP/cgroups/cpu; > + } > + > + group daemons/www { > + perm { > + task { > + uid = root; > + gid = nobody; > + } > + admin { > + uid = root; > + gid = root; > + } > + } > + cpu { > + cpu.shares = "1000"; > + } > + } > + > + group daemons/ftp { > + perm { > + task { > + uid = root; > + gid = nobody; > + } > + admin { > + uid = root; > + gid = root; > + } > + } > + cpu { > + cpu.shares = "500"; > + } > + } > diff --git > a/tests/tools/cgconfigparser/cgconfigparser_conf_files/cgconfig.conf.5.ex3 > b/tests/tools/cgconfigparser/cgconfigparser_conf_files/cgconfig.conf.5.ex3 > new file mode 100644 > index 0000000..f733f57 > --- /dev/null > +++ b/tests/tools/cgconfigparser/cgconfigparser_conf_files/cgconfig.conf.5.ex3 > @@ -0,0 +1,11 @@ > + mount { > + cpu = /TMP/cgroups/cpu; > + cpuacct = /TMP/cgroups/cpuacct; > + } > + > + group daemons { > + cpuacct{ > + } > + cpu { > + } > + } > diff --git > a/tests/tools/cgconfigparser/cgconfigparser_conf_files/cgconfig.conf.5.ex4 > b/tests/tools/cgconfigparser/cgconfigparser_conf_files/cgconfig.conf.5.ex4 > new file mode 100644 > index 0000000..16eb5f4 > --- /dev/null > +++ b/tests/tools/cgconfigparser/cgconfigparser_conf_files/cgconfig.conf.5.ex4 > @@ -0,0 +1,21 @@ > + mount { > + cpu = /TMP/cgroups/cpu; > + cpuacct = /TMP/cgroups/cpuacct; > + } > + > + group daemons { > + cpuacct{ > + } > + } > + > + group daemons/www { > + cpu { > + cpu.shares = "1000"; > + } > + } > + > + group daemons/ftp { > + cpu { > + cpu.shares = "500"; > + } > + } > diff --git a/tests/tools/cgconfigparser/cgconfigparser_conf_files_tests > b/tests/tools/cgconfigparser/cgconfigparser_conf_files_tests > new file mode 100755 > index 0000000..858bc14 > --- /dev/null > +++ b/tests/tools/cgconfigparser/cgconfigparser_conf_files_tests > @@ -0,0 +1,240 @@ > +#!/bin/bash > +# this script tests the examples 1-4 from cgconfig.conf man pages > +# - for each one tests whether the configuration which is created using > described configuration > +# file is identical with the example described below > +# TODO: Example 5 is missing now > + > + > +. `dirname $0`/../testenv.sh > + > +CONFDIR=$TESTDIR/tools/cgconfigparser/cgconfigparser_conf_files > + > +# all mount points are in /$TMP/cgroups > +mkdir /$TMP/cgroups/ 2>/dev/null > +#----------------------------------------------------------------------------- > +# EXAMPLE 1 > +#----------------------------------------------------------------------------- > +$TOOLSDIR/cgconfigparser -l `prepare_config $CONFDIR/cgconfig.conf.5.ex1` || > \ > + die "cgconfigparser -l $CONFDIR/cgconfig.conf.5.ex1 failed" > + > +$TOOLSDIR/cgsnapshot -b $CONFIGDIR/cgsnapshot_blacklist.conf -s \ > + >/$TMP/temp.conf || die "example1 cgsnapshot failed" > + > +lssubsys_1=`$TOOLSDIR/lssubsys -m` > + > +$TOOLSDIR/cgclear || \ > + die "example1 1st cgclear failed" > + > +# cgsnapshot sanity test > +$TOOLSDIR/cgconfigparser -l /$TMP/temp.conf || \ > + die "example1 cgconfigparser failed" > + > +lssubsys_2=`$TOOLSDIR/lssubsys -m` > + > +$TOOLSDIR/cgclear || \ > + die "example1 2st cgclear failed" > + > +if [ "$lssubsys_1" != "$lssubsys_2" ]; then > + echo "ERROR(example1): lssubsys_1='$lssubsys_1', > lssubsys_2='$lssubsys_2'" > + die "example1 failed" > +fi > + > +# cgconfigparser test > +mkdir /$TMP/cgroups/cpu 2>/dev/null > +mount -t cgroup -o cpu,cpuacct cpu $TMP/cgroups/cpu || die "example1 Mount > failed" > +lssubsys_3=`lssubsys -m` > +$TOOLSDIR/cgclear || die "example1 3rd cgclear failed" > + > +if [ "$lssubsys_1" != "$lssubsys_3" ]; then > + echo "ERROR(example1): lssubsys_1='$lssubsys_1', > lssubsys_3='$lssubsys_3'" > + die "example1 failed" > +fi > + > +#----------------------------------------------------------------------------- > +# EXAMPLE 2 > +#----------------------------------------------------------------------------- > +$TOOLSDIR/cgconfigparser -l `prepare_config $CONFDIR/cgconfig.conf.5.ex2` || > \ > + die "cgconfigparser -l $CONFDIR/cgconfig.conf.5.ex2 failed" > + > +val1=`$TOOLSDIR/cgget -nv -r cpu.shares daemons/ftp`; > +val2=`$TOOLSDIR/cgget -nv -r cpu.shares daemons/www`; > + > + > +if [ $val1 -ne 500 ]; then > + echo "ERROR(example2): bogus variable setting daemons/ftp/cpu.shares > $val1 "\ > + "(should be 500)" > + die "example2 failed" > +fi > + > +if [ $val2 -ne 1000 ]; then > + echo "ERROR(example2): bogus variable setting daemons/www/cpu.shares > $val2 "\ > + "(should be 1000)" > + die "example2 failed" > +fi > + > +$TOOLSDIR/cgsnapshot -b $CONFIGDIR/cgsnapshot_blacklist.conf -s >\ > + /$TMP/temp.conf || die "example2 cgsnapshot failed" > + > +lssubsys_1=`$TOOLSDIR/lssubsys -m` > +$TOOLSDIR/cgclear || die "example2 1st cgclear failed" > + > + > +# cgsnapshot sanity test > +$TOOLSDIR/cgconfigparser -l /$TMP/temp.conf || \ > + die "example2 cgconfigparser of cgsnapshot file failed" > + > +lssubsys_2=`$TOOLSDIR/lssubsys -m` > +val1=`$TOOLSDIR/cgget -nv -r cpu.shares daemons/ftp`; > +val2=`$TOOLSDIR/cgget -nv -r cpu.shares daemons/www`; > +$TOOLSDIR/cgclear || die "example2 2st cgclear failed" > + > +if [ "$lssubsys_1" != "$lssubsys_2" ]; then > + echo "ERROR(example2): lssubsys_1='$lssubsys_1', > lssubsys_2='$lssubsys_2'" > + die "example2 failed" > +fi > + > + > +if [ $val1 -ne 500 ]; then > + echo "ERROR(example2): bogus variable setting daemons/ftp/cpu.shares > $val1 "\ > + "(should be 500)" > + die "example2 failed" > +fi > + > +if [ $val2 -ne 1000 ]; then > + echo "ERROR(example2): bogus variable setting daemons/www/cpu.shares > $val2 "\ > + "(should be 1000)" > + die "example2 failed" > +fi > + > +# cgconfigparser test > +mkdir /$TMP/cgroups/cpu 2>/dev/null > +mount -t cgroup -o cpu,cpuacct cpu /$TMP/cgroups/cpu || > + die "example2 mount failed" > +mkdir /$TMP/cgroups/cpu/daemons 2>/dev/null > + > +mkdir /$TMP/cgroups/cpu/daemons/www 2>/dev/null > +echo 1000 > /$TMP/cgroups/cpu/daemons/www/cpu.shares || > + die "example2 var.setting failed" > + > +mkdir /$TMP/cgroups/cpu/daemons/ftp 2>/dev/null > +echo 500 > /$TMP/cgroups/cpu/daemons/ftp/cpu.shares || > + die "example2 var.setting failed" > + > +lssubsys_3=`$TOOLSDIR/lssubsys -m` > +$TOOLSDIR/cgclear || die "example2 3rd cgclear failed" > + > + > +if [ "$lssubsys_1" != "$lssubsys_3" ]; then > + echo "ERROR(example1): lssubsys_1='$lssubsys_1', lssubsys_3='lssubsys_3'" > + die "example2 failed" > +fi > + > +#----------------------------------------------------------------------------- > +# EXAMPLE 3 > +#----------------------------------------------------------------------------- > +$TOOLSDIR/cgconfigparser -l `prepare_config $CONFDIR/cgconfig.conf.5.ex3` || > \ > + die "cgconfigparser -l $CONFDIR/cgconfig.conf.5.ex3 failed" > + > +$TOOLSDIR/cgsnapshot -b $CONFIGDIR/cgsnapshot_blacklist.conf \ > + -s >/$TMP/temp.conf || die "example3 cgsnapshot failed" > +lssubsys_1=`$TOOLSDIR/lssubsys -m` > +lscg1=`$TOOLSDIR/lscgroup` > +$TOOLSDIR/cgclear || die "example3 1st cgclear failed" > + > +# cgsnapshot sanity test > +$TOOLSDIR/cgconfigparser -l /$TMP/temp.conf || die "example3 cgconfigparser > failed" > +lssubsys_2=`$TOOLSDIR/lssubsys -m` > +lscg2=`$TOOLSDIR/lscgroup` > +$TOOLSDIR/cgclear || die "example3 2st cgclear failed" > + > +if [ "$lssubsys_1" != "$lssubsys_2" ]; then > + echo "ERROR(example3): lssubsys_1='$lssubsys_1', lssubsys_='$lssubsys_2'" > + die "example3 failed" > +fi > + > + > +if [ "$lscg1" != "$lscg2" ]; then > + echo "ERROR(example3): lscg1='$lscg1', lscg2='$lscg2'" > + die "example3 failed" > +fi > + > +# cgconfigparser test > +mkdir /$TMP/cgroups/cpu 2>/dev/null > +mkdir /$TMP/cgroups/cpuacct 2>/dev/null > +mount -t cgroup -o cpu cpu /$TMP/cgroups/cpu || die "example3 Mount1 failed" > +mount -t cgroup -o cpuacct cpuacct /$TMP/cgroups/cpuacct || die "example3 > Mount2 failed" > + > +mkdir /$TMP/cgroups/cpu/daemons 2>/dev/null > +mkdir /$TMP/cgroups/cpuacct/daemons 2>/dev/null > + > +lssubsys_3=`$TOOLSDIR/lssubsys -m` > +lscg3=`$TOOLSDIR/lscgroup` > +$TOOLSDIR/cgclear || die "example3 3rd cgclear failed" > + > +if [ "$lssubsys_1" != "$lssubsys_3" ]; then > + echo "ERROR(example3): lssubsys_1='$lssubsys_1', > lssubsys_3='$lssubsys_3'" > + die "example3 failed" > +fi > + > +if [ "$lscg1" != "$lscg3" ]; then > + echo "ERROR(example3): lscg1='$lscg1', lscg3='$lscg3'" > + die "example3 failed" > +fi > + > +#----------------------------------------------------------------------------- > +# EXAMPLE 4 > +#----------------------------------------------------------------------------- > +$TOOLSDIR/cgconfigparser -l `prepare_config $CONFDIR/cgconfig.conf.5.ex4` || > \ > + die "cgconfigparser -l $CONFDIR/cgconfig.conf.5.ex4 failed" > + > +$TOOLSDIR/cgsnapshot -b $CONFIGDIR/cgsnapshot_blacklist.conf -s \ > + >/$TMP/temp.conf || die "example4 cgsnapshot failed" > +lssubsys_1=`$TOOLSDIR/lssubsys -m` > +lscg1=`$TOOLSDIR/lscgroup | sort` > +$TOOLSDIR/cgclear || die "example4 1st cgclear failed" > + > +# cgsnapshot sanity test > +$TOOLSDIR/cgconfigparser -l /$TMP/temp.conf || die "example4 cgconfigparser > failed" > +lssubsys_2=`$TOOLSDIR/lssubsys -m` > +lscg2=`$TOOLSDIR/lscgroup| sort` > +$TOOLSDIR/cgclear || die "example4 2st cgclear failed" > + > +if [ "$lssubsys_1" != "$lssubsys_2" ]; then > + echo "ERROR(example4): lssubsys_1='$lssubsys_1', > lssubsys_2='$lssubsys_2'" > + die "example4 failed" > +fi > + > +if [ "$lscg1" != "$lscg2" ]; then > + echo "ERROR(example4): lscg1='$lscg1', lscg2='$lscg2'" > + die "example4 failed" > +fi > + > +# cgconfigparser test > +mkdir /$TMP/cgroups/cpu 2>/dev/null > +mkdir /$TMP/cgroups/cpuacct 2>/dev/null > +mount -t cgroup -o cpu cpu /$TMP/cgroups/cpu || die "example4 Mount1 failed" > +mount -t cgroup -o cpuacct cpuacct /$TMP/cgroups/cpuacct || die "example4 > Mount2 failed" > + > +mkdir /$TMP/cgroups/cpuacct/daemons 2>/dev/null > +mkdir /$TMP/cgroups/cpu/daemons 2>/dev/null > +mkdir /$TMP/cgroups/cpu/daemons/www 2>/dev/null > +mkdir /$TMP/cgroups/cpu/daemons/ftp 2>/dev/null > + > +lssubsys_3=`$TOOLSDIR/lssubsys -m` > +lscg3=`$TOOLSDIR/lscgroup | sort` > +cgclear || die "example3 3rd cgclear failed" > + > + > +if [ "$lssubsys_1" != "$lssubsys_3" ]; then > + echo "ERROR(example4): lssubsys_1='$lssubsys_1', > lssubsys_3='$lssubsys_3'" > + die "example4 failed" > +fi > + > +if [ "$lscg1" != "$lscg3" ]; then > + echo "ERROR(example4): lscg1='$lscg1', lscg3='$lscg3'" > + die "example4 failed" > +fi > + > + > +cleanup > +exit 0 > \ No newline at end of file > > > ------------------------------------------------------------------------------ > Colocation vs. Managed Hosting > A question and answer guide to determining the best fit > for your organization - today and in the future. > http://p.sf.net/sfu/internap-sfd2d > _______________________________________________ > Libcg-devel mailing list > Libcg-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/libcg-devel ------------------------------------------------------------------------------ Colocation vs. Managed Hosting A question and answer guide to determining the best fit for your organization - today and in the future. http://p.sf.net/sfu/internap-sfd2d _______________________________________________ Libcg-devel mailing list Libcg-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libcg-devel