92 lines
4.4 KiB
Plaintext
92 lines
4.4 KiB
Plaintext
User spaceテストについて
|
||
1.テストの準備
|
||
1.1 パッチファイル
|
||
テストは、修正部分にkprintfをパッチで追加し確認を行います。
|
||
パッチファイルは以下のディレクトリに格納しています。
|
||
mckernel/test/user_space/patch/
|
||
以下にテストとパッチの対応を示します。
|
||
|
||
パッチファイル名 対象システムコール テストID
|
||
syscall.patch perf_event_open perf_001-perf_008
|
||
syscall.patch futex futes_001-futex_011
|
||
syscall.patch process_vm_readv pvr_001-pvr_033
|
||
syscall.patch process_vm_writev pvw_001-pvw_031
|
||
syscall.patch move_pages mpo_001-mp_012
|
||
pager_copy_from.patch swapout so_001-so_006
|
||
pager_copy_to_01.patch swapout so_007-so_013
|
||
pager_copy_to_02.patch swapout so_014-so_022
|
||
なし swapout so_023-so_025
|
||
qlmpilib.patch swapout so_026
|
||
|
||
1.2 パッチの適用
|
||
mckernelディレクトリで以下コマンドを実行してパッチを当ててください。
|
||
パッチ実行後ビルドしてください。
|
||
|
||
patch -p1 < ./test/user_space/patch/XXXX.patch
|
||
(XXXX.patchはパッチファイル名)
|
||
|
||
|
||
1.3 その他プログラムのコンパイル
|
||
(1)user_space/swapoutディレクトリで、makeし、swaptest実行モジュールを作成してください。
|
||
(2)qlmpi/qlmpi_testsuiteディレクトリで、テスト用プログラムのコンパイルを実施してください。
|
||
(3)LTPプログラムの実行モジュールを準備する必要があります。
|
||
|
||
2.テストについて
|
||
user_spaceのディレクトリにあるシェルについて説明します。
|
||
2.1 システムコールテスト用シェル
|
||
go_syscall_test.sh [auto]
|
||
説明
|
||
perf_event_open,futex,process_vm_readv,process_vm_writev,move_pages
|
||
のテストを実行する。auto指定時、git reset --hard HEADコマンドで
|
||
リセット後パッチを当て、ビルド後テストを開始する。
|
||
テスト結果は、各システムコールディレクトリの下に.logファイルとして
|
||
保存する。
|
||
システムコールごと個別のテストを行う場合は、各システムコール名の
|
||
ディレクトリにあるテスト用のシェルを実行する。
|
||
2.2 swapoutテスト用シェル
|
||
go_swapout_test.sh [auto]
|
||
説明
|
||
swapoutのテストを実行する。auto指定時、git reset --hard HEADコマンドで
|
||
パッチを当て、ビルド後テストを繰り返す。
|
||
テスト結果は、swapoutディレクトリに.logファイルとして保存する。
|
||
パッチを手で当ててテストを行う場合は、swapoutディレクトリにある、
|
||
テスト用のシェルを対応するパッチを当ててから実行する。
|
||
2.3 パッチ及びビルドコマンド
|
||
patch_and_build.sh [patch_filename]
|
||
説明
|
||
git reset --hard HEADでソースをリセット後、引数で指定されたパッチを
|
||
当ててからビルドする。引数を指定しない場合は、ソースをリセットして
|
||
ビルドを行う。テスト用シェルでautoオプションを付けた場合、テスト用
|
||
シェルから本シェルを呼び出す。
|
||
|
||
3. configファイル
|
||
configファイルは各テストディレクトリにあります。各ディレクトリのシェルから
|
||
参照されます。
|
||
user_space/config
|
||
MCMOD_DIR mckernelのディレクトリ
|
||
SRC_PATH ソースディレクトリ
|
||
TEST_DIR テストプログラムがあるディレクトリ
|
||
|
||
user_space/perf_event_open/config
|
||
user_space/futex/config
|
||
user_space/process_vm/config
|
||
user_space/move_pages/config
|
||
MCPATH mckernelのディレクトリ
|
||
LTP_EXE_DIR LTPの実行ファイルがあるディレクトリ
|
||
|
||
user_space/swapout/config
|
||
MCMOD_DIR mckernelのディレクトリ
|
||
START ql_mpiexec_startのパスqlmpiテスト用
|
||
FINALIZE ql_mpiexec_finalizeのパスqlmpiテスト用
|
||
USR_PRG_A qlmpiテスト用プログラム /test/qlmpi/qlmpi_testsuite参照
|
||
USR_PRG_B qlmpiテスト用プログラム /test/qlmpi/qlmpi_testsuite参照
|
||
USR_PRG_C qlmpiテスト用プログラム /test/qlmpi/qlmpi_testsuite参照
|
||
USR_PRG_IRREG qlmpiテスト用プログラム /test/qlmpi/qlmpi_testsuite参照
|
||
|
||
4. その他
|
||
4.1 qlmpiテスト用のマシンファイルの設定
|
||
user_space/swapout/test_cases/CT01.txt
|
||
MASTER マスターノードのマシン名もしくはIPアドレス
|
||
SLAVE 1ノードのテストのため不要
|
||
以上
|