特別な parasoft-instrumentation coverage
コメントを使用し、特定の関数のカバレッジ インストゥルメンテーションを無効または有効にできます。
// parasoft-instrumentation coverage off
- カバレッジ インストゥルメンテーションを無効化// parasoft-instrumentation coverage on
- カバレッジ インストゥルメンテーションを再有効化
カバレッジ インストゥルメンテーションが無効化された関数の要素 (行や判断文など) は、カバー可能な要素としてカウントされません。
どちらのコメントも、(プリプロセス前の) 同一ファイル内で、コメントを含む行より後にある関数定義に適用されます。コメントは関数単位で (関数全体に) 適用されます。つまり、関数の中にコメントが記述された場合、コメントより後に定義された関数にだけ適用されます。
次のサンプルでは、関数 f2()
、f3()
、f5()
、main()
に対してカバレッジ インストゥルメンテーションが無効化され、関数 g()
、f1()
、f4()
に対して有効化されます。関数 f4()
内のコメントは、コメントの後に定義がある f5()
および main()
関数に適用されます。次のサンプル コードは、カバー可能な行が 7 行 (g()
に 1 行、f1()
に 2 行、f4()
に 4 行) あるとみなされます。
int g(int i) { return i+1; } int f1(int a) { if (a >= 0) return +1; else return -1; } // parasoft-instrumentation coverage off int f2(int a) { return g(a - 1) + g(a); } int f3(int a) { return a + 2; } // parasoft-instrumentation coverage on int f4(int a, int b) { if (a == 3) { return b; } else { /* parasoft-instrumentation coverage off */ int i = g(a+b); return i; } } int f5(int a) { return f3(a * 2); } int main() { f1(12); return 0; }
parasoft-instrumentation coverage
構文は、//...
および /*...*/
のどちらの形式のコメント内でも使用できます。/*...*/
形式のコメントの場合、構文全体をコメント開始文字 /*
と同じ行に配置する必要があります。parasoft-instrumentation coverage
コメントが正しく認識されるよう、行にはコメントだけを記述する必要があります。