我正在开发一个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-之外我什么也看不见覆盖。
其他人经历过这个?
我希望能够生成gcna文件,所以我不必为了所有内容进入Xcode。