Files
mckernel/test/mcexec_signalonboot/run.sh
TOIDA,Suguru 9e2196c9ce fix: memory leak due to forced termination during startup
Change-Id: Ide519f01702bfd17ae4576e04806b6d155ae846a
refs: #1397
2020-03-09 01:10:38 +00:00

75 lines
1.9 KiB
Bash

#!/bin/bash
# run.sh COPYRIGHT FUJITSU LIMITED 2019
test_dir=$(dirname "${BASH_SOURCE[0]}")
#
# init
#
. "${test_dir}/../common.sh"
SIGINT=2
SIGKILL=9
SIGTERM=15
"$BIN/mcexec" -c 0 -- ls 2>&1 | grep -q "signal_injection.patch is applied."
if [ $? -ne 0 ]; then
echo "signal_injection.patch is not been applied." >&2
exit 1
fi
sleep 1
meminfo="/sys/devices/virtual/mcos/mcos0/sys/devices/system/node/node0/meminfo"
exp_free_mem=`cat "$meminfo" | grep MemFree:`
#
# run
#
test_cases=`cat <<__EOF__
001 MCEXEC_UP_PREPARE_IMAGE:before $SIGINT
002 MCEXEC_UP_PREPARE_IMAGE:before $SIGKILL
003 MCEXEC_UP_PREPARE_IMAGE:before $SIGTERM
011 MCEXEC_UP_PREPARE_IMAGE:after $SIGINT
012 MCEXEC_UP_PREPARE_IMAGE:after $SIGKILL
013 MCEXEC_UP_PREPARE_IMAGE:after $SIGTERM
101 MCEXEC_UP_TRANSFER:before $SIGINT
102 MCEXEC_UP_TRANSFER:before $SIGKILL
103 MCEXEC_UP_TRANSFER:before $SIGTERM
111 MCEXEC_UP_TRANSFER:after $SIGINT
112 MCEXEC_UP_TRANSFER:after $SIGKILL
113 MCEXEC_UP_TRANSFER:after $SIGTERM
201 init_sigaction:before $SIGINT
202 init_sigaction:before $SIGKILL
203 init_sigaction:before $SIGTERM
211 init_sigaction:after $SIGINT
212 init_sigaction:after $SIGKILL
213 init_sigaction:after $SIGTERM
301 MCEXEC_UP_START_IMAGE:before $SIGINT
302 MCEXEC_UP_START_IMAGE:before $SIGKILL
303 MCEXEC_UP_START_IMAGE:before $SIGTERM
311 MCEXEC_UP_START_IMAGE:after $SIGINT
312 MCEXEC_UP_START_IMAGE:after $SIGKILL
313 MCEXEC_UP_START_IMAGE:after $SIGTERM
__EOF__`
IFS='
'
for tc in $test_cases
do
no=`echo $tc | awk '{print $1}'`
opt_i=`echo $tc | awk '{print $2}'`
opt_s=`echo $tc | awk '{print $3}'`
echo -n "$no: "
bash -c "'$BIN/mcexec' -c 0 -- -i $opt_i -s $opt_s ls >/dev/null 2>&1" \
>/dev/null 2>&1
sleep 1
free_mem=`cat "$meminfo" | grep MemFree:`
if [ "$exp_free_mem" != "$free_mem" ]; then
echo "NG - detected memory leak."
echo " before: ${exp_free_mem}"
echo " after: ${free_mem}"
exp_free_mem=$free_mem
else
echo "OK"
fi
done
exit 0