Files
mckernel/test/user_space/ReadMe
T
Masamichi Takagi 3df82d61ce test: Fix tests of "user_space"
user_space/swapout/swapout_copy_to_01.sh:
* Use ~/.mck_test_config
* Fix checking if McKernel version is written in swap-file

user_space/futex/futex_test.sh:
* Use ~/.mck_test_config

user_space/perf_event_open/perf_event_open_test.sh
* Use ~/.mck_test_config

Change-Id: Id93b207ed0e3e9ebf307073db81b40335bc5b140
2018-09-19 08:54:08 +00:00

98 lines
4.6 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
User spaceテストについて
1.テストの準備
1.1 設定ファイル
以下のコマンドでシェルスクリプトの変数設定用includeファイルを準備します。
cp -i <build>/mckernel/mck_test_config.sample ~/.mck_test_config
1.2 パッチファイル
テストは、修正部分に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.3 パッチの適用
mckernelディレクトリで以下コマンドを実行してパッチを当ててください。
パッチ実行後ビルドしてください。
patch -p1 < ./test/user_space/patch/XXXX.patch
(XXXX.patchはパッチファイル名)
1.4 その他プログラムのコンパイル
(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ノードのテストのため不要
以上