Files
mckernel/test/dump/mck_dump_test.sh
Dominique Martinet 7f1c17fc4c tests: add 'postk_master' branch tests
Change-Id: Ie0d4cfd0921aed89d2db6083c9eb068b1cfc1984
2019-02-01 15:15:00 +09:00

101 lines
2.0 KiB
Bash

#!/bin/sh
if [ $# -lt 1 ]; then
echo "Error: too few arguments."
echo "usage: `basename $0` <param_file>"
fi
# read config
source ./config
# read testcase param
source $1
# mcexec processのkill
./utils/kill_mcexec.sh &> /dev/null
# stop mckernel
sudo ${MCMOD_DIR}/sbin/mcstop+release.sh
# boot mckernel
echo "${MCMOD_DIR}/sbin/mcreboot.sh ${MCRBT_OPT%,}"
sudo ${MCMOD_DIR}/sbin/mcreboot.sh ${MCRBT_OPT%,}
sleep 1
if [ ! -e "/dev/mcos0" ]; then
echo "Error: failed to mcreboot"
exit 1
fi
# exec mckernel test program
for mc_proc in ${USR_PROC}
do
echo "${MCMOD_DIR}/bin/mcexec ${mc_proc}"
${MCMOD_DIR}/bin/mcexec ${mc_proc} &
done
# wait mmap
sleep 5
if [ "X${DUMP_FILE}" = "X" ]; then
dump_cnt=`find ./ -maxdepth 1 -name "mcdump_*" | wc -l`
fi
# do dump
echo "${MCMOD_DIR}/sbin/ihkosctl ${OS_IDX} dump ${DUMP_OPT} ${DUMP_FILE}"
SECONDS=0
if [ "X${NO_SUDO}" = "X" ]; then
sudo ${MCMOD_DIR}/sbin/ihkosctl ${OS_IDX} dump ${DUMP_OPT} ${DUMP_FILE}
else
${MCMOD_DIR}/sbin/ihkosctl ${OS_IDX} dump ${DUMP_OPT} ${DUMP_FILE}
fi
rc=$?
echo "Dump takes ${SECONDS} secs."
if [ "X${ERROR_CASE}" = "X" ]; then
# Normal case
if [ ${rc} -ne 0 ]; then
echo "Error: dump returns not 0"
exit 1
fi
if [ "X${DUMP_FILE}" = "X" ]; then
if [ ${dump_cnt} -eq `find ./ -maxdepth 1 -name "mcdump_*" | wc -l` ]; then
echo "Error: default dump_file is not created"
echo "$dump_cnt `ls`"
exit 1
else
out_dump_file=`ls -1 ./mcdump_*`
fi
else
if [ ! -e ${DUMP_FILE} ]; then
echo "Error: specified dump_file, ${DUMP_FILE} is not created"
exit 1
else
out_dump_file=${DUMP_FILE}
fi
fi
# show dump_file info
./utils/show_mckdump.sh ${out_dump_file}
else
# Error case
if [ ${rc} -eq 0 ]; then
echo "dump return 0"
exit 1
fi
if [ "X${DUMP_FILE}" = "X" ]; then
if [ ${dump_cnt} -ne `find ./ -maxdepth 1 -name "mcdump_*" | wc -l` ]; then
echo "Error: default dump_file is created"
exit 1
fi
else
if [ -e ${DUMP_FILE} ]; then
echo "Error: specified dump_file, ${DUMP_FILE} is created"
exit 1
fi
fi
fi
exit 0