2016-03-20 56 views
3

我們使用gcov和gcovr.py來獲取我們測試的覆蓋率報告。並非所有源文件都經過測試,因此gcovr報告中未提及這些文件。現在我想計算整個代碼庫的整體覆蓋率。獲取文件中的C代碼行

從報告中我可以得到線條覆蓋,但我也需要在那些未經測試的文件中獲取C代碼行數。在代碼目錄中的文件中獲得C代碼行的可能性是什麼?

+1

你的意思是'非註釋(非空白)行代碼'?如果你只是指'文件中的行',那麼'wc -l'會給你答案。 –

回答

3

看看cloc,它會計算文件中的代碼行數或處理一個目錄:https://github.com/AlDanial/cloc

+0

謝謝,我認爲這將符合這個目的。也許會有小的不準確,但不應該太糟糕。我試圖找到類似的東西,但用python編寫,以「本地」包含在我的腳本中,但找不到任何東西。 – burm

+0

@burm:是的。我知道關於不是用Python或Haskell編寫的東西的感覺。但它總比沒有好。 :-) –

0

據我知道,當你使用gcovr生成覆蓋率報告也給出了這樣的報告,在控制檯

------------------------------------------------------------------------------ 
        GCC Code Coverage Report 
Directory: ...../src/ 
------------------------------------------------------------------------------ 
File          Lines Exec Cover Missing 
------------------------------------------------------------------------------ 
src/A/A1/xyz.cpp       1609  2  0% 97,99,101.... 
src/A/A2/abcg.cpp       271  4  1% ....... 
src/B/B1/mnop.cpp        74  2  2% 34,42,56-..... 
src/B/B2/wrds.cpp       1533  6  0% 76,83,85-..... 
src/C/C1/abcdefg.cpp      1079  8  0% 143,150,152..... 

這有其不執行相關的每一個源文件中的所有liine號碼。
希望它有幫助:)