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ノードのテストのため不要 以上