代码覆盖率命令行
?
用gcc編譯的時候加上-fprofile-arcs和 -ftest-coverage 選項,鏈接的時候加上-lgcov
執行程序之后,會產生*.gcno和*.gcda文件
*.gcno 是由加了-ftest-coverage參數后編譯產生的,它包含了重建基本塊圖和響應的塊的源碼的行號的信息。
*.gcda是在運行結束加了-fprofile-arcs參數后編譯生成的文件所產生的,它包含了弧跳變的次數和其他的概要信息
?
lcov --directory . --capture --output-file all.info 搜集當前目錄及其子目錄下面所有的代碼覆蓋率信息到文件app.info
或者簡寫為:lcov -d . -c -o all.info
lcov --remove all.info 'dir1/*' 'dir2/*' 'dir3/file1' -o result.info 移除指定目錄下的代碼覆蓋率信息
lcov --extract all.info '*/src/*' '*/lib/*' -o result.info 只要src和lib目錄下的覆蓋率信息
genhtml -o results result.info 將代碼覆蓋率信息轉為html文件格式,存放到results目錄下
總結
- 上一篇: shell经典脚本或命令行
- 下一篇: shell脚本空格