7.3.11 バッチ用プラグイン
機能
バッチ実行フェーズ時のテスト処理を行います。
形式
ANSI C、C++の形式
#include <esfrw.h> ESLONG plg_func(ESFRW_BATCH_IF *parm)
「plg_func」部分には、システム内で一意の名称を指定してください。
説明
バッチ用プラグインは、バッチ実行フェーズでのテスト処理を行います。定義または開始終了プラグインで指定されたシナリオ実行回数分呼び出されるか、プラグインの戻り値でテスト終了指示が設定されるまで、本プラグインは繰り返し呼び出されます。
パラメタの内容
ESFRW_BATCH_IFのパラメタ内容
typedef struct es_frw_batch_interface { ESULONG call_timing; …………… 呼び出し契機 char reserve1[4]; …………… 予備領域 ESFRW_COMMON *cominf; ………………… プラグイン共通情報 ESFRW_CLIENT *cltinf; ………………… テスト実行単位情報 ESULONG error_level; …………… エラーレベル } ESFRW_BATCH_IF;
ESFRW_COMMONのパラメタ内容
typedef struct es_frw_cominfo { ESULONG run_mode; ………………… フェーズ char testid[32]; ……………… テスト識別子 char plg_name[32]; …………… プラグイン名称 ESULONG max_msg_sz ;……………… 最大電文サイズ ESULONG protocol; ………………… プロトコル一覧 ESULONG tel_filetype; …………… 電文ファイルの種別 ESULONG res_filetype; …………… 結果ファイルの種別 char sel_mode; ………………… 実行モード char reserve1[3]; …………… 予備領域 char user_file[512]; ………… シナリオファイル名 ESULONG execution_count;………… シナリオ実行回数 ESULONG parallel_count; ………… シナリオ同時実行数 char *esstop_execution; …… esstopコマンド実行有無 } ESFRW_COMMON;
ESFRW_CLIENTのパラメタ内容
typedef struct es_frw_cltinfo { ESFRW_CONTAINER *continf; …………………… 引継ぎ領域情報 char client_id[16];……………… クライアント識別子 } ESFRW_CLIENT;
テーブル関連図
各テーブル間は以下のチェイン構造となります。
システム検証支援が値を設定するパラメタ項目
ESFRW_BATCH_IFのパラメタ項目
- call_timing
-
プラグインの呼び出し契機を設定します。以下になります。
ESFRW_TIMING_BATCH:バッチ実行時
- cominf
-
プラグインに共通する情報(フェーズ、テスト識別子など)を格納しているESFRW_COMMONアドレスを設定します。
- cltinf
-
テスト実行単位の情報(引継ぎ情報など)を格納したESFRW_CLIENTアドレスを設定します。それ以外の場合はNULLを設定します。
- error_level
-
ユーザが設定する項目です。システム検証支援はデフォルト値として、1を設定します。
ESFRW_COMMONのパラメタ項目
- run_mode
-
フレームワークのフェーズを設定します。以下のどれかとなります。
ESFRW_RUNMODE_CREATE_C:電文作成フェーズ(PCAP)
ESFRW_RUNMODE_CREATE_A:電文作成フェーズ(キャプチャ)
ESFRW_RUNMODE_TEST_R:テスト実行フェーズ
ESFRW_RUNMODE_TEST_C:テスト実行フェーズ(PCAP)
- test_id
-
システムテスト支援開始時に指定したテスト識別子を設定します。
- plg_name
-
framework_definition定義の-pオプションのnameフラグメンバで指定したプラグイン名称を設定します。
- max_msg_sz
-
framework_definition定義の-bオプションのmax_message_sizeフラグメンバで指定した最大電文サイズを設定します。
- protocol
-
address_destinationで指定したプロトコルを設定します。以下の論理和となります。
ESFRW_PROT_TCP:TCP
ESFRW_PROT_HTTP:HTTP
- tel_filetype
-
電文ファイルの種別を設定します。以下のどちらかの値となります。
ESFRW_FILE_AFL:蓄積ファイル
ESFRW_FILE_CSV:csvファイル
電文ファイルの種別は、framework_definition定義の-fオプションのtelegram_file_typeフラグメンバ値で指定します。
- res_filetype
-
テスト実行フェーズの場合、結果ファイルの種別を設定します。以下のどちらかの値となります。
ESFRW_FILE_AFL:蓄積ファイル
ESFRW_FILE_CSV:csvファイル
電文ファイルの種別は、framework_definition定義の-fオプションのresult_file_typeフラグメンバ値で指定します。電文作成フェーズの場合は、ESFRW_FILE_NONE(無し)を設定します。
- sel_mode
-
テスト実行フェーズのプロセス終了時は、プロセス開始時に設定した実行モードを設定します。それ以外では、ESFRW_SELMODE_NONEを設定します。
- user_file
-
framework_definition定義の-pオプションのuser_fileフラグメンバで指定したファイル名称を設定します。
- execution_count
-
framework_definition定義の-pオプションのexecution_countフラグメンバで指定した値を設定します。
- parallel_count
-
framework_definition定義の-pオプションのparallel_countフラグメンバで指定した値を設定します。
- esstop_execution
-
esstopコマンドが実行されたか否かを設定します。以下のどちらかとなります。
ESCOM_NO:esstopコマンド未実行
ESCOM_YES:esstopコマンド実行済み
ESFRW_CLIENTのパラメタ項目
- continf
-
テスト実行単位の引継ぎ領域情報(サイズなど)を格納したESFRW_CONTAINERアドレスを設定します。framework_definition定義の-bオプションのclient_area_sizeに0(引継ぎ領域を使用しない)を指定した場合、NULLを設定します。
- client_id
-
テストの実行単位となるクライアント識別子を設定します。
ユーザが設定するパラメタ項目
ESFRW_BATCH_IFのパラメタ項目
- error_level
-
プラグインでテスト失敗と判断(ESFRW_NGまたはESFRW_NG_END)した場合、KFSE84003-Iメッセージで出力するエラーレベルを1~3の範囲で設定します。範囲外を指定した場合、システム検証支援は1として処理します。
リターン値
次のコードでリターンしてください。
- ESFRW_OK
-
テスト成功。次のバッチ用プラグイン呼び出しを行う。
- ESFRW_NG
-
テスト失敗。次のバッチ用プラグイン呼び出しを行う。
- ESFRW_END
-
テスト成功。システム検証支援を終了する。
- ESFRW_NG_END
-
テスト失敗。システム検証支援を終了する。
上記以外のコードでリターンした場合は、メッセージログを出力後、ESFRW_NGが返された時と同じ動作を行います。