gcovのカバレッジ出力の意味のメモ
1.Lines executed
実行ラインをどれだけ通過したかを表す。C0カバレッジ
2.Branches executed
条件分岐行をどれだけ実行したか。C1カバレッジ
3.Taken at least once
各条件分岐の組合せを1回は通過したか。C1カバレッジ
3の例) 下の例だとx=6のケースをテストすると xが5以下の場合のテストケースがないため、Taken at least onceは50%になる。
100%にするにはx=5のテストケースが必要
int func(int x){ if(x > 5){ x = x*2; }else{ x = x*3; } x = x-3; return x; }
4.Calls executed
対象関数内で別関数を呼んだかどうか。S0カバレッジ