Files
mckernel/test/mng_mod/issues/882
2018-03-27 14:53:29 +09:00
..
2018-02-22 11:42:43 +09:00
2018-02-22 11:42:43 +09:00
2018-02-22 11:42:43 +09:00
2018-02-22 11:42:43 +09:00
2018-02-22 11:42:43 +09:00
2018-02-22 11:42:43 +09:00
2018-02-22 11:42:43 +09:00
2018-03-27 14:53:29 +09:00

【Issue#882 動作確認】
1. Issue#882 (https://postpeta.pccluster.org/redmine/issues/882)
   に記載のテストプログラムを用いて現象が解消されていることを
   確認した。(テストプログラム1本、確認項目3件)

実行結果(エビデンス)は以下の通り。

CT1001-3.txt Issue#882の指摘で使用されたテストプログラムの実行結果
             (OK 3件、NG 0件)
     McKernelにプロセス残留が無いこと(ihkosctl 0 ioctl 40000000 1の結果 0)
     McKernelにスレッド残留が無いこと(ihkosctl 0 ioctl 40000000 2の結果 0)
     Linuxにmcexecプロセス残留が無いこと(ps axg|grep mcexecの結果、プロセスなし)

尚、タイミングによって発生しない可能性があるため、複数回(5回以上)繰り返し実行
し、再発しないことを確認した。

2. Issue#882の変更が既存fork機能に影響しないことをLTPを用いて確認した。
   (テストプログラム6本、確認項目12件)

テストの実行方法は以下の通り。

(1) 以下の内容のファイルを<ltp-install>/runtest/mylistとして作成
fork01 fork01
fork02 fork02
fork03 fork03
fork04 fork04
fork07 fork07
fork08 fork08

(2) 以下のコマンドを実行

  cd <ltp-top>
  sudo <mckernel-install>/sbin/mcreboot.sh -c 2-7 -m 2G -O
  sudo sh -c 'LTPMCEXEC=<mckernel-install>/bin/mcexec install/runltp -f mylist'

実行結果(エビデンス)は以下の通り。

fork01.txt fork後に子プロセスのプロセスIDが正しいことを確認 (OK 2件)
fork02.txt fork後にwaitを行い、waitが子プロセスのPIDを返却することを確認(OK 1件)
fork03.txt forkで生成した子プロセスが処理を行った後でもfork返却値に変化が無い
           (親プロセス側の返却値で上書きされていない)ことを確認 (OK 1件)
fork04.txt forkで生成した子プロセスが環境変数を変更しても、親プロセス側の
           環境変数に変化が無いことを確認 (OK 3件)
fork07.txt forkした子プロセスに、親プロセスからファイルディスクリプタを
           引き継いでいることを確認 (OK 1件)
fork08.txt forkした複数の子プロセスが、それぞれ親プロセスから引き継いだファイル
           ディスクリプタを別個に操作できることを確認
           (ある子プロセスがcloseしても別な子プロセスがI/O可能) (OK 4件)