【Issue#1176 動作確認】
□ テスト内容
1. 指摘の現象が解消されていることを確認する。
C1176T01 指摘の現象が解消されていることを、テストプログラムを用いて確認
mcexec test_mck -s getrusage -n 2
2. 修正が正しく動作することをテストプログラムを用いて確認する。
変更は以下の3点である。
(1) システムコール出口で高速化のためシグナル処理を呼び出していなかったが、
ロック無しでシグナル受信を判定後に、シグナル処理を呼び出すようにした。
(2) futex_wait 処理で高速化のためシグナル受信の判定処理をしていなかったが、
ロック無しでシグナル受信を判定し、受信していた場合にfutex_wait
処理を脱出するようにした。(その後、システムコール出口でシグナルが
処理される)
(3) 高速化のためシステムコール出口での再スケジュール処理を呼び出して
いなかったが、ロック無しで再スケジュール要否を判定し、再スケジュールが
必要な場合は再スケジュール処理を行うよにした。
C1176T02 システムコールオフロード中にシグナル受信し、システムコールが中断
してシグナル処理されることを確認
C1176T03 futex_wait 処理中にシグナル受信し、futex_waitが中断してシグナルが
処理されることを確認
C1176T04 2つのプロセスを同一CPUに割り当てた状態で、各々1秒sleepするとき、
それぞれのプロセスが正しく処理されることを確認。
sleep完了後にシステムコール出口で再スケジュール処理が行われる
3. 修正が既存処理に影響しないことをLTPを用いて確認する。
シグナル関連処理(正常系)を中心にテストプログラムを選定した。
C1176T05 kill01: kill の基本機能の確認
C1176T06 kill12: kill, wait, signal の組み合わせ確認
C1176T07 pause02: pause の基本機能の確認
C1176T08 sigaction01: sigaction の基本機能の確認
□ 実行手順
$ make test
実行できない場合は、C1176.shの以下の行を適切に書き換えた後に実行。
BIN= mcexec が存在するパス
SBIN= mcreboot.sh が存在するパス
LTP= LTP が存在するパス
OSTEST= OSTEST が存在するパス
□ 実行結果
C1176.txt 参照。
全ての項目が OK となっていることを確認。