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

Reply via email to