Python Windows下的Gcovr错误
我正在尝试使用Gcovr生成一个C程序结果的HTML文件。 我已经安装了gcov(通过MinGW)、Python、easy_stall和gcovr。 将Python Windows下的Gcovr错误,python,c,windows,gcov,gcovr,Python,C,Windows,Gcov,Gcovr,我正在尝试使用Gcovr生成一个C程序结果的HTML文件。 我已经安装了gcov(通过MinGW)、Python、easy_stall和gcovr。 将C:\MinGW\bin、C:\Python33和C:\Python\Scripts添加到Windows路径 现在我遇到的问题(在Windows命令行中): 1。gcovr命令 在使用pythongcovr命令从c:\Python33\Scripts执行之前,无法在任何目录中找到/执行gcovr 临时修复,将gcovr重命名为gcovr.py?但
C:\MinGW\bin
、C:\Python33
和C:\Python\Scripts
添加到Windows路径
现在我遇到的问题(在Windows命令行中):
1。gcovr命令
在使用pythongcovr
命令从c:\Python33\Scripts
执行之前,无法在任何目录中找到/执行gcovr
临时修复,将gcovr
重命名为gcovr.py
?但这听起来不是正确的解决方案
2。执行gcovr
我打电话时没有结果:
c:\Python33\Scripts>python gcovr -r "d:\somepath\Debug"
------------------------------------------------------------------------------
File Lines Exec Cover Missing
------------------------------------------------------------------------------
------------------------------------------------------------------------------
TOTAL 0 0 --%
------------------------------------------------------------------------------
但gcov给出了正确的结果
D:\somepath\Debug>gcov some_file.gcda
File '../some_file.c'
Lines executed:21.43% of 14
Creating 'some_file.c.gcov'
我需要做什么才能获得正确的结果?尝试运行相同的命令,但不使用
-r
选项,即:c:\Python33\Scripts>pythongcovr“d:\somepath\Debug”
我也遇到了同样的问题。我确实用以下方法解决了它
转到项目的根目录(主目录)
要以表格格式生成输出,
在命令提示符下,发出命令以在中生成覆盖率
1) 表格格式
"python C:\Python27\Scripts\gcovr -r . --object-directory <path to *.gcno *.gcda file>"
"python C:\Python27\Scripts\gcovr -r . --object-directory <path to *.gcno *.gcda file> -x -o <desired_name.xml>"
"python C:\Python27\Scripts\gcovr -r . --object-directory <path to *.gcno *.gcda file> –-html -o <desired_name.html>"
“python C:\Python27\Scripts\gcovr-r。--对象目录”
2) XML格式
"python C:\Python27\Scripts\gcovr -r . --object-directory <path to *.gcno *.gcda file>"
"python C:\Python27\Scripts\gcovr -r . --object-directory <path to *.gcno *.gcda file> -x -o <desired_name.xml>"
"python C:\Python27\Scripts\gcovr -r . --object-directory <path to *.gcno *.gcda file> –-html -o <desired_name.html>"
“python C:\Python27\Scripts\gcovr-r。--对象目录-x-o”
3) HTML格式
"python C:\Python27\Scripts\gcovr -r . --object-directory <path to *.gcno *.gcda file>"
"python C:\Python27\Scripts\gcovr -r . --object-directory <path to *.gcno *.gcda file> -x -o <desired_name.xml>"
"python C:\Python27\Scripts\gcovr -r . --object-directory <path to *.gcno *.gcda file> –-html -o <desired_name.html>"
“python C:\Python27\Scripts\gcovr-r。--对象目录–-html-o”
这篇文章可能会解决您的问题
也有同样的问题
问题是源文件不在根文件夹的“下方”,默认情况下,gcovr将对其进行过滤
如果你打电话
python gcovr -r "d:\somepath\Debug" --verbose
你会注意到这条线的
Filtering coverage data for file ../some_file.c
一个简单的修复方法是添加一个过滤器选项:
python gcovr -r "d:\somepath\Debug" --verbose -f .*
从gcovr帮助:
-f FILTER,--FILTER=FILTER
仅保留与此规则匹配的数据文件
表情
gcovr文档没有提到的是,如果不提供过滤器,它将使用根路径作为默认过滤器
希望它能帮助别人。我也有同样的问题-你能找到解决方案吗?