Files
mckernel/test/mng_mod/issues/1031/README
2018-03-27 14:53:29 +09:00

93 lines
4.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

【Issue#1031 動作確認】
Issue#1031が解決され、既存機能に影響がないことをIssueで報告されたテストプログラム1項目と、
McKernelでのsigaction()の基本動作確認10項目の計11項目のテストによって確認した。
なお、各テストの実行結果は./result.log として格納している。
1. Issueで報告されたテストプログラムによる確認
・Issue#1031 (https://postpeta.pccluster.org/redmine/issues/1031)
報告で使用されたテストプログラムを用いて、現象が再現しないことを確認した。
実行時の出力を./result.log に記載している
2. McKernelでのsigaction()の基本動作確認
以下の内容で、Issue#1031による変更が既存機能に影響しないことを確認した。
基本動作確認の詳細を以下に示す。
(1) テストの実行方法
以下の手順でテストを実行する
1. Makefileの変数MCK_DIRの内容を、McKernelがインストールされているディレクトリに変更する
2. sh make test を実行する
(2) テスト項目
CT_001: SIG_RESETHAND 指定時の動作
1. SIG_RESETHANDを指定したsigaction()でSIG_USR1にハンドラを設定
2. 自身にSIGUSR1を送る
3. 1.で登録したハンドラが呼び出される
4. 自身にSIGUSR1を送る
5. 1.で登録したハンドラが呼び出されず、プロセスが終了する
CT_002: SIG_RESETHAND 未指定時の動作
1. SIG_RESETHANDを指定しないsigaction()でSIGUSR1にハンドラを設定
2. 自身にSIGUSR1を送る
3. 1.で登録したハンドラが呼び出される
4. 自身にSIGUSR1を送る
5. 1.で登録したハンドラが呼び出される
CT_003: SIG_RESETHANDO 指定ハンドラへの上書き登録時の動作
1. SIG_RESETHANDを指定したsigaction()でSIG_USR1にハンドラを設定
2. SIG_RESETHANDを指定しないsigaction()でSIG_USR1にハンドラを設定
3. 自身にSIGUSR1を送る
4. 2.で登録したハンドラが呼び出される
5. 自身にSIGUSR1を送る
6. 2.で登録したハンドラが呼び出される
CT_004: 複数のsig_numへのハンドラ登録時の動作
1. SIG_RESETHANDを指定したsigaction()でSIG_USR1にハンドラを設定
2. SIG_RESETHANDを指定したsigaction()でSIG_USR2にハンドラを設定
3. 自身にSIGUSR1を送る
4. 1.で登録したハンドラが呼び出される
5. 自身にSIGUSR2を送る
6. 2.で登録したハンドラが呼び出される
7. 自身にSIGUSR1を送る
8. 1.で登録したハンドラが呼び出されず、プロセスが終了する
CT_005: 複数回(非上書き)のSIG_RESETHAND 指定時の動作
1. SIG_RESETHANDを指定したsigaction()でSIG_USR1にハンドラを設定
2. 自身にSIGUSR1を送る
3. 1.で登録したハンドラが呼び出される
4. SIG_RESETHANDを指定したsigaction()でSIG_USR1にハンドラを設定
5. 自身にSIGUSR1を送る
6. 4.で登録したハンドラが呼び出される
7. 自身にSIGUSR1を送る
8. 4.で登録したハンドラが呼び出されず、プロセスが終了する
CT_006: 設定中のハンドラ情報の取得 (上書き時)
1. SIG_RESETHANDを指定したsigaction()でSIG_USR1にハンドラを設定
2. sigaction(SIGUSR1, NULL, &act) で設定情報を取得できる
3. SIG_RESETHANDを指定しないsigaction()でSIG_USR1にデフォルトハンドラを設定
4. sigaction(SIGUSR1, NULL, &act) で3.で指定した設定情報を取得できる
CT_007: 設定中のハンドラ情報の取得 (デフォルトに戻った時)
1. SIG_RESETHANDを指定したsigaction()でSIG_USR1にハンドラを設定
2. 自身にSIGUSR1を送る
3. 1.で登録したハンドラが呼び出される
4. sigaction(SIGUSR1, NULL, &act) で設定情報を取得できる
CT_008: 不正なsig_numへのハンドラ登録
1. 範囲外(上限、下限)のsignumへのハンドラ登録が失敗する
2. SIGKILL, SIGSTOPへのハンドラ登録が失敗する
CT_009: SIGKILL, SIGSTOPのハンドラ情報の取得
1. sigaction(SIGKILL, NULL, &act) で設定情報を取得できる
2. sigaction(SIGSTOP, NULL, &act) で設定情報を取得できる
CT_010: sig_numの有効確認
1. sigaction(SIGUSR1, NULL, NULL) が成功する(有効)
2. sigaction(SIGKILL, NULL, NULL) が成功する(有効)
3. sigaction(SIGSTOP, NULL, NULL) が成功する(有効)
4. sigaction(_NSIG, NULL, NULL) が失敗する(無効)
(3) 結果
テストプログラムの実行結果をresult.log に示す。
上記の11項目がPASSしていることを確認した。