Fix "Test "Error handling improvement" on arm64"

Change-Id: Ie3c835dfe65a9754628ca221f3f563b67b0eb1a0
Refs: #727
Refs: #873
Refs: #1011
Refs: #1232
Refs: #1233
This commit is contained in:
Shiratori, Takehiro
2018-12-10 19:58:15 +09:00
parent 7a8f5043c5
commit cd5cb469eb
4 changed files with 79 additions and 78 deletions

View File

@ -90,8 +90,11 @@
(3) 実行結果ログ
result.logファイル内に実行時のログを記載する。
実行に利用したIHK/McKernelは、IA版における下記の版数相当の
arm64版移植IHK/McKernelである。
実行に利用したIHK/McKernelは、IA版における下記の版数
下記issueの修正を加えたarm64版移植IHK/McKernelである。
https://postpeta.pccluster.org/redmine/issues/1233
https://postpeta.pccluster.org/redmine/issues/1232
IHK
commit d6fcbee8cb91f9ec4b49f97c918e696ac0335aaf

View File

@ -21,34 +21,6 @@ Issue873_0001 n=100/100 ok.
Issue873_0001: OK
exa-kernel
Issue1011_0001: OK
TEST_SUITE: kill
TEST_NUMBER: 1
ARGS: -p 6
Generate child process pid:22054, pgid:2084
Generate child process pid:22068, pgid:2084
Generate child process pid:22082, pgid:2084
Generate child process pid:22097, pgid:2084
Generate child process pid:22111, pgid:2084
Generate child process pid:22125, pgid:2084
wait for a few sec...
Send to all processes that have permission to send a signal.
[pid:22039, pgid:2084] Get signal.
RESULT: ok
ulimit -u 0001: OK
TEST_SUITE: kill
TEST_NUMBER: 1
ARGS: -p 6
Generate child process pid:22155, pgid:2084
Generate child process pid:22169, pgid:2084
Generate child process pid:22183, pgid:2084
Generate child process pid:22198, pgid:2084
Generate child process pid:22212, pgid:2084
Generate child process pid:22226, pgid:2084
wait for a few sec...
Send to all processes that have permission to send a signal.
[pid:22139, pgid:2084] Get signal.
RESULT: ok
ulimit -u 0002: NG
perf_event_open01 1 TFAIL : perf_event_open01.c:158: perf_event_open failed unexpectedly: TEST_ERRNO=EPERM(1): Operation not permitted
##### perf_event_open01 returned not 0 #####
perf_event_open02 1 TCONF : perf_event_open02.c:165: PERF_COUNT_HW_INSTRUCTIONS not supported
@ -110,28 +82,30 @@ execve03 1 TPASS : execve failed as expected: TEST_ERRNO=ENAMETOOLONG(36):
execve03 2 TPASS : execve failed as expected: TEST_ERRNO=ENOENT(2): No such file or directory
execve03 3 TPASS : execve failed as expected: TEST_ERRNO=ENOTDIR(20): Not a directory
execve03 4 TPASS : execve failed as expected: TEST_ERRNO=EFAULT(14): Bad address
Error: /tmp/exetEhv7P/fake.22387 is not an executable?, errno: 13
load_elf_desc_shebang: error: loading file: /tmp/exetEhv7P/fake.22387
Error: /tmp/exeOBQRES/fake.6384 is not an executable?, errno: 13
load_elf_desc_shebang: error: loading file: /tmp/exeOBQRES/fake.6384
execve03 5 TPASS : execve failed as expected: TEST_ERRNO=EACCES(13): Permission denied
Error: file /tmp/exetEhv7P/execve03.22387 is zero length
load_elf_desc_shebang: error: loading file: /tmp/exetEhv7P/execve03.22387
Error: file /tmp/exeOBQRES/execve03.6384 is zero length
load_elf_desc_shebang: error: loading file: /tmp/exeOBQRES/execve03.6384
execve03 6 TPASS : execve failed as expected: TEST_ERRNO=ENOEXEC(8): Exec format error
Hello World
execve05 1 TPASS : Test DONE, pid 22478, -- execve05 0 execve05 execve05
execve05 1 TPASS : Test DONE, pid 22495, -- execve05 0 execve05 execve05
execve05 1 TPASS : Test DONE, pid 22512, -- execve05 0 execve05 execve05
execve05 1 TPASS : Test DONE, pid 22529, -- execve05 0 execve05 execve05
execve05 1 TPASS : Test DONE, pid 22546, -- execve05 0 execve05 execve05
execve05 1 TPASS : Test DONE, pid 22564, -- execve05 0 execve05 execve05
execve05 1 TPASS : Test DONE, pid 22581, -- execve05 0 execve05 execve05
execve05 1 TPASS : Test DONE, pid 22598, -- execve05 0 execve05 execve05
fork01 1 TPASS : fork() returned 22634
fork01 2 TPASS : child pid and fork() return agree: 22634
execve05 1 TPASS : Test DONE, pid 6498, -- execve05 0 execve05 execve05
execve05 1 TPASS : Test DONE, pid 6516, -- execve05 0 execve05 execve05
execve04 1 TBROK : tst_checkpoint.c:129: execve04.c:128: tst_checkpoint_wait(0, 10000): errno=ETIMEDOUT(110): Connection timed ou
execve04 2 TBROK : tst_checkpoint.c:129: Remaining cases broken
execve05 1 TPASS : Test DONE, pid 6533, -- execve05 0 execve05 execve05
execve05 1 TPASS : Test DONE, pid 6551, -- execve05 0 execve05 execve05
execve05 1 TPASS : Test DONE, pid 6568, -- execve05 0 execve05 execve05
execve05 1 TPASS : Test DONE, pid 6585, -- execve05 0 execve05 execve05
execve05 1 TPASS : Test DONE, pid 6602, -- execve05 0 execve05 execve05
execve05 1 TPASS : Test DONE, pid 6619, -- execve05 0 execve05 execve05
fork01 1 TPASS : fork() returned 6672
fork01 2 TPASS : child pid and fork() return agree: 6672
fork02 0 TINFO : Inside parent
fork02 0 TINFO : Inside child
fork02 0 TINFO : exit status of wait 0
fork02 1 TPASS : test 1 PASSED
fork03 0 TINFO : process id in parent of child from fork : 22701
fork03 0 TINFO : process id in parent of child from fork : 6769
fork03 1 TPASS : test 1 PASSED
fork04 1 TPASS : Env var TERM unchanged after fork(): screen
fork04 2 TPASS : Env var NoTSetzWq unchanged after fork(): getenv() does not find variable set
@ -165,9 +139,9 @@ fork10 0 TINFO : fork child A
fork10 1 TPASS : test 1 PASSED
fork11 1 TPASS : fork test passed, 100 processes
fork13 1 TPASS : 1 pids forked, all passed
./run.sh: 105 行: 7799 強制終了 timeout -sKILL 5m ${MCEXEC} ${LTPBIN}/${line}
./run.sh: 82 行: 24157 強制終了 sudo timeout -sKILL 5m sudo PATH=${LTPBIN}:${PATH} ${MCEXEC} ${LTPBIN}/${line}
##### fork14 returned not 0 #####
clone01 1 TPASS : clone returned 8155
clone01 1 TPASS : clone returned 24559
clone02 1 TFAIL : clone02.c:144: clone() failed: TEST_ERRNO=EINVAL(22): Invalid argument
clone02 2 TPASS : Test Passed
##### clone02 returned not 0 #####
@ -190,18 +164,15 @@ kill02 1 TPASS : The signal was sent to all processes in the process gro
kill02 2 TPASS : The signal was not sent to selective processes that were not in the process group.
kill03 1 TPASS : errno set to 22 : Invalid argument, as expected
kill04 1 TPASS : errno set to 3 : No such process, as expected
execve04 1 TBROK : tst_checkpoint.c:129: execve04.c:128: tst_checkpoint_wait(0, 10000): errno=ETIMEDOUT(110): Connection timed out
execve04 2 TBROK : tst_checkpoint.c:129: Remaining cases broken
kill failed with EPERM
kill05 1 TPASS : received expected errno(EPERM)
kill06 1 TPASS : received expected signal 9
kill07 0 TINFO : received expected signal 9
kill07 1 TPASS : Did not catch signal as expected
kill08 1 TPASS : received expected signal 9
kill09 1 TPASS : kill(8913, SIGKILL) returned 0
kill10 1 TPASS : All 2 pgrps received their signals
8946: All 4 children reported in
8960: All 4 children reported in
kill09 1 TPASS : kill(25550, SIGKILL) returned 0
25598: All 4 children reported in
25612: All 4 children reported in
kill11 0 TINFO : Adjusting RLIMIT_CORE to 1048576
kill11 1 TPASS : signal SIGHUP
kill11 2 TPASS : signal SIGINT
@ -350,4 +321,33 @@ signal05 28 TPASS : signal05 call succeeded
signal05 29 TPASS : signal05 call succeeded
signal05 30 TPASS : signal05 call succeeded
signal05 31 TPASS : signal05 call succeeded
TEST_SUITE: kill
TEST_NUMBER: 1
ARGS: -p 6
Generate child process pid:26893, pgid:6009
Generate child process pid:26896, pgid:6009
Generate child process pid:26899, pgid:6009
Generate child process pid:26902, pgid:6009
Generate child process pid:26905, pgid:6009
Generate child process pid:26908, pgid:6009
wait for a few sec...
Send to all processes that have permission to send a signal.
[pid:26896, pgid:6009] Get signal.
[pid:26889, pgid:6009] Get signal.
[pid:26899, pgid:6009] Get signal.
[pid:26908, pgid:6009] Get signal.
[pid:26902, pgid:6009] Get signal.
[pid:26905, pgid:6009] Get signal.
[pid:26893, pgid:6009] Get signal.
RESULT: ok
ulimit -u 0001: OK
TEST_SUITE: kill
TEST_NUMBER: 1
ARGS: -p 6
ERROR: creating worker threads (11), check ulimit?
main_loop: Error: creating worker threads: Resource temporarily unavailable
fork(): error with child process after fork
[warning] fork() failed.
RESULT: child process nothing.
ulimit -u 0002: OK
make: *** [test] エラー 255

