2

我正在开发一个 C 项目并使用 CMake。我一直在尝试使用 GCOV 进行覆盖测试,并且即将完成。

这是我到目前为止所知道的:

-use clang for c compiler. "gcc" on the latest Xcode does nothing with -fprofile-arcs and -ftest-coverage
-add -fprofile-arcs and -ftest-coverage to c debug flags
-set cmake build type to Debug
-run cmake to build makefile
-double check that gcno files are created for each source file compiled (they are).

这就是我现在卡住的地方。我运行了一项单元测试,但没有创建任何 .gcna 文件。

奇怪的是,当我使用 CMake 生成一个 Xcode 项目,并打开“生成测试覆盖文件”和“仪器程序流程”时,我得到了 gcno 和 gcna 文件。

我在使用 VERBOSE=1 运行 make 时验证了正在使用正确的编译器和链接器标志。

我还查看了 Xcode 以查看 Xcode 使用的任何其他库或特殊开关是否未在 makefile 中使用 - 除了 -fprofile-arcs 和 -ftest-coverage 之外,我没有看到任何其他内容。

还有其他人经历过吗?

我希望能够生成 gcna 文件,这样我就不必为所有事情都进入 Xcode。

4

0 回答 0