了解lcov分支覆盖输出中的控制流图

时间:2016-12-19 16:31:11

标签: c++ code-coverage gcov lcov control-flow-graph

我正在尝试通过检查我当前的代码覆盖百分比来改进我的单元测试。我正在使用gcov和lcov生成覆盖结果的HTML报告。但是,我在理解某些输出时遇到了问题。我知道+表示已经分支,而-表示未采取分支。

131                 :          8 :         QString toString() const
132                 :            :         {
133 [ +  - ][ +  - ]:          8 :             return ((negative && !isZero()) ? "-" : "") + QString::number(sec) + "." + QString::number(nano).rightJustified(9, '0');
    [ +  - ][ +  + ]
    [ +  - ][ +  - ]
    [ +  - ][ +  - ]
            [ +  - ]
134                 :            :         }

变量negative的类型为bool,方法isZero的返回值。所以我希望这里有四个分支,但我不知道输出如何映射到这个期望。那么如何解释输出?悬停在+/-标志上时的工具提示告诉我分支3,6,9,11,12,14,17,20,23和26是在分支4,7,10,15,18,21,24和27人从未被带走。

0 个答案:

没有答案