View File

@ -2,6 +2,5 @@ mcstop+release.sh ... done
mcreboot.sh -c 4-15 -m 4G@0,4G@1,4G@2,4G@3 -O ... done
gcc -o exec exec.c
execve killed
./run_issue727.sh: 17 行: 20164 強制終了 ${MCEXEC} ./exec
McKernel PANIC detected.
Issue727_0002: NG
./run_issue727.sh: 17 行: 17421 強制終了 ${MCEXEC} ./exec
Issue727_0002: OK

View File

@ -62,11 +62,31 @@ else
result=-1
fi
#######################
# LTP regression test #
#######################
while read line
do
tp=`echo ${line} | cut -d ' ' -f 1`
if [ ! -e ${LTPBIN}/${tp} ]; then
echo "${LTPBIN}/${tp} not found."
continue
fi
sudo timeout -sKILL 5m sudo PATH=${LTPBIN}:${PATH} ${MCEXEC} ${LTPBIN}/${line}
if [ $? != 0 ]; then
echo "##### ${tp} returned not 0 #####"
result=-1
fi
done < ./ltplist.txt
##################
# ulimit -u test #
##################
nprocs=`ps -ho pid,comm -U `whoami` | wc -l`
nprocs=`ps -ho pid,comm -U \`whoami\` | wc -l`
${MCEXEC} -t $((8 - nprocs)) ${TESTMCK} -s kill -n 1 -- -p 6
if [ $? == 0 ]; then
@ -85,25 +105,4 @@ else
result=-1
fi
#######################
# LTP regression test #
#######################
export PATH=${LTPBIN}:${PATH}
while read line
do
tp=`echo ${line} | cut -d ' ' -f 1`
if [ ! -e ${LTPBIN}/${tp} ]; then
echo "${LTPBIN}/${tp} not found."
continue
fi
timeout -sKILL 5m ${MCEXEC} ${LTPBIN}/${line}
if [ $? != 0 ]; then
echo "##### ${tp} returned not 0 #####"
result=-1
fi
done < ./ltplist.txt
exit ${result}