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

60 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
# test cgclear with multiple config files
. `dirname $0`/../testenv.sh
# start a process to torture
/bin/sleep 10000 &
PID=$!
# STEP1: parse three config files and cgclear them at once (in reverse order!)
$TOOLSDIR/cgconfigparser -l `prepare_config cgclear/cgclear_config_multi_1.conf` \
|| die "STEP1: cgconfigparser multi_1 failed"
$TOOLSDIR/cgconfigparser -l `prepare_config cgclear/cgclear_config_multi_2.conf` \
|| die "STEP1: cgconfigparser multi_2 failed"
$TOOLSDIR/cgconfigparser -l `prepare_config cgclear/cgclear_config_multi_3.conf` \
|| die "STEP1: cgconfigparser multi_3 failed"
$TOOLSDIR/lscgroup > $TMP/groups.log
grep 1/2/3 <$TMP/groups.log >/dev/null \
|| die "STEP1: cannot find group '1/2/3'"
# clear it all
$TOOLSDIR/cgclear -e -l `prepare_config cgclear/cgclear_config_multi_1.conf` \
-l `prepare_config cgclear/cgclear_config_multi_2.conf` \
-l `prepare_config cgclear/cgclear_config_multi_3.conf` \
|| die "STEP1: cgclear failed"
# check all is gone
$TOOLSDIR/lscgroup 2>/dev/null \
&& die "STEP1: something is mounted after cgclear"
# STEP2: same as step1, but in wrong order - cgclear should fail
$TOOLSDIR/cgconfigparser -l `prepare_config cgclear/cgclear_config_multi_1.conf` \
|| die "STEP2: cgconfigparser multi_1 failed"
$TOOLSDIR/cgconfigparser -l `prepare_config cgclear/cgclear_config_multi_2.conf` \
|| die "STEP2: cgconfigparser multi_2 failed"
$TOOLSDIR/cgconfigparser -l `prepare_config cgclear/cgclear_config_multi_3.conf` \
|| die "STEP2: cgconfigparser multi_3 failed"
$TOOLSDIR/lscgroup > $TMP/groups.log
grep 1/2/3 <$TMP/groups.log >/dev/null \
|| die "STEP2: cannot find group '1/2/3'"
# clear it all
$TOOLSDIR/cgclear -e -l `prepare_config cgclear/cgclear_config_multi_3.conf` \
-l `prepare_config cgclear/cgclear_config_multi_2.conf` \
-l `prepare_config cgclear/cgclear_config_multi_1.conf` \
|| die "STEP2: cgclear failed"
# check that cpu,cpuacct:/1/2 still exists
$TOOLSDIR/lscgroup > $TMP/groups.log
grep 1/2 <$TMP/groups.log >/dev/null \
|| die "STEP2: cannot find group '1/2 after cgclear"
$TOOLSDIR/cgclear
cleanup
kill -9 $PID
exit 0