【Issue#898,#928 動作確認】 Issue#898, #928が解決され、既存機能に影響がないことをihklibテストスイートを用いた確認(2項目)と、 McKernelの起動/終了の基本動作確認(9項目)の計11項目のテストによって確認した。 ①ihklibテストスイートを用いた確認 ・Issue#898 ihklibテストスイートのihklib001_lin.c を以下のように修正して1000回繰り返し実行し、 すべての実行においてテストをパスすることを確認した。 - McKernelのブート処理の直後にgoto文を追加し、シャットダウン処理の直前に移動する ・Issue#928 ihklibテストスイートのihklib001_lin.c を以下のように修正して1000回繰り返し実行し、 すべての実行においてテストをパスすることを確認した。 - McKernelプロセス(mcexec)の実行直後にgoto文を追加し、シャットダウン処理の直前に移動する ②McKernelの起動/終了の基本動作確認 McKernelの状態と、終了処理(shutdown, destroy)の組み合わせで、 9項目のテストを実施した。 基本動作確認の詳細を以下に示す。 1. ファイルの説明 CT_xxx.c 各テスト項目のテストプログラム force_shutdown.patch McKernelの状態がRUNNINGにならなかった場合に行う強制シャットダウン処理を 発生させるパッチファイル result.log テストプログラムの実行結果 2. テストの実行方法 以下の手順でテストを実行する 1. Makefileの変数MCK_DIRの内容を、McKernelがインストールされているディレクトリに変更する 2. CT_xxx.c の定数MCK_DIRの内容を、McKernelがインストールされているディレクトリに変更する 3. sh make test を実行する 3. テスト項目 以下の条件でMcKernelの起動/終了が正常に行われることを確認する なお、McKernelの起動、終了の操作はihklibを用いて実施する CT_001: 1. McKernelを起動(ihk_os_boot)する 2. 起動の直後にMcKernelを終了(ihk_os_shutdown)する ⇒ ihk_os_shutdownが0を返す CT_002: 1. McKernelを起動(ihk_os_boot)する 2. 起動の直後に対象のIHK_OSインスタンスを破棄(ihk_os_destroy)する ⇒ ihk_os_destroyが0を返す CT_003: 1. McKernelを起動(ihk_os_boot)する 2. McKernelプロセスを実行する 3. McKernelプロセスの実行終了直後にMcKernelを終了(ihk_os_shutdown)する ⇒ ihk_os_shutdownが0を返す CT_004: 1. McKernelを起動(ihk_os_boot)する 2. McKernelプロセスを実行する 3. McKernelプロセスの実行終了直後に対象のIHK_OSインスタンスを破棄(ihk_os_destroy)する ⇒ ihk_os_destroyが0を返す CT_005: 1. McKernelを起動(ihk_os_boot)する 2. McKernelプロセスを実行する 3. McKernelプロセスの実行中にMcKernelを終了(ihk_os_shutdown)する ⇒ ihk_os_shutdownが0を返す CT_006: 1. McKernelを起動(ihk_os_boot)する 2. McKernelプロセスを実行する 3. McKernelプロセスの実行中に対象のIHK_OSインスタンスを破棄(ihk_os_destroy)する ⇒ ihk_os_destroyが0以外を返す (ref_count != 0) CT_007: 1. McKernelの起動処理の中の、カーネルイメージのロード(ihk_os_load)までを実施する 2. McKernelを終了(ihk_os_shutdown)する ⇒ ihk_os_shutdownが0を返す CT_008: 1. McKernelを起動(ihk_os_boot)する 2. McKernelプロセスを実行する 3. McKernelプロセスの実行終了直後にMcKernelを終了(ihk_os_shutdown)する 4. ihk_os_get_status がSHUTDOWNまたは、INACTIVEを返すことを確認する 5. 終了したMcKernelに対して、再度終了(ihk_os_shutdown)する ⇒ ihk_os_shutdownが0以外を返す CT_009: 前提:force_shutdown.patch を適用してMcKernelをビルドする 1. McKernelを起動(ihk_os_boot)する 2. 起動の直後にMcKernelを終了(ihk_os_shutdown)する ⇒ ihk_os_shutdownが0を返す 4. 結果 テストプログラムの実行結果はresult.log に出力される。 上記9項目で[OK]が出力されていることを確認した。