ホーム > ユーザーサポート > FAQ カバレッジマスターwinAMS
【質問】
CasePlayer2で詳細解析が完了したファイル内にstatic関数がある場合、CSV雛形作成の設定画面で、staticがついていないグローバル関数は問題なく見つかりますが、static関数が見つかりません。どのようにしたら、テスト対象関数にできるでしょうか?
【回答】
以下の2つの場合があります。
(1)
スタティック関数の表示形式は、[ソースファイル名]/[関数名]となります。(例:main.c/func1)この形式の関数名を確認してください。モジュールテスト用雛形作成画面の関数参照ボタンで表示される関数選択画面には、この形式で表示されます。
(2)
コンパイラの最適化によって、テスト対象関数がインライン化される事があります。インライン化された関数は、関数オブジェクトにならないため関数名リストに表示されず、カバレッジマスターでのテスト対象にすることは出来ません。回避方法としては、インライン化を外して、通常の関数としてコンパイルして頂くしか有りません。
■明示的にインライン指定をしていなくてもコンパイラの最適化によって、インライン展開される一例
static int test(int input) { return ( 0x00FFU & (input >> 0x08U)); }
【補足情報】
コンパイラの最適化やインライン指定によりインライン化された関数のテスト方法や、テストの考え方についての詳細は、下記のFAQをご覧ください。