11.3.1 テストデータ定義ファイルの作成
テストデータ定義ファイルを作成すると,テスタファイル作成機能で簡単にテスタファイルを作成できます。
テストデータ定義ファイルの名称は任意です。テストデータ定義ファイルから作成できるテスタファイルを次に示します。
-
RPC要求データファイル
-
XATMI要求データファイル
-
TxRPC要求データファイル
-
RPC応答データファイル
-
XATMI応答データファイル
-
TxRPC応答データファイル
-
XATMI受信データファイル
-
MCF受信メッセージファイル
-
運用コマンド結果データファイル
(1) 形式
#コメント ……1. start テスタファイル識別子 テスタファイル種別 出力先ファイル名 ……2. キーワード = 入力データ ……5. キーワード = 入力データ sep ……3. キーワード = 入力データ : : : : キーワード = 入力データ end ……4.
なお,形式中の太字の数字は,「(3) 説明」の番号と対応しています。
(2) 機能
テスタファイルに設定するテストデータを定義すると,テスタファイル作成コマンドでテスタファイルを作成できます。
なお,定義ファイルでの1行の長さは,改行コードを含めて512バイトまでです。
(3) 説明
- 1.コメント文
-
コメントを記述します。
-
コメント
コメントを,1行で記述します。
- 2.start文
-
一つのテスタファイルの入力データの開始を宣言します。各テスタファイルの入力データごとに,必ず記述します。
一つのテストデータ定義ファイル内に複数のテスタファイルの入力データを作成した場合,1テスタファイルの入力データの最後にend文を記述します。
-
テスタファイル識別子 〜〈14文字以内の英数字〉
テストデータ定義ファイル中に記述した各テスタファイルのデータを区別するための識別子を指定します。1テストデータ定義ファイルで,一意の名称を指定します。
-
テスタファイル種別
テスタファイルの種別を指定します。指定できるテスタファイル種別を次に示します。
RRQ:RPC要求データファイル
XRQ:XATMI要求データファイル
TRQ:TxRPC要求データファイル
RRT:RPC応答データファイル
XRT:XATMI応答データファイル
TRT:TxRPC応答データファイル
XRV:XATMI受信データファイル
NRV:MCF受信メッセージファイル
COM:運用コマンド結果データファイル
-
出力先ファイル名 〜〈パス名〉
入力データを基に作成する,テスタファイルの名称を指定します。
一つのテストデータ定義ファイル内に,複数のテスタファイル種別の入力データを作成する場合は,ファイル種別ごとに異なった出力先ファイル名を指定します。
テスタファイル種別が異なる入力データで出力先ファイル名を重複して指定すると,指定したファイルはテストデータが追加された状態で作成されます。この場合,エラーにはなりませんが,作成されたテスタファイルがテストで使用できないことがあります。
また,すでにあるファイル名を指定した場合は,テストデータがそのファイルに追加された状態で作成されます。
- 3.sep文
-
一つのファイルに複数のデータを記述するテスタファイルを作成する場合に,一つのデータの区切りを指定します。ただし,オフラインテスタの場合は,一つのファイルに複数のデータを記述しても先頭のデータだけが有効となり,二番目以降のデータは無視されます。
次のテスタファイルを作成する際に指定できます。
-
XATMI受信データファイル
-
運用コマンド結果データファイル
-
- 4.end文
-
一つのテスタファイルの入力データの終了を宣言します。各テスタファイルの入力データごとに,必ず記述します。
- 5.入力データ定義文
-
各テスタファイルの入力データを定義します。
入力データには,あらかじめ設定できる情報が決められている固定情報データと,ユーザが任意の情報を設定できるユーザデータ(キーワードがdataの場合)とがあります。一つのテストデータ内では,固定データはすべてユーザデータの前に記述してください。
なお,一つのテストデータ内では,入力データを重複して指定できません。ただし,運用コマンド結果データファイルでは,標準出力文字列データと標準エラー出力文字列データを設定するため,ユーザデータを2回指定します。
-
キーワード
各テスタファイル特有のデータを区別するための,キーワードを指定します。
キーワードの前後の空白文字やタブコードは無視されます。
-
入力データ
キーワードに対応する入力データを指定します。
入力データの前後の空白文字やタブコードは無視されます。
固定情報データを指定する場合の入力データの形式は,「(5) テスタファイルのキーワードに対応する入力データの形式」の表を参照してください。
-
(4) 入力データにユーザデータを指定する場合に必要な設定
ユーザデータを指定する場合の,入力データの形式を次に示します。
(a) ユーザデータ長の設定
ユーザデータ全体のデータ長は,固定情報データとして次の形式で設定します。
data_len=バイト数
ユーザデータとして設定したデータが,バイト数に設定したデータ長を超えた場合は,データを切り捨ててメッセージを出力します。データがデータ長に満たない場合は,それ以上のデータは設定しません。
(b) ユーザデータの初期化
ユーザデータは,テスタファイル作成コマンドで,指定されたユーザデータ長分を初期化します。
(c) 文字データの設定
文字データは,次の形式で設定します。
data='データ'
文字データで記述した場合は,データの最後にヌル文字を付けません。
(d) バイナリデータの設定
バイナリデータは,次の形式で設定します。
data=データ
データは10進数と16進数で記述できます。記述方法を次に示します。
-
10進数:数値をそのまま設定します。
-
16進数:数値の前に'0x'を付けます。
- (例)
data=5 → データ:10進数の5 data=0x05 → データ:16進数の5
データは,int型で設定されます。
(e) 16進コード形式データの設定
16進コード形式のデータは,次の形式で設定します。
data=(code)0xデータ
データの部分には,16進コードで,nバイトのデータを2nけたで記述します。1行の最大長を超えないかぎり,記述できるデータのバイト数の制限はありません。
データ1バイトには,0x00 〜 0xffの値を記述します。
(code)の指定がない場合,データはバイナリデータの16進数の記述と見なします。
(f) 特殊文字の設定
改行コード,タブコード,ヌル文字,' ' '(一重引用符)および'\'は,文字データ中で特殊文字として扱います。これらの文字を記述する場合は,次の形式で記述してください。
記述する文字 |
記述形式 |
---|---|
改行コード |
\n |
タブコード |
\t |
ヌル文字 |
\0 |
' ' '(一重引用符) |
\' |
'\' |
\\ |
(g) ファイルからのデータ読み込みの設定
ファイルから読み込んだデータをユーザデータとして使用する場合は,次の形式で設定します。
data=(file)ファイルのパス名
- (例)
-
data=(file)/tmp/datafile → データ:/tmp/datafileのデータを設定
(h) データの開始位置の設定
データを任意の位置から設定する場合は,次の形式で設定します。
data=[ユーザデータ先頭からのオフセット]データ
(i) 複数データ形式の設定
ユーザデータに複数のデータ型を使用する場合は,次の形式で設定します。
data=データ =データ : :
- (例)
data=0x00000001 → 1番目のデータ ='ABCDEF' → 2番目のデータ
(j) バウンダリの調整
複数のデータ型の記述で前後のデータ型が異なる場合,テスタファイル作成コマンドで自動的に前のデータとのバウンダリを調整してデータを設定します。ただし,次の場合にはバウンダリを調整しません。
-
ファイルからユーザデータを読み込む場合
-
ユーザデータの開始位置を設定した場合
-
16進コード形式でデータを設定した場合
(5) テスタファイルのキーワードに対応する入力データの形式
各テスタファイルのキーワードと,それに対応する入力データの形式の一覧を,以降の表に示します。
指定する情報については,「11.2 ユーザが作成するファイル」の各テスタファイルの説明を参照してください。
キーワード |
指定する情報 |
説明 |
---|---|---|
out_len |
応答領域長 |
dc_rpc_call関数に指定する応答領域長を,10進数または16進数で設定します。 dataより前で設定します。 |
data_len |
データ長 |
dc_rpc_call関数でサーバUAPに渡すユーザデータ長を10進数または16進数で設定します。dataより前で設定します。 |
data |
データ |
dc_rpc_call関数でサーバUAPに渡すユーザデータを設定します。 |
キーワード |
指定する情報 |
説明 |
---|---|---|
call_kind |
呼び出し種別 |
サービス要求する関数種別として,次の文字列のどれかを設定します。
dataより前で設定します。 |
buff_type |
タイプ |
バッファタイプとして,次の文字列のどれかを設定します。
dataより前で設定します。 |
sub_type |
サブタイプ |
サブタイプを16文字以内の文字列で設定します。dataより前で設定します。 (例)sub_type=subtype01 |
flag |
フラグ |
サービス関数に渡すフラグとして,次の文字列を設定します。複数のフラグを設定する場合は,'|'で区切ります。
dataより前で設定します。 |
data_len |
データ長 |
tpcall関数,tpacall関数,またはtpconnect関数でサーバUAPに渡すユーザデータ長を10進数または16進数で設定します。dataより前で設定します。 |
data |
データ |
tpcall関数,tpacall関数,またはtpconnect関数でサーバUAPに渡すユーザデータを設定します。 |
キーワード |
指定する情報 |
説明 |
---|---|---|
version |
バージョン番号 |
txidlコマンドのインタフェース定義で指定したバージョン番号を10進数または16進数で設定します。dataより前で設定します。バージョン番号は省略できます。省略時は,0が設定されたと見なします。設定できる範囲は0〜65535です。
|
data_len |
データ長 |
サーバUAPに渡すユーザデータ長を10進数または16進数で設定します。dataより前で設定します。 |
data |
データ |
サーバUAPに渡すユーザデータを設定します。 |
キーワード |
指定する情報 |
説明 |
---|---|---|
data_len |
データ長 |
サービス終了時にクライアントUAPに返すユーザデータ長を,10進数または16進数で設定します。dataより前で設定します。 |
data |
データ |
サービス終了時にクライアントUAPに返すユーザデータを設定します。 |
キーワード |
指定する情報 |
説明 |
---|---|---|
buff_type |
タイプ |
バッファタイプとして,次の文字列のどれかを設定します。
dataより前で設定します。 |
sub_type |
サブタイプ |
サブタイプを16文字以内の文字列で設定します。dataより前で設定します。 (例)sub_type=subtype01 |
rval |
サービス終了コード |
サービス終了コードとして,次の文字列のどれかを設定します。
dataより前で設定します。 |
rcode |
リターンコード |
リターンコードを10進数または16進数で設定します。dataより前で設定します。 |
data_len |
データ長 |
サービス終了時にクライアントUAPに返すユーザデータ長を10進数または16進数で設定します。dataより前で設定します。 |
data |
データ |
サービス終了時にクライアントUAPに返すユーザデータを設定します。 |
キーワード |
指定する情報 |
説明 |
---|---|---|
data_len |
データ長 |
クライアントUAPに渡すユーザデータ長を,10進数または16進数で設定します。 dataより前で設定します。 |
svc_rtn |
リターン値 |
クライアントUAPに渡すリターン値を,10進数または16進数で設定します。 dataより前で設定します。 |
data |
データ |
クライアントUAPに渡すユーザデータを設定します。 |
キーワード |
指定する情報 |
説明 |
---|---|---|
buff_type |
タイプ |
バッファタイプとして,次の文字列のどれかを設定します。
dataより前で設定します。 |
sub_type |
サブタイプ |
サブタイプを16文字以内の文字列で設定します。dataより前で設定します。 (例)sub_type=subtype01 |
event |
イベントフラグ |
tprecv関数に渡すイベントフラグとして,次の文字列のどれかを設定します。
dataより前で設定します。 |
data_len |
データ長 |
tprecv関数に渡すユーザデータ長を10進数または16進数で設定します。 dataより前で設定します。 |
data |
データ |
tprecv関数に渡すユーザデータを設定します。 |
sep |
sep文 |
複数サービス分のデータを記述する場合に,1サービス分のデータの最後に記述します。ただし,最終データのあとには記述しません。 |
- 注
-
複数サービス分のデータを設定する場合は,buff_type以下のデータを繰り返し設定します。
キーワード |
指定する情報 |
説明 |
---|---|---|
termname |
入出力論理端末名称 |
dc_mcf_receive関数に渡す入出力論理端末名称を,8文字以内の文字列で設定します。dataより前で設定します。 |
mapname |
マップ名 |
dc_mcf_receive関数に渡すマップ名を,8文字以内の文字列で設定します。 dataより前で設定します。 |
seg_kind |
セグメント種別 |
dc_mcf_receive関数に渡すセグメント種別として,次の文字のどれかを設定します。
複数セグメント分のデータがある場合は,次のどれかの順序で設定します。
dataより前で設定します。 |
data_len |
メッセージ長 |
dc_mcf_receive関数に渡すセグメントのユーザデータ長を10進数または16進数で設定します。dataより前で設定します。 |
data |
メッセージ |
dc_mcf_receive関数に渡すセグメントのユーザデータを設定します。 |
- 注
-
複数セグメント分のデータを設定する場合は,seg_kind以下のデータを繰り返し設定します。
キーワード |
指定する情報 |
説明 |
---|---|---|
status_code |
運用コマンドの結果コード |
運用コマンドが返す結果コードを,10進数で設定します。dataより前で設定します。 |
outsize |
標準出力文字列長 |
運用コマンドが標準出力に出力するメッセージ長を,10進数または16進数で設定します。dataより前で設定します。 |
errsize |
標準エラー出力文字列長 |
運用コマンドが標準エラー出力に出力するメッセージ長を,10進数または16進数で設定します。dataより前で設定します。 |
data |
標準出力文字列 |
運用コマンドが標準出力に出力するメッセージを,文字データで設定します。 |
data |
標準エラー出力文字列 |
運用コマンドが標準エラー出力に出力するメッセージを,文字データで設定します。 |
sep |
sep文 |
複数コマンド分のデータを記述する場合に,1コマンド分のデータの最後に記述します。ただし,最終データのあとには記述しません。 |