ホーム > ユーザーサポート > FAQ カバレッジマスターwinAMS
【質問】
関数ポインタを含む関数の場合、処理関数のアドレスをテストケースとして入力したいのですが、関数のアドレスはリンク時に変わってしまう可能性があります。この場合、どのようにして関数のアドレスを指定すればよいですか?
/* テスト対象関数 */
int exec_func(int (*func)(void))
int eRet = -1;
if ( NULL != func )
{
eRet = (func)();
}
return eRet;
}
/* 関数ポインタで呼び出される関数 */
int subfunc(void)
{
return 1;
}
【回答】
この関数の場合、CSV雛形作成画面にて入力変数(INPUT)に引数func(ポインタ)を「アドレス設定」のオプションを使って追加します。テストデータには、関数subfuncのアドレスを直値で指定する方法の他に、呼び出される関数のシンボル名「subfunc」を記述することも可能です。