Files
mckernel/test/issues/976
Ken Sato e803698618 test: Refactor test programs
Change-Id: I77fec2f5f30f6fda3bda6f85ce00f1c2e7f7a9b3
2018-09-25 12:45:20 +09:00
..
2018-09-25 12:45:20 +09:00
2018-08-01 15:11:05 +09:00
2018-08-01 15:11:05 +09:00
2018-08-01 15:11:05 +09:00
2018-08-01 15:11:05 +09:00
2018-09-25 12:45:20 +09:00

【Issue#976 動作確認】
□ テスト内容
1. Issueで報告された再現プログラムでの確認
CT_001: sigaltstackがexecve時に初期化されていることの確認
	1. 自プロセスの代替シグナルスタック(ss_sp)がNULLであることを確認
	2. sigaltstack()で新たに代替シグナルスタックを設定
	3. execve で自身を再実行し、自プロセスの代替シグナルスタックがNULLであることを確認

CT_002: fenvの浮動小数点例外発生フラグがexecve時に初期化されていることを確認
	1. fetestexcept(FE_ALL_EXCEPT)で自プロセスの浮動小数点例外の発生フラグが
	   すべて0であることを確認
	2. 0除算を実行し、浮動小数点例外(FE_INVALID)を発生させる
	3. fetestexcept(FE_ALL_EXCEPT)で自プロセスのFE_INVALIDフラグが1に
	   なっていることを確認
	4. feraiseexcept(FE_ALL_EXCEPT)で自プロセスの浮動小数点例外の発生フラグを
	   すべて1にする
	5. execve で自身を再実行し、浮動小数点例外の発生フラグがすべて0であることを確認

CT_003: fenvの浮動小数丸めの設定がexecve時に初期化されていることを確認
	1. fegetround() で自プロセスの丸めモードを取得し、FE_TONEARESTであることを確認
	2. fesetround(FE_TOWARDZERO) で自プロセスの丸めモードをFE_TOWARDZEROに変更する
	3. execve で自身を再実行し、自プロセスの丸めモードがFE_TONEARESTであることを確認

2. 既存のexecve機能に影響がないことをLTPを用いて確認
LT_001: ltp-execve01
	子プロセスがexecveを実行し、正常に終了することを確認 (TPASS 1件)

LT_002: ltp-execve02
	rootのみに実行権限が付与された実行ファイルを、
	一般ユーザがexecveした場合に失敗することを確認 (TPASS 1件)

LT_003: ltp-execve03
	下記の不正な引数でexecveを実行した場合、返り値と設定されるerrnoが
	正しいことを確認 (TPASS 6件)

LT_004: ltp-execve05
	execveの標準的な動作を確認 (TPASS 8件)

□ 実行手順
$ make test

McKernelのインストール先や、OSTEST, LTPの配置場所は、
$HOME/.mck_test_config を参照している
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
$HOMEにコピーし、適宜編集する

□ 実行結果
result.log 参照。
すべての項目をPASSしていることを確認。