Files
mckernel/test/user_space
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
..
2018-09-19 08:54:08 +00:00
2018-09-19 08:54:08 +00:00
2018-09-19 08:54:08 +00:00

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.

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.

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