Add test programs for #1190

Change-Id: Icb63e898d5882e1fab18e6af7859af50448a1d60
This commit is contained in:
Ken Sato
2019-02-06 10:31:17 +09:00
committed by Dominique Martinet
parent 950ea678dd
commit 0a49b6eca5
4 changed files with 126 additions and 0 deletions

42
test/issues/1190/C1190.sh Normal file
View File

@ -0,0 +1,42 @@
#!/bin/sh
USELTP=0
USEOSTEST=1
. ../../common.sh
CYCLE=50
REPS=100
cnt=0
tid=001
echo "*** CT$tid start *******************************"
echo -n "" > ./CT${tid}.txt
for i in `seq 1 ${CYCLE}`
do
for j in `seq 1 ${REPS}`
do
${MCEXEC} ${TESTMCK} -s ptrace -n 15 > /dev/null 2>&1
${IHKOSCTL} 0 clear_kmsg
${IHKOSCTL} 0 ioctl 40000000 1
${IHKOSCTL} 0 kmsg > ./tmp_out.txt
if grep "0 processes are found" ./tmp_out.txt \
> /dev/null 2>&1 ; then
echo "[OK] process is not found" >> ./CT${tid}.txt
else
echo "[NG] process is found" >> ./CT${tid}.txt
fi
done
if grep "[NG]" ./CT${tid}.txt > /dev/null 2>&1; then
echo "[NG] fail occurred"
echo "*** CT${tid}: FAILED"
exit 1
else
cnt=`expr ${cnt} + ${REPS}`
echo "[OK] ${cnt} times succeed"
fi
done
echo "*** CT${tid}: PASSED"

View File

@ -0,0 +1,9 @@
TARGET=
all:: $(TARGET)
test:: $(TARGET)
sh ./C1190.sh
clean::
rm -f *.o $(TARGET)

23
test/issues/1190/README Normal file
View File

@ -0,0 +1,23 @@
【Issue#1190 動作確認】
□ テスト内容
Issue#1190 はPID1へのSIGCHLD送信の問題として報告されているが、
プロセス残留の直接的な原因はIssue#1257で報告された排他処理の不足によるものである。
そのため、Issue#1257 の対策によってIssue#1190の現象は解消されているはずである。
しかし、Issue#1190とIssue#1257では症状を発生させる手順が異なるため、
Issue#1190の再現手順で症状が発生しないことを確認する。
テスト内容は以下の通りである。
1. Issue 指摘事項の再現確認
CT001 ostest-ptrace.007 を連続して5,000回実行し、プロセス残留が発生しないことを確認する
□ 実行手順
$ make test
McKernelのインストール先や LTP の配置場所は、$HOME/.mck_test_config を
参照する。.mck_test_config は、McKernel を ビルドした際に生成される
mck_test_config.sample ファイルを $HOME に コピーし、適宜編集すること。
□ 実行結果
result.log 参照。
すべての項目をPASSしていることを確認。

View File

@ -0,0 +1,52 @@
*** CT001 start *******************************
[OK] 100 times succeed
[OK] 200 times succeed
[OK] 300 times succeed
[OK] 400 times succeed
[OK] 500 times succeed
[OK] 600 times succeed
[OK] 700 times succeed
[OK] 800 times succeed
[OK] 900 times succeed
[OK] 1000 times succeed
[OK] 1100 times succeed
[OK] 1200 times succeed
[OK] 1300 times succeed
[OK] 1400 times succeed
[OK] 1500 times succeed
[OK] 1600 times succeed
[OK] 1700 times succeed
[OK] 1800 times succeed
[OK] 1900 times succeed
[OK] 2000 times succeed
[OK] 2100 times succeed
[OK] 2200 times succeed
[OK] 2300 times succeed
[OK] 2400 times succeed
[OK] 2500 times succeed
[OK] 2600 times succeed
[OK] 2700 times succeed
[OK] 2800 times succeed
[OK] 2900 times succeed
[OK] 3000 times succeed
[OK] 3100 times succeed
[OK] 3200 times succeed
[OK] 3300 times succeed
[OK] 3400 times succeed
[OK] 3500 times succeed
[OK] 3600 times succeed
[OK] 3700 times succeed
[OK] 3800 times succeed
[OK] 3900 times succeed
[OK] 4000 times succeed
[OK] 4100 times succeed
[OK] 4200 times succeed
[OK] 4300 times succeed
[OK] 4400 times succeed
[OK] 4500 times succeed
[OK] 4600 times succeed
[OK] 4700 times succeed
[OK] 4800 times succeed
[OK] 4900 times succeed
[OK] 5000 times succeed
*** CT001: PASSED