60 lines
2.1 KiB
Bash
Executable File
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
|