User Space:swapout (this is a rebase commit to merge into development)
This commit is contained in:
90
test/user_space/swapout/swapout_normal.sh
Executable file
90
test/user_space/swapout/swapout_normal.sh
Executable file
@@ -0,0 +1,90 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Functions
|
||||
function reboot() {
|
||||
count=`pgrep -c -f 'mcexec '`
|
||||
if [ ${count} -gt 0 ]
|
||||
then
|
||||
echo "kill process :" ${count}
|
||||
pgrep -l -f 'mcexec '
|
||||
pgrep -f 'mcexec ' | xargs sudo kill -9
|
||||
fi
|
||||
# echo -n "mckernel stopping... "
|
||||
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
|
||||
# echo "done."
|
||||
#sleep 1
|
||||
echo -n "mckernel booting... " 1>&2
|
||||
sudo ${MCMOD_DIR}/sbin/mcreboot.sh $*
|
||||
echo "done." 1>&2
|
||||
}
|
||||
|
||||
function ok_out() {
|
||||
echo "[OK] ${TEST_PREFIX}`printf %03d ${TEST_NUM}` $1"
|
||||
(( TEST_NUM++ ))
|
||||
TEST_CODE=`printf %03d ${TEST_NUM}`
|
||||
}
|
||||
|
||||
function ng_out() {
|
||||
echo "[NG] ${TEST_PREFIX}`printf %03d ${TEST_NUM}` $1"
|
||||
exit 1
|
||||
}
|
||||
|
||||
TEST_PARAM_FILE=$1
|
||||
TEST_NUM=23
|
||||
TEST_CODE=001
|
||||
TEST_PREFIX=so_
|
||||
|
||||
ME=`whoami`
|
||||
|
||||
# read config
|
||||
source ./config
|
||||
|
||||
MCPATH=${MCMOD_DIR}
|
||||
|
||||
mkdir -p result
|
||||
|
||||
reboot
|
||||
#programを実行 logを保存
|
||||
${MCPATH}/bin/mcexec ./swaptest 2 >./result/swapout_normal.log
|
||||
|
||||
#kmsgを保存
|
||||
sudo ${MCPATH}/sbin/ihkosctl 0 kmsg >./result/swapout_normal.kmsg
|
||||
|
||||
#swapout023 execute swaptest(return code)
|
||||
grep "^swapout returns: 0$" ./result/swapout_normal.log
|
||||
ret=$?
|
||||
if [ ${ret} -eq 0 ]; then
|
||||
ok_out "swaptest program is nomrmal exit."
|
||||
else
|
||||
ng_out "swaptest pogram is abnormal exit."
|
||||
fi
|
||||
|
||||
#swapout024 execute swaptest (restore data)
|
||||
grep "^data = hello$" ./result/swapout_normal.log
|
||||
ret=$?
|
||||
if [ ${ret} -eq 0 ]; then
|
||||
ok_out "confirmed restoration of data."
|
||||
else
|
||||
ng_out "did not restore the data."
|
||||
fi
|
||||
|
||||
#wapout025 execute swapout (restore user space)
|
||||
rc=1
|
||||
for str in `sed -n -e /"^.*: SWAP:.*$"/,/"^.*: MLOCK:.*$"/p ./result/swapout_normal.kmsg |sed -n s/"^\[ 0\]: \t\([0-9a-f]*\) -- \([0-9a-f]*\)$"/"\1:\2"/p`
|
||||
do
|
||||
grep ${str} ./result/swapout_normal.kmsg >/dev/null
|
||||
rtn=$?
|
||||
if [ ${rtn} -eq 0 ]; then
|
||||
echo ${str} is matched.
|
||||
rc=0
|
||||
else
|
||||
echo ${str} is not matched.
|
||||
rc=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ ${rc} -eq 0 ]; then
|
||||
ok_out "pageout areas and pagein areas are matched."
|
||||
else
|
||||
ng_out "pagein areas is not matched."
|
||||
fi
|
||||
Reference in New Issue
Block a user