3

尝试为工作服构建覆盖率数据时,我在 Travis-CI 构建期间收到以下错误消息:

DTHTMLWriter.gcno:version '404*', prefer '402*'
File '/Users/travis/build/Cocoanetics/DTCoreText/Core/Source/DTHTMLWriter.m'
Lines executed:67.00% of 497
/Users/travis/build/Cocoanetics/DTCoreText/Core/Source/DTHTMLWriter.m:creating 'DTHTMLWriter.m.gcov'
File 'Core/Source/DTHTMLWriter.m'
Lines executed:0.00% of 10
Core/Source/DTHTMLWriter.m:creating 'DTHTMLWriter.m.gcov'
Core/Source/DTHTMLWriter.m:cannot open source file
File 'Core/Source/DTHTMLWriter.h'
Lines executed:66.67% of 3
Core/Source/DTHTMLWriter.h:creating 'DTHTMLWriter.h.gcov'
Core/Source/DTHTMLWriter.h:cannot open source file

有覆盖率,即 67%,但其结果是 Coveralls 将此文件显示为 0 覆盖率。

我该如何解决?

测试表明,在这两种情况下,与 Xcode 4 和 5 版本 4.2.1 捆绑的 gcov 工具都会出现此错误。我发现如果我在 Mac 上运行相同的单元测试,那么我不会收到警告并且找到文件。

这让我误以为 gcov 工具存在处理 iOS 模拟器生成的某些 gcda 文件的错误。一些,不是全部。

生成的覆盖率报告在为 iOS 运行时缺少这些文件,但在 Mac 上是完整的。

所以我的第二个问题是,是否有办法更改这些文件以允许 gcov 正确处理它们?

4

0 回答 0