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 <[email protected]>
Acked-By: Jan Safranek <[email protected]>
> ---
>
> 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
> [email protected]
> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/libcg-devel