libcgroup/libcgroup-0.41/tests/tools/cgconfigparser/cgconfigparser_conf_files_tests
2014-02-05 16:04:04 +01:00

240 lines
7.8 KiB
Bash
Executable File

#!/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