12.9.1 オフラインテスタに関する注意事項
- 〈この項の構成〉
(1) テスタプロセス異常終了時の後処理
オフラインテスタは,プロセス間を制御するために,パイプ機能および共用メモリ機能を使用しています。
割り込みキーを入力するなど,不測の事態でオフラインテスタを異常終了させた場合,使用中だった共用メモリ領域や一時ファイルが割り当てられたままになります。
そのままでもオフラインテスタを再度実行できますが,資源効率に問題がある場合は,ユーザが削除してください。
オフラインテスタが使用する一時ファイルに付けるファイル名は,次のとおりです。
-
shmxxxx(/tmpディレクトリの下に作成)
-
cpixxxx(/tmpディレクトリの下に作成)
-
ppixxxx(/tmpディレクトリの下に作成)
-
tttttttt(/tmpディレクトリの下に作成)
-
aaaaaaaaxxxx(/tmpディレクトリの下に作成)
- (凡例)
-
- xxxx
-
実行時のプロセスIDの16進表示です。
- tttttttt
-
dc_mcf_receive関数で先頭セグメントを受信したときに返された論理端末名称と同じ名称です(最大8文字)。
- aaaaaaaa
-
オフラインテスタ環境定義ファイルで指定したISTテーブル名称と同じ名称です(最大8文字)。
- (例)
-
-
shm4e7
-
cpi3e9
-
ppi3e8
-
termnalA
-
また,オフラインテスタの異常終了のタイミングによっては,UAPプロセスおよびデバッガプロセス(デバッガの連動指定時)が残ることがあります。この場合は,ユーザがkillコマンドでプロセスを終了させてください。
(2) オフラインテスタの上限値
オフラインテスタ使用時の上限値を,次の表に示します。
項目 |
項目の詳細 |
上限値 |
上限値を超えたときの処置 |
---|---|---|---|
UAP起動待ち時間 |
オフラインテスタ起動時またはstartサブコマンド実行時,UAPプロセスを生成してからUAPプロセスが起動を開始する(dc_rpc_open関数を発行する)までの時間 |
60分 |
エラーメッセージを出力後,プロセスを強制終了させます※1。 |
UAP停止待ち時間 |
オフラインテスタ終了時またはstopサブコマンド実行時,UAPプロセスに終了を要求してから終了するまでの時間。デバッガの連動を指定しているUAPでは,デバッガプロセスが終了するまでの時間 |
10分 |
UAPプロセス,およびデバッガプロセスを強制終了させます。 |
コマンド行長さ |
オフラインテスタのサブコマンドのコマンド行の長さ。または連続実行コマンドファイルの定義行の長さ |
254バイト |
エラーメッセージを出力後,コマンドを拒否します。 |
定義行長さ |
オフラインテスタ環境定義ファイルの定義行の長さ,または関数リターン値ファイルの定義行の長さ |
510バイト |
エラーメッセージを出力後,その行を無視して定義解析を続行します※2。 |
パス名情報長さ |
オフラインテスタ環境定義やコマンドで指定する,ディレクトリ名やパス名の長さ |
255バイト |
エラーメッセージを出力後,その指定を無効にします。 |
関数リターン値の定義数 |
関数リターン値ファイル内の関数リターン値の定義数 |
200 |
エラーメッセージを出力後,以降の行を無視して処理を続行します。 |
DAMファイル数 |
一つのUAP内で,dc_dam_open関数またはdc_dam_create関数でオープンしたDAMファイルの数 |
200 |
エラーメッセージを出力後,dc_dam_open関数またはdc_dam_create関数をエラーリターンさせます。 |
TAMファイル数 |
一つのUAP内で,dc_tam_open関数でオープンしたTAMファイルの数 |
200 |
エラーメッセージを出力後,dc_tam_open関数をエラーリターンさせます。 |
dc_rpc_call関数の発行数 |
一つのUAP内で,dc_rpc_poll_any_replies関数を発行しないで,DCRPC_NOWAIT指定のdc_rpc_call関数を発行した数 |
200 |
エラーメッセージを出力後,dc_rpc_call関数をエラーリターンさせます。 |
同期型メッセージ送受信関数の発行数 |
一つのサービス内で,dc_mcf_sendrecv関数,およびdc_mcf_recvsync関数を発行した数 |
100 |
エラーメッセージを出力後,dc_mcf_sendrecv関数またはdc_mcf_recvsync関数をエラーリターンさせます。 |
- 注※1
-
デバッガの連動を指定しているUAPは,対象外です。
- 注※2
-
定義解析終了後,オフラインテスタの起動を続行するかどうかの応答待ちになります。
(3) サービスグループのリカーシブコール
オフラインテスタでは,サービス関数内でdc_rpc_call関数を発行して,サービスをネストして実行できます。ただし,別サービスであっても,同じサービスグループ内のサービスをネスト内で2回以上コールできません。
オフラインテスタでのリカーシブコールの例を,次の図に示します。
|
(4) サービスを受け付ける前後で発行できない関数
オフラインテスタでは,サービスを受け付ける前やサービスを受け付けたあと(dc_rpc_mainloop関数,またはdc_mcf_mainloop関数の発行前かリターン後)に次の関数を発行すると,エラーメッセージが出力されてエラーリターンします。
-
dc_rpc_call関数
-
dc_adm_call_command関数
-
dc_mcf_open,dc_mcf_close,dc_mcf_mainloop以外のMCF関数
(5) ユーザオウンコーディング関数
オフラインテスタでは,ユーザオウンコーディングに関する関数のうち,dc_mcf_svstart関数はサポートしません。この関数を含むUAPをテストする場合,ユーザは同じ名称のダミーの関数を作成して,リンケージしてください。
(6) DAMファイルアクセス関数でのTAMテーブルへのアクセス
オフラインテスタでは,DAMファイルアクセス関数でTAMテーブルにアクセスできません。アクセスした場合は,その動作は保証しません。
(7) トランザクション内外の処理
オフラインテスタでは,トランザクション内外を意識した処理はサポートしません。
(8) tpsend関数でのイベントの受け取り
XATMIインタフェースの会話型のサービス要求では,tpsend関数でイベントを受け取ることはできません。UAPのイベントを確認する場合は,関数リターン値ファイルを使用してください。
(9) ISTテーブルへのアクセス
オフラインテスタのISTシミュレーション機能では,ISTテーブルの内容を一時ファイルに格納して,参照や更新の処理をしています。このため,本来なら発生しないファイルアクセスエラーが発生する場合があります。
この場合は,エラーメッセージが出力され,ファイルアクセスエラーが発生した関数がエラーリターンします。リターン値は,その関数が返すエラーリターン値のどれかです。