Test "mcexec_destroy_per_process_data: System calls delegation can not be terminated in error when the last process that closed /dev/mcos0 is a child process." on arm64
Change-Id: I6bc3023c1fa6089bc2ca6365b59bbab384b3e1d7 Refs: #882
This commit is contained in:
committed by
Masamichi Takagi
parent
0ee446923a
commit
a11d4d7a9d
50
test/mng_mod/issues/882/arm64/README
Normal file
50
test/mng_mod/issues/882/arm64/README
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
/* README COPYRIGHT FUJITSU LIMITED 2018 */
|
||||||
|
|
||||||
|
mcexec でのシグナル応答とfork 処理との衝突回避機能テストセットREADME
|
||||||
|
|
||||||
|
(1) テストの実行方法
|
||||||
|
以下の手順でテストを実行する
|
||||||
|
1. $HOME/.mck_test_configを用意する
|
||||||
|
当該ファイルは、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||||
|
$HOMEにコピーし、適宜編集する
|
||||||
|
2. ストレステストバイナリを用意し、./run.sh内のSTRESSBIN定義を適宜変更する
|
||||||
|
3. ./run.shを実行する
|
||||||
|
|
||||||
|
(2) テスト項目詳細
|
||||||
|
Issue#882で指摘されたテストプログラムを利用する項目
|
||||||
|
CT1001 プログラム終了後にMcKernelのプロセス残留がない事を確認する。
|
||||||
|
CT1002 プログラム終了後にMcKernelのスレッド残留がない事を確認する。
|
||||||
|
CT1003 プログラム終了後にLinuxにmcexecの残留が無い事を確認する。
|
||||||
|
なお、Issue#882はタイミング依存の問題があるため、5回以上の複数回実施で問題がない
|
||||||
|
ことを確認する。
|
||||||
|
|
||||||
|
LTPを利用する項目
|
||||||
|
fork01 fork後に子プロセスのプロセスIDが正しいことを確認する。
|
||||||
|
fork02 fork後にwaitを行い、waitが子プロセスのPIDを返却することを確認する。
|
||||||
|
fork03 forkで生成した子プロセスが処理を行った後でもfork返却値に変化が無い
|
||||||
|
(親プロセス側の返却値で上書きされていない)ことを確認する。
|
||||||
|
fork04 forkで生成した子プロセスが環境変数を変更しても、親プロセス側の環境変数に変化が無いことを確認する。
|
||||||
|
fork07 forkした子プロセスに、親プロセスからファイルディスクリプタを引き継いでいることを確認する。
|
||||||
|
fork08 forkした複数の子プロセスが、それぞれ親プロセスから引き継いだファイル
|
||||||
|
ディスクリプタを別個に操作できることを確認する。(ある子プロセスがcloseしても別な子プロセスがI/O可能)
|
||||||
|
|
||||||
|
(3) 実行結果ログ
|
||||||
|
result.logファイル内に実行時のログを記載する。
|
||||||
|
実行に利用したIHK/McKernelは、IA版における下記の版数相当の
|
||||||
|
arm64版移植IHK/McKernelである。
|
||||||
|
|
||||||
|
IHK
|
||||||
|
commit d6fcbee8cb91f9ec4b49f97c918e696ac0335aaf
|
||||||
|
Author: Shiratori, Takehiro <fj0300es@aa.jp.fujitsu.com>
|
||||||
|
Date: Tue Oct 16 16:25:33 2018 +0900
|
||||||
|
|
||||||
|
McKernel
|
||||||
|
commit 6f9fef2b13447c74c36d15cf5ebd186f8395ccca
|
||||||
|
Author: Ken Sato <ken.sato.ty@hitachi-solutions.com>
|
||||||
|
Date: Tue Sep 25 10:05:41 2018 +0900
|
||||||
|
|
||||||
|
(4) 備考
|
||||||
|
特になし。
|
||||||
|
|
||||||
|
|
||||||
|
以上。
|
||||||
6
test/mng_mod/issues/882/arm64/ltplist.txt
Normal file
6
test/mng_mod/issues/882/arm64/ltplist.txt
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
fork01
|
||||||
|
fork02
|
||||||
|
fork03
|
||||||
|
fork04
|
||||||
|
fork07
|
||||||
|
fork08
|
||||||
116
test/mng_mod/issues/882/arm64/result.log
Normal file
116
test/mng_mod/issues/882/arm64/result.log
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
mcstop+release.sh ... done
|
||||||
|
mcreboot.sh -c 4-15 -m 4G@0,4G@1,4G@2,4G@3 -O ... done
|
||||||
|
SUCCESS kmsg
|
||||||
|
SUCCESS clear_kmsg
|
||||||
|
timeout -s 9 60 /opt/stress_test/src/killit -np 16 -t 4000 /opt/ppos//bin/mcexec /opt/stress_test/src/signalonfork -nosignal 1> /tmp/dtest.log 2>&1
|
||||||
|
SUCCESS mcexec
|
||||||
|
SUCCESS /opt/stress_test/src/killit -np 16 -t 4000 mcexec /opt/stress_test/src/signalonfork -nosignal
|
||||||
|
SUCCESS kmsg
|
||||||
|
mck-mcexec.sh: WARNING: kmsg isn't empty
|
||||||
|
=== kmsg begins ====
|
||||||
|
[ 6]: ERROR: forking host process
|
||||||
|
[ 3]: ERROR: forking host process
|
||||||
|
[ 11]: ERROR: forking host process
|
||||||
|
[ 10]: ERROR: forking host process
|
||||||
|
[ 2]: ERROR: forking host process
|
||||||
|
[ 0]: ERROR: forking host process
|
||||||
|
|
||||||
|
=== kmsg ends ====
|
||||||
|
SUCCESS ioctl 40000000 1
|
||||||
|
SUCCESS kmsg
|
||||||
|
SUCCESS 0 processes found
|
||||||
|
SUCCESS ioctl 40000000 2
|
||||||
|
SUCCESS kmsg
|
||||||
|
SUCCESS 0 threads found
|
||||||
|
SUCCESS mcexec not found
|
||||||
|
SUCCESS kmsg
|
||||||
|
SUCCESS clear_kmsg
|
||||||
|
timeout -s 9 60 /opt/stress_test/src/killit -np 16 -t 4000 /opt/ppos//bin/mcexec /opt/stress_test/src/signalonfork -nosignal 1> /tmp/dtest.log 2>&1
|
||||||
|
SUCCESS mcexec
|
||||||
|
SUCCESS /opt/stress_test/src/killit -np 16 -t 4000 mcexec /opt/stress_test/src/signalonfork -nosignal
|
||||||
|
SUCCESS kmsg
|
||||||
|
mck-mcexec.sh: WARNING: kmsg isn't empty
|
||||||
|
=== kmsg begins ====
|
||||||
|
[ 9]: ERROR: forking host process
|
||||||
|
[ 1]: fileobj_free(ffff800044330020 ffff8001c15d0900): free failed. -32
|
||||||
|
[ 3]: ERROR: forking host process
|
||||||
|
[ 11]: ERROR: forking host process
|
||||||
|
|
||||||
|
=== kmsg ends ====
|
||||||
|
SUCCESS ioctl 40000000 1
|
||||||
|
SUCCESS kmsg
|
||||||
|
SUCCESS 0 processes found
|
||||||
|
SUCCESS ioctl 40000000 2
|
||||||
|
SUCCESS kmsg
|
||||||
|
SUCCESS 0 threads found
|
||||||
|
SUCCESS mcexec not found
|
||||||
|
SUCCESS kmsg
|
||||||
|
SUCCESS clear_kmsg
|
||||||
|
timeout -s 9 60 /opt/stress_test/src/killit -np 16 -t 4000 /opt/ppos//bin/mcexec /opt/stress_test/src/signalonfork -nosignal 1> /tmp/dtest.log 2>&1
|
||||||
|
SUCCESS mcexec
|
||||||
|
SUCCESS /opt/stress_test/src/killit -np 16 -t 4000 mcexec /opt/stress_test/src/signalonfork -nosignal
|
||||||
|
SUCCESS kmsg
|
||||||
|
mck-mcexec.sh: WARNING: kmsg isn't empty
|
||||||
|
=== kmsg begins ====
|
||||||
|
[ 5]: ERROR: forking host process
|
||||||
|
[ 2]: ERROR: forking host process
|
||||||
|
[ 0]: set_host_vma(1000000b0000,190000,5) failed. -32
|
||||||
|
[ 0]: do_mmap:set_host_vma failed. -32
|
||||||
|
[ 8]: fileobj_free(ffff800642572960 ffff8001c15d0900): free failed. -32
|
||||||
|
|
||||||
|
=== kmsg ends ====
|
||||||
|
SUCCESS ioctl 40000000 1
|
||||||
|
SUCCESS kmsg
|
||||||
|
SUCCESS 0 processes found
|
||||||
|
SUCCESS ioctl 40000000 2
|
||||||
|
SUCCESS kmsg
|
||||||
|
SUCCESS 0 threads found
|
||||||
|
SUCCESS mcexec not found
|
||||||
|
SUCCESS kmsg
|
||||||
|
SUCCESS clear_kmsg
|
||||||
|
timeout -s 9 60 /opt/stress_test/src/killit -np 16 -t 4000 /opt/ppos//bin/mcexec /opt/stress_test/src/signalonfork -nosignal 1> /tmp/dtest.log 2>&1
|
||||||
|
SUCCESS mcexec
|
||||||
|
SUCCESS /opt/stress_test/src/killit -np 16 -t 4000 mcexec /opt/stress_test/src/signalonfork -nosignal
|
||||||
|
SUCCESS kmsg
|
||||||
|
mck-mcexec.sh: WARNING: kmsg isn't empty
|
||||||
|
=== kmsg begins ====
|
||||||
|
[ 11]: ERROR: forking host process
|
||||||
|
[ 7]: ERROR: forking host process
|
||||||
|
[ 4]: ERROR: forking host process
|
||||||
|
[ 1]: ERROR: forking host process
|
||||||
|
|
||||||
|
=== kmsg ends ====
|
||||||
|
SUCCESS ioctl 40000000 1
|
||||||
|
SUCCESS kmsg
|
||||||
|
SUCCESS 0 processes found
|
||||||
|
SUCCESS ioctl 40000000 2
|
||||||
|
SUCCESS kmsg
|
||||||
|
SUCCESS 0 threads found
|
||||||
|
SUCCESS mcexec not found
|
||||||
|
SUCCESS kmsg
|
||||||
|
SUCCESS clear_kmsg
|
||||||
|
timeout -s 9 60 /opt/stress_test/src/killit -np 16 -t 4000 /opt/ppos//bin/mcexec /opt/stress_test/src/signalonfork -nosignal 1> /tmp/dtest.log 2>&1
|
||||||
|
SUCCESS mcexec
|
||||||
|
SUCCESS /opt/stress_test/src/killit -np 16 -t 4000 mcexec /opt/stress_test/src/signalonfork -nosignal
|
||||||
|
SUCCESS kmsg
|
||||||
|
mck-mcexec.sh: WARNING: kmsg isn't empty
|
||||||
|
=== kmsg begins ====
|
||||||
|
[ 5]: ERROR: forking host process
|
||||||
|
[ 3]: ERROR: forking host process
|
||||||
|
[ 1]: ERROR: forking host process
|
||||||
|
|
||||||
|
=== kmsg ends ====
|
||||||
|
SUCCESS ioctl 40000000 1
|
||||||
|
SUCCESS kmsg
|
||||||
|
SUCCESS 0 processes found
|
||||||
|
SUCCESS ioctl 40000000 2
|
||||||
|
SUCCESS kmsg
|
||||||
|
SUCCESS 0 threads found
|
||||||
|
SUCCESS mcexec not found
|
||||||
|
CT1001-3: OK
|
||||||
|
fork01: OK
|
||||||
|
fork02: OK
|
||||||
|
fork03: OK
|
||||||
|
fork04: OK
|
||||||
|
fork07: OK
|
||||||
|
fork08: OK
|
||||||
38
test/mng_mod/issues/882/arm64/run.sh
Executable file
38
test/mng_mod/issues/882/arm64/run.sh
Executable file
@ -0,0 +1,38 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
## run.sh COPYRIGHT FUJITSU LIMITED 2018 ##
|
||||||
|
|
||||||
|
USELTP=1
|
||||||
|
USEOSTEST=0
|
||||||
|
|
||||||
|
. ../../../../common.sh
|
||||||
|
|
||||||
|
STRESSBIN=
|
||||||
|
|
||||||
|
result=0
|
||||||
|
for i in `seq 1 5`
|
||||||
|
do
|
||||||
|
${STRESSBIN}/mck-mcexec.sh ${STRESSBIN}/killit -np 16 -t 4000 - ${STRESSBIN}/signalonfork -nosignal
|
||||||
|
if [ $? != 0 ]; then
|
||||||
|
result=-1
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ ${result} == 0 ]; then
|
||||||
|
echo "CT1001-3: OK"
|
||||||
|
else
|
||||||
|
echo "CT1001-3: NG"
|
||||||
|
fi
|
||||||
|
|
||||||
|
while read line
|
||||||
|
do
|
||||||
|
${MCEXEC} ${LTPBIN}/${line} > /dev/null
|
||||||
|
if [ $? == 0 ]; then
|
||||||
|
echo "${line}: OK"
|
||||||
|
else
|
||||||
|
echo "${line}: NG"
|
||||||
|
result=-1
|
||||||
|
fi
|
||||||
|
done < ./ltplist.txt
|
||||||
|
|
||||||
|
exit ${result}
|
||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user