我在尝试运行gcov
作为Travis CI构建的一部分时收到以下错误:
$ gcov src/bgrep.c
bgrep.gcno:cannot open graph file
我的.travis.yml
:
language: c
compiler: gcc
sudo: false
before_script:
- uname -a
- printenv
- gcov --version
script:
- scons coverage=1
- ls -l src/
- test/run_test.py
- ls -l src/
- gcov src/bgrep.c
- ls -l src/
- ls -l
after_success:
- bash <(curl -s https://codecov.io/bash)
我可以在我的Fedora机器上运行确切的命令序列(scons
,test/run_test.py
,gcov src/bgrep.c
),gcov
按预期生成grep.gcov
。
Travis正在使用gcov (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
。您可以看到example build log here。
我(或特拉维斯)做错了什么?
答案 0 :(得分:1)
我和gcov和travis有同样的问题。似乎gcov确实要求* .gcda和* .gcno文件必须与* .c文件位于同一目录中。另外,必须给出-o选项,然后指向同一目录......
所以,我有文件夹src /中的源文件和build / coverage /中的二进制文件。首先,我尝试使用&#39; gcov -o build / coverage / src / *。c&#39;这没用。第二次尝试是将* .gc *文件复制到src /并执行&#39; gcov src / *。c&#39;这也没用。它最终与&#39; gcov -o src / src / *。c&#39;。
一起使用。