From 0a49b6eca5b28f91b6818b56d7eab8d5ddd9d4cb Mon Sep 17 00:00:00 2001 From: Ken Sato Date: Wed, 6 Feb 2019 10:31:17 +0900 Subject: [PATCH] Add test programs for #1190 Change-Id: Icb63e898d5882e1fab18e6af7859af50448a1d60 --- test/issues/1190/C1190.sh | 42 ++++++++++++++++++++++++++++++ test/issues/1190/Makefile | 9 +++++++ test/issues/1190/README | 23 ++++++++++++++++ test/issues/1190/result.log | 52 +++++++++++++++++++++++++++++++++++++ 4 files changed, 126 insertions(+) create mode 100644 test/issues/1190/C1190.sh create mode 100644 test/issues/1190/Makefile create mode 100644 test/issues/1190/README create mode 100644 test/issues/1190/result.log diff --git a/test/issues/1190/C1190.sh b/test/issues/1190/C1190.sh new file mode 100644 index 00000000..86bac57d --- /dev/null +++ b/test/issues/1190/C1190.sh @@ -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" + diff --git a/test/issues/1190/Makefile b/test/issues/1190/Makefile new file mode 100644 index 00000000..2698f9cf --- /dev/null +++ b/test/issues/1190/Makefile @@ -0,0 +1,9 @@ +TARGET= + +all:: $(TARGET) + +test:: $(TARGET) + sh ./C1190.sh + +clean:: + rm -f *.o $(TARGET) diff --git a/test/issues/1190/README b/test/issues/1190/README new file mode 100644 index 00000000..b7664c08 --- /dev/null +++ b/test/issues/1190/README @@ -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していることを確認。 diff --git a/test/issues/1190/result.log b/test/issues/1190/result.log new file mode 100644 index 00000000..90030e27 --- /dev/null +++ b/test/issues/1190/result.log @@ -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