我們使用gcov和gcovr.py來獲取我們測試的覆蓋率報告。並非所有源文件都經過測試,因此gcovr報告中未提及這些文件。現在我想計算整個代碼庫的整體覆蓋率。獲取文件中的C代碼行
從報告中我可以得到線條覆蓋,但我也需要在那些未經測試的文件中獲取C代碼行數。在代碼目錄中的文件中獲得C代碼行的可能性是什麼?
我們使用gcov和gcovr.py來獲取我們測試的覆蓋率報告。並非所有源文件都經過測試,因此gcovr報告中未提及這些文件。現在我想計算整個代碼庫的整體覆蓋率。獲取文件中的C代碼行
從報告中我可以得到線條覆蓋,但我也需要在那些未經測試的文件中獲取C代碼行數。在代碼目錄中的文件中獲得C代碼行的可能性是什麼?
看看cloc
,它會計算文件中的代碼行數或處理一個目錄:https://github.com/AlDanial/cloc。
謝謝,我認爲這將符合這個目的。也許會有小的不準確,但不應該太糟糕。我試圖找到類似的東西,但用python編寫,以「本地」包含在我的腳本中,但找不到任何東西。 – burm
@burm:是的。我知道關於不是用Python或Haskell編寫的東西的感覺。但它總比沒有好。 :-) –
據我知道,當你使用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號碼。
希望它有幫助:)
你的意思是'非註釋(非空白)行代碼'?如果你只是指'文件中的行',那麼'wc -l'會給你答案。 –