lcov错误解释目录

时间:2018-01-22 18:00:32

标签: lcov

我正在开发一个软件项目,其源代码分布在不同的目录中,某些部分是项目特定的,其他部分是跨项目共享的。

我想测量所讨论的所有源代码的测试覆盖率,但是,我无法正确使用lcov的目录参数。

例如: 存在以下文件:

  • $HOME/dev/common/src/tools.cpp
  • $HOME/dev/project/src/project.cpp

测试可执行文件存储在$HOME/dev/project/src/bin/unittest

makefile从$HOME/dev/project/src

执行

我将lcov称为

        lcov --base-directory ../../ --directory ../../ --zerocounters -q
        ${MAKE} test
        lcov --base-directory ../../ --directory ../../ -c -o $(BINDIR)/unittests.info

我希望lcov将数据存储为/home/$USER/project/src/common/tools.cpp

然而,我看到输出就像 SF:/home/$USER/project/tools.cpp 因此,genhtml无法找到源,也无法产生任何输出。

所有* .gcda和* .gcno都存储在cpp文件旁边。

我不想在执行命令之前更改目录,因为所有这些都是在makefile中执行的

我错过了什么?

干杯, 迈克尔

0 个答案:

没有答案