在一个项目中,我正在运行三个不同选项编译的可执行文件上的测试用例。根据选项,某些代码路径会被采取或不采取。目前,我只使用一个可执行文件的覆盖率数据。 我正在使用 gcovr 生成一个 XML 文件,然后通过 Sonar 解析:gcovr -x -b -r . --object-directo...
今天我的任务是为我们的代码库添加单元测试覆盖率分析。今天也是iOS 7.1与XCode 5.1发布的日子。从发布说明中可以看到: “用于代码覆盖率测试的gcov工具已被重新实现。新版本使用LLVM项目中的llvm-cov工具。对于所有重要功能,它在功能上等同于旧版本。gcov在Xcode中的...
我正在尝试启动gcov,但遇到以下错误:$ gcov src/main.c -o build build/main.gcno:version '404*', prefer '407*' gcov: out of memory allocating 14819216480 bytes afte...
我正在尝试在Xcode 6 Beta 4上为Swift应用程序设置测试代码覆盖率。 过去我能够在Xcode 5中使用ObjectiveC做到这一点,但我认为我必须调用void __gcov_flush()方法来触发生成.gcda/.gcno文件。 我将仪器和代码覆盖率的两个属性都设置为YES,...
有人能告诉我 "Merge mismatch for summaries" 这个 gcov 信息是什么意思吗?我在 gcc 源代码中找到了这个消息。 它似乎是一个检查,用于确保 .gcda 文件中的标记匹配,但我不确定。 有人知道如何解决这个问题吗?
在使用gcc编译时加上-fprofile-arcs和-ftest-coverage参数后,当生成的可执行文件终止运行时,会尝试在与编译可执行文件使用的.o文件相同的位置创建.gcda输出文件。如果我在不同的机器上运行程序,这样做就很不方便了。有没有办法改变这种行为呢?
我正在尝试使用gcov。我有一个简单的文件a.c:int main() { return 0; } 所以我这样做gcc -fprofile-arcs -ftest-coverage a.c -o a ./a gcov a.c 然后我得到了a.gcno:cannot open graph ...
我在使用gcov时遇到了问题。编译和链接过程中没有出现错误,但是当我运行可执行文件时,没有生成任何覆盖率数据。 我正在使用CMake和一个单独的构建目录,在这个目录下通过以下方式向编译器和链接器传递标志:add_definitions(--coverage) set(CMAKE_EXE_LI...
我曾使用gcov来测试代码覆盖率,但对于模板化的C++代码而言,效果不是很好。我广泛使用boost::spirit,但gcov似乎会简单地忽略模板化的spirit代码。 此外,我想知道是否有一种覆盖工具可以显示线程之间的交互,找出可能的分支/竞争条件/实际执行的执行流。
我有相同的源文件(C和Obj-C)编译成两个目标:单元测试可执行文件和实际产品(然后进行集成测试)。 两个目标构建到不同的位置,因此对象文件、.gcno和.gcda文件是分开的。 并非所有源文件都编译到单元测试中,因此并非所有对象都存在于其中。 所有源文件都编译到产品构建中。 有没有一种方法...