版本说明
Coco v7.2.0
- 覆盖扫描器:
- 变化:使用正则表达式排除/包含规则的 Windows 上现在区分大小写。行为现在与 Unix 平台相同。
- 新功能:为
std::shared_ptr
和std::unique_ptr
的指令进行了低级别配置。 - 新功能:更好地对无限循环前的代码进行指令。
- 新功能:可以通过命令行参数设置对象扩展名的列表。
- 新功能:允许在编译器或链接器中注入或删除命令行参数的命令行开关。
- 新功能:支持 Windows 上的本机 Clang 编译器。
- 错误修复:通过使用
snprintf
代替sprintf
来抑制 macOS 上的 clang 安全警告。 - 错误修复:修复了为 TI 编译器(《code translate="no">cl6x)的编译问题。
- 错误修复:支持具有包含表达式的 case 标签的 switch 语句,例如
case (uint{1}):
。 - 错误修复:处理包含星号
"*"
或单引号"'"
的文件名的问题。 - 错误修复:在多个源文件使用单个命令编译且使用 MCC 的情况下修复问题。
- 错误修复:当使用符号
<
和>
时发生几个解析问题,例如模板和条件运算符。
- CocoQML:
- 升级 QML 和 JavaScript 解析器,从而显著提高对新的语言功能的支持。
- 新平台:为 macOS 引入 CocoQML 包。
- 新功能:在 QML 中特殊处理非标准 JavaScript 语法,例如类型注释和类型断言。
- 错误修复:处理黑名单通配符匹配问题。
- 错误修复:现在
cocoqmlscanner
跳过空 QML 文件。 - 错误修复:现在 QML 文件名使用本地文件路径格式,而不是 URL,并使用本地分隔符,使
.csmes
文件与 C++ 保持一致。 - 错误修复:在决策覆盖率指令中修复了将
undefined
转换为true
的错误。
- CocoTestEngine:
- 新功能:在测试数据编辑器中改进并增加了对字符串表示的定制。
- 新功能:在
COCOTEST_FETCH
和COCOTEST_CHECK
宏中支持 QString。 - 新功能:默认情况下,std::string 中的数据现在与 UTF-8 兼容。
- 新功能:在 RegExp 生成器中启用完整的 Unicode 支持。
- 新功能:在测试数据发现过程中添加了随机数种子开关。
- 错误修复:测试数据发现算法中存在问题,导致其无法达到最大覆盖率。
- 覆盖率浏览器:
- 进行了一些小的用户界面改进。
- IDE 集成:
- 错误修复:已修复 VS Coco Wizard 的复制构建模式功能。
- 文档:
- 新增了关于对 C++ 和 QML 代码库进行度量的教程。
- 安装:
- 安装程序、构建环境选择、许可证管理器和 CLI 工具中都进行了小的用户界面改进。
- cmreport:
- 新功能:可以在 Cobertura XML 报告中导出未进行度量的源文件。
- cmmerge:
- 新功能:如果源文件的前处理输出不同,现在可以合并
.csmes
文件。
- 新功能:如果源文件的前处理输出不同,现在可以合并
Coco v7.1.1
- 覆盖扫描器:
- 错误修复:在函数返回指向函数的指针时(如
void (*foo())()
),函数列表中显示的函数名称错误。
- 错误修复:在函数返回指向函数的指针时(如
- 报告:
- 错误修复:在 HTML 报告中,对源文件的链接错误地指向了包含命令行选项的页面,而不是源代码页面。现在每个源文件都有一个带有链接到命令行选项页面的图标。
- 测试数据生成:
- 错误修复:CocoTestEngine 在 macOS 上无法工作。
Coco v7.1.0
- 覆盖扫描器:
- 错误修复:使用 C++ 模板在
if
语句中时,解析问题。 - 错误修复:修复了 Texas Instruments
cl6x
编译器的集成中的某些错误。 - 新功能:现在可以通过
.cspro
文件中的NATIVE_TOOLCHAIN_ROOT
变量自动排除导致度量失败的许多系统头文件。 - 新功能:当文件多次编译导致度量不一致时,提供了有关编译器标志的详细诊断信息。
- 新功能:通过
--cs-constexpr
标志对constexpr
函数进行特殊处理。 - 错误修复:修复了在 *.csmes 文件中存储的源代码中使用
//
编写的多行注释损坏的问题。
- 错误修复:使用 C++ 模板在
- 覆盖率浏览器:
- 错误修复:修复了许多小的 CoverageBrowser 用法问题。
- 新功能:在 CoverageBrowser 的说明面板中显示每个源文件的编译器标志。
- CocoQML:
- 错误修复:修复了几个 QML 解析和度量错误。
- 移除了
cocoqmlscanner
选项--no-tracker
。 - 新功能:为
cocoqmlscanner
添加了基于通配符的黑名单。
- 报告:
- 错误修复:当将函数覆盖率导出到 Cobertura 和 SonarQube 报告时出现问题。
- 引入了一些
cmreport
命令行标志 的别名,使其更加规范。包括--sonarqube
、--coverage-line
和--coverage-function
。旧标志保留用于兼容性。
- cmedit:
- 错误修复:在
.csmes
文件中的一些源文件未由cmedit
重命名。
- 错误修复:在
- 安装:
- Coco 许可文本 已更改。
- 测试数据生成:
- 错误修复:修复了几个较小的
testdataeditor
错误。
- 错误修复:修复了几个较小的
- 文档:
- 重新组织了文档,使其内容更容易找到
- 添加了一章来解释 CoverageScanner 警告 "度量不同"。
- 许可证服务器:
- 错误修复:在 CentOS 7 下缺少许可证服务器的库。
Coco v7.0.0
Coco v6.1.1 与 Coco v7.0.0 之间的更改
- 一般:
- 新功能:自动测试数据生成。
- 覆盖扫描器:
- 新功能:支持TI C6000 C/C++ 编译器。
- 新功能:支持多行注释的 C++ 注释风格。
- 错误修复:在预编译的 C/C++ 头文件中使用多行字符串时会生成错误。
- 错误修复:解析 C++20
requires
表达式时存在问题。 - 错误修复:在 GCC 和 Microsoft Visual C++ 中对
main()
函数的开头花括号的覆盖不一致。 - 错误修复:C++ 的
static_assert()
声明会创建编译错误。 - 错误修复:支持新的 C# 9.0 模式匹配。
- 错误修复:C# 的 仅初始化设置器 导致编译错误。
- 错误修复:通过
--cs-native-toolchain
设置时忽略 native 工具链的路径。 - 错误修复:启用
--cs-verbose-file
选项时不会生成日志文件。 - 错误修复:对嵌套的三元条件运算符进行仪表化时会产生错误结果。
- cmreport:
- 错误修复:在
cmreport
和构建之间进行覆盖率一致性检查。
- 错误修复:在
- 安装:
- 错误修复:《code translate="no">cocolicserver 在 macOS 版本中不存在。
Coco v6.1.1
Coco v6.1.0 和 Coco v6.1.1 之间的更改
- CocoQML:
- 错误修复:无测点文件的错误导致
cocoqmlscanner
失败。
- 错误修复:无测点文件的错误导致
- 安装:
- 错误修复:在 Linux 和 Windows 上为 GreenHills、TI、Metaware 和 ARM-DS 工具链添加缺失的编译器包装器。
Coco v6.1.0
Coco v6.0.0 和 Coco v6.1.0 之间的更改
- 覆盖扫描器:
- 新功能:支持 Metaware 编译器。
- 新功能:支持 TI 编译器。
- 错误修复:允许在 Linux 上将
.obj
作为目标文件扩展名。 - 错误修复:解析 C++ 模板的解析问题。
- 新功能:支持
constexpr
仪表化(试验性)。 - 新功能:支持 GreenHills RH850 编译器。
- 新功能:向 Linux 发行版添加 TI、Metaware 和 GreenHills 编译器包装器。
- 错误修复:支持 C++23 的
if consteval
语句。 - 错误修复:支持 C++ 的
final
指令符。 - 错误修复:与 QNX 应用程序仪表化相关的问题。
- 错误修复:使用 MinGW 仪表化 Qt 应用程序时存在的问题。
- 错误修复:响应文件中的转义字符串问题。
- 错误修复:lambda 表达式中捕获变量的仪表化问题。
- 错误修复:Visual Studio 并行构建中的响应文件问题。
- 构建环境选择:
- 新功能:支持 TI 编译器。
- coveragebrowser:
- 错误修复:合并
.csmes
文件时崩溃的错误已修复。
- 错误修复:合并
- cmreport:
- 新功能:支持生成 SonarQube 代码覆盖率报告。
- CocoQML:
- 错误修复:对
switch
语句的仪表化不正确。 - 错误修复:在
switch
语句内部支持continue
语句。 - 错误修复:以空元素初始化的数组的仪表化有损坏。
- 错误修复:解析在
forEach
循环中使用的箭头函数表达式(=>
)的问题。 - 新功能:
cocoqmlscanner
现在完全通过命令行参数控制。 - 错误修复:不再为每个
.qml
和.js
文件创建临时的.csmes
文件。 - 错误修复:现在解析和仪表化
function() {...}
声明。 - 错误修复:
.csmes
文件之间相互覆盖的问题得到了解决,这些问题是从同一.qml
和.js
基本名称创建的。 - 错误修复:
cocoqmlscanner
现在会捕捉早期的仪表化失败,而不仅仅是无声失败。 - 错误修复:在
if
块内部的双重仪表化return
语句。 - 错误修正:在异常处理中缺少对
finally
块的检测。
- 错误修复:对
Coco v6.0.0
Coco v5.1.0和Coco v6.0.0之间的更改
- IDE 集成:
- 新特性:代码覆盖率信息现在可以在大多数IDE的编辑器窗口中显示。这是通过一个新模式的CoverageBrowser实现的,它允许其充当语言服务器协议(LSP)服务器。
至少,支持LSP的编辑器或IDE将通过注释或工具提示显示覆盖率信息。对于Visual Studio、Visual Studio Code和Qt Creator,提供专门的插件以通过背景颜色突出显示覆盖率。示例设置说明请参阅将CoverageBrowser与IDE集成。
- 新特性:代码覆盖率信息现在可以在大多数IDE的编辑器窗口中显示。这是通过一个新模式的CoverageBrowser实现的,它允许其充当语言服务器协议(LSP)服务器。
- 覆盖扫描器:
- 错误修正:修复了各种C#和C++解析问题。
- 新特性:标志
--cs-exit-function
现在支持完全限定名称(例如:Foo::bar()
)。 - 新特性:支持C++20关键字
consteval
、required
和concept
。 - 新特性:支持C++关键字
override
。 - 新特性:支持宏
BOOST_THROW_EXCEPTION
。 - 新特性:CoverageScanner现在显示所有头文件,即使它们不包含任何代码。如果需要,可以在CoverageBrowser中或在生成报告时排除这些文件。
- 错误修正:支持C# 9.0
new
运算符与类型推断。 - 错误修正:支持C# 8.0
using
关键字扩展。
- 覆盖率浏览器:
- 新特性:新的命令行开关
--lsp-stdio
将CoverageBrowser转换为通过stdin和stdout与IDE通信的语言服务器协议(LSP)服务器,并向其发送覆盖率信息。同样,--lsp-stdio-proxy
使CoverageBrowser能够作为普通LSP服务器的代理。 - 错误修正:支持多屏幕设置中的窗口位置保存/恢复。
- 新特性:改进了仪器数据库设置的保存/恢复。
- 新特性:新的命令行开关
- 平台支持:
- 错误修正:支持IAR Embedded Workbench的版本9。
- 新特性:支持从Microsoft® Windows到Linux™的基于clang的交叉编译。
- 新特性:支持
clang-cl
编译器。 - 新特性:适用于NFS文件共享的新样式
.csexe
文件锁定。
- 许可证:
- 新特性:新许可证密钥支持订阅模型。
- Microsoft® Visual Studio® 扩展插件:
- 新特性:支持Microsoft® Visual Studio® 2022。
- 新特性:新的插件在IDE中突出显示覆盖率。
Coco v5.1.0
Coco v5.0.3和Coco v5.1.0之间的更改
- Microsoft® Visual Studio® 扩展插件:
- 新特性:用独立程序替换了旧版本的Microsoft® Visual Studio® 扩展插件来编辑项目配置文件;它也适用于Microsoft® MSBuild和类似的构建系统。
- 构建环境选择:
- 新特性:该程序现在具有命令行参数,可用于脚本化安装。
- 覆盖率浏览器:
- 错误修正:拆分为两行的代码的diff功能无法正常工作。
- 错误修正:在停靠窗口的标题中错误显示快捷键。
- cmreport:
- 错误修正:已纠正Azure DevOps中的Cobertura报告问题。
- 错误修正:现在可选地在Cobertura报告中报告手动验证。
- 覆盖扫描器:
- 错误修正:现在支持C++20的三向比较运算符
<=>
。 - 错误修复:如果函数名被花括号包围(例如,“
int (foo)() { return 0 ; }
”),在报告中显示的是错误的名字。 - 错误修复:Linux内核模块的构建问题。
- 错误修复:修复了C++11对
final
的处理。 - 错误修复:修复了C++11对
const_expr
的处理。 - 错误修复:修复了C++结构静态初始化的问题。
- 新功能:添加了命令行标志,用于指定包含自定义代码的附加源文件,这些代码可以在仪器化程序中使用(
--cs-custom-library-source
=<file>
)。 - 新功能:添加了命令行标志以指定触发函数(
--cs-trigger-function
=<triggerfunction>
)和用于保存覆盖数据的自定义函数(--cs-coverage-save-function
=<savefunction>
)。 - 错误修复:支持对
csar
的连接器输入文件(ar
开关@
)。 - 新功能:内存池现在提供了自定义异常来处理内存不足异常。(
--cs-memory-alloc-failure-function
=<string>
) - 错误修复:关于授权的错误消息现在已重写。
- 新功能:在Windows上支持.NET Core。
- 新功能:为内核模块和交叉编译猜测典型的
--cs-libgen
参数。
- 错误修正:现在支持C++20的三向比较运算符
- CocoQML:
- 新功能:现在可以使用
cocoqmlscanner
独立进行工具化,同时还包含由客户编译的新“跟踪对象”。
- 新功能:现在可以使用
Coco v5.0.3
Coco v5.0.2和Coco v5.0.3之间的更改
- 覆盖扫描器:
- 错误修复:修复了对C++ ISO 646关键字'and'、'not'和'or'的支持,用于MC/DC和条件覆盖率。
- 错误修复:移除了版本v5.0.2中启用的预处理输出中的注释。
Coco v5.0.2
Coco v5.0.1和Coco v5.0.2之间的更改
- 覆盖扫描器:
- 错误修复:修复了模板中C++成员函数指针的编译问题。
- 新功能:在C++17编译时添加了对
Q_FOREACH
的支持。 - 新功能:添加了对空合并赋值的支持(https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-8#null-coalescing-assignment)。
- 支持GNU
ld
的链接重定位。
- Microsoft® Windows安装程序:
- 错误修复:静默安装不再调用授权向导。
- Microsoft® Windows:
- 错误修复:在Microsoft® Windows 10上命令行工具不再崩溃。
Coco v5.0.1
Coco v5.0.0和Coco v5.0.1之间的更改
- 覆盖扫描器:
- 错误修复:在Microsoft® Visual Studio® 2008中使用配置文件时的编译问题已修复。
- 新功能:对使用自定义转换为布尔或整数类型的类实例的参数的布尔表达式进行工具化。
- 错误修复:在模板参数中使用布尔表达式时的编译问题已修复。
- 错误修复:修复了行覆盖率问题。
- 错误修复:在函数指针上进行布尔运算时的编译问题已修复。
- 错误修复:使用Microsoft® Visual Studio®编译时的预编译头编译问题已修复。
- cmreport:
- 错误修复:当源代码分布在几个Windows驱动器上(C:、D:……)时,修复了HTML报告中的问题。
- Microsoft® Windows安装程序:
- 错误修复:安装了缺少的DLL。
Coco v5.0.0
Coco v4.3.3和Coco v5.0.0之间的更改
- 覆盖率浏览器:
- 新功能:函数分析器。
- 新功能:两个版本之间的度量差异。
- 新功能:可以在补丁分析中排除所有未进行仪器化的文件。
- 错误修复:改进了显示指标时的可用性问题。
- 覆盖扫描器:
- 错误修复:修复了64位执行计数器的问题。
- 新功能:支持ARM DS-5。
- 新功能:函数分析器。
- 新功能:与Squish for Qt的自动集成。
- 错误修复:修复了C#和C++代码的编译问题。(三元运算符,
noexcept
关键字,lambda函数等) - 错误修复:添加了对C#的注释支持。
- 错误修复:修复了Linux上的dotnet退出问题。
- cmedit:
- 新功能:可以重命名函数。(实验性)
- cmreport:
- 错误修复:验证通过命令行选择的覆盖设置的一致性。
- 新功能:可以在补丁分析中排除未进行仪器化的文件。
- CocoQML:
- 错误修复:现在可以针对多线程QML应用程序进行仪器化。
- 错误修复:修复了其他各种错误:对
case
语句、复杂的三元运算符以及其他复杂语法的其他问题进行了修复。
- 许可证服务器:
- 新功能:为简化部署,提供全局配置文件(位于
/etc/
)。
- 新功能:为简化部署,提供全局配置文件(位于
- Squish:
- 新功能:Squish与Coco的更好的集成。
Coco v4.3.3
Coco v4.3.2和Coco v4.3.3之间的变化
- Microsoft® Visual Studio® 扩展插件:
- 新功能:支持Microsoft® Visual Studio® 2019。
- 错误修复:修复了与Microsoft® Visual Studio® 2017插件相关的安装问题。
- 覆盖扫描器:
- 错误修复:已修复C#编译问题。(与字符串字面量、多数组、
out
参数和MCC仪器化问题相关的问题) - 新功能:在Linux™上支持.NET Core。
- 错误修复:修复了关于C++异常情况属性的问题。
- 错误修复:使错误消息与Microsoft® MSBuild兼容。
- 错误修复:修复了在MCC级别对C++代码进行仪器化时的编译问题。
- 错误修复:现在以相同的方式为C++和C#添加
.csexe
扩展名,在使用COVERAGESCANNER_ARGS
环境变量时。 - 错误修复:修复了预编译头文件的问题。
- 错误修复:已修复C#编译问题。(与字符串字面量、多数组、
Coco v4.3.2
Coco v4.3.1和Coco v4.3.2之间的变化
- cmmerge:
- 错误修复:正确处理了由预处理器符号设置命名空间的C++文件。
- 覆盖扫描器:
- 错误修复:修复了嵌套块中的行覆盖率问题。
- 错误修复:修复了与GNU语句表达式的扩展相关的编译问题。
- 错误修复:在Microsoft® Windows中更好地处理路径大小写。
- 错误修复:修复了静态库中的“未定义符号”链接器的错误。
- 新功能:可以通过预处理器符号
COVERAGESCANNER_COVERAGE_OFF
禁用CoverageScanner。 - 新功能:现在可以禁用PureCoverage注释。
- 错误修复:已修复C#编译问题。(有关new运算符、三元运算符、可空性和有体表达式的问题)
- 错误修复:修复了throw语句之后的死代码检测。
- 错误修复:已修复C++-14和C++-11编译问题。(有关if constexpr语句、noexcept、模板省略号、lambda表达式和函数表的问题)
Coco v4.3.1
Coco v4.3.0和Coco v4.3.1之间的变化
- cmreport:
- 错误修复:修复了只包含顺序指令的嵌套块中的行覆盖率问题。
- 错误修复:现在,合并来自不同预处理的源文件的覆盖率是正确的。
- cmmerge:
- 错误修复:现在正确导入来自不同预处理的源文件的注释。
- 覆盖扫描器:
- 错误修复:修复了有关null-coalescing运算符(''??'')的C#解析问题。
- 错误修复:解决了一些C++解析问题。
- 错误修复:在某些情况下,一些行的注释被忽略。
- 错误修复:现在正确处理了极长的C#编译器命令行。
Coco v4.3.0
Coco v4.2.2与Coco v4.3.0之间的变更
- 覆盖扫描器:
- 新功能:计算测试的执行时间。
- 错误修复:修复了Qt5代码的编译问题。
- Microsoft® Visual Studio® 扩展插件:
- 错误修复:修复了Microsoft® Visual Studio® 2017的损坏可执行路径。
- CocoQML:
- 新功能:发布了一个名为
cocoqmlscanner
的程序,它可以一次性对项目的所有QML和JavaScript文件进行仪器化。 - 新功能:新的环境变量
COCOQML_DEFAULT_BLACKLIST
,用于从覆盖率中排除或包含Qt QML系统文件。
- 新功能:发布了一个名为
Coco v4.2.2
Coco v4.2.1与Coco v4.2.2之间的变更
- 覆盖扫描器:
- 新功能:在
return
语句中,对布尔表达式进行仪器化。
- 新功能:在
Coco v4.2.1
Coco v4.2.0与Coco v4.2.1之间的变更
- 覆盖扫描器:
- 错误修复:修复了C中类型转换中三元运算符的仪器化问题。
- 错误修复:修复了C++11关键字
noexcept
的编译问题。 - 新功能:支持Qt5的
QStringLiteral
。 - 新功能:支持Windows Embedded Compact 2013。
Coco v4.2.0
Coco v4.1.2与Coco v4.2.0之间的变更
- Coco:
- 新功能:循环复杂度(McCabe)度量。
- 新功能:测试结果在不同平台间的源文件重命名和合并。
- 覆盖扫描器:
- 错误修复:生成执行报告速度提高。
- 在Windows上,不再将绝对文件名转换为小写。
- cmmerge:
- 错误修复:当使用MCC或MC/DC度量时,已修复手动验证合并的问题。
- cmreport:
- 错误修复:手动验证列表不再包含未仪器化的行。
- 新功能:文本报告现在导出所有手动验证。
Coco v4.1.2
Coco v4.1.1与Coco v4.1.2之间的变更
- CocoQML:
- 新功能:添加插件现在有一个缓存,用于存储仪器化文件。默认情况下,缓存是禁用的。
Coco v4.1.1
Coco v4.1.0与Coco v4.1.1之间的变更
- 命令行工具:
- 新功能:大多数命令行工具现在有一个命令行选项@<filename>,允许您从文件中读取选项。
- Microsoft® Visual Studio® 扩展插件:
- 新功能:支持Microsoft® Visual Studio® 2017。
Coco v4.1.0
Coco v4.0.4与Coco v4.1.0之间的变更
- 覆盖率浏览器:
- 新功能:简化了执行报告导入对话框的UI设计。
- 覆盖扫描器:
- 新功能:支持SystemC的
sc_uint
模板。 - 错误修复:提高了仪器化应用程序的速度和内存使用率。
- 新功能:支持使用不同预处理指令编译的C++源文件。
- 新功能:更好支持Lambda函数。
- 新功能:支持SystemC的
- CocoQML:
- 错误修复:修复了
.pragma
的问题。
- 错误修复:修复了
- Microsoft® Windows Installer:
- 错误修复:修复了文件权限问题。
Coco v4.0.4
Coco v4.0.3与Coco v4.0.4之间的变更
- 覆盖扫描器:
- 新功能:使用形式的命令行选项在运行时扩展环境变量。
Coco v4.0.3
Coco v4.0.2与Coco v4.0.3之间的变更
- CocoQML:
- 新功能:现在可使用一个实验性的附加程序来覆盖 QML 代码。
- 覆盖扫描器:
- 新功能:选项
--cs-no-line-directive
现在也适用于 C#。 - 执行报告生成速度提升。
- 新功能:选项
- Coco:
- 错误修复:ARM® Keil® Vision v5.23 支持。(安装现在通过“构建环境选择”工具执行)
Coco v4.0.2
Coco v4.0.1 和 Coco v4.0.2 之间的变化
- 覆盖扫描器:
- 错误修复:解决具有预编译头文件和 MCC 或 MC/DC 仪器项目的编译问题。
Coco v4.0.1
Coco v4.0.0 和 Coco v4.0.1 之间的变化
- Microsoft® Visual Studio® 扩展插件:
- 错误修复:现在将 C# 项目的覆盖率设置应用于特定配置的所有平台。
- 覆盖扫描器:
- 错误修复:修复了使用 MCC 和 MC/DC 度量进行仪器化 C# 项目的编译问题。
Coco v4.0.0
Coco v3.4.1 和 Coco v4.0.0 之间的变化
- Coco:
- 新功能:新增覆盖度量指标 MCC(多个条件覆盖)和 MC/DC(修改条件/决策覆盖)。
- 覆盖率浏览器:
- 新功能:两个软件版本之间的差异分析将仅突出显示指令的变化,忽略源代码注释的变化。
- 错误修复:进行了一些小的 GUI 便携性提升。
- cmreport:
- 新功能:已将
EMMA
-XML 报告格式扩展以支持决策、MC/DC 和 MCC 覆盖率。现在有一个专用的 JenkinsEMMA
-XML 插件可用。 - 新功能:两个软件版本之间的差异分析将仅突出显示指令的变化,忽略源代码注释的变化。
- 新功能:已将
- 覆盖扫描器:
- 新功能:为了避免潜在的溢出,执行计数器现在为 64 位宽。大小可以通过
--cs-counter-size
参数更改。 - 新功能:
--cs-mcc
和--cs-mcdc
开关激活对所有代码覆盖率度量直至 MCC 的仪器化。
- 新功能:为了避免潜在的溢出,执行计数器现在为 64 位宽。大小可以通过
Coco v3.4.1
Coco v3.4.0 和 Coco v3.4.1 之间的变化
- 覆盖扫描器:
- 新功能:《覆盖扫描器》API 会将可执行文件或库中的测试名称、状态和注释传播到所有链接的 DLL 和下级 DLL。
- cmcsexeimport:
- 新功能:如果发现测试元信息(名称、状态和注释)不一致,则在导入时将发出警告。
- 许可证服务器:
- 错误修复:修复了与新许可证密钥格式相关的问题。
Coco v3.4.0
Coco v3.3.3 和 Coco v3.4.0 之间的变化
- cmreport:
- 新功能:源代码和函数的 HTML 树查看器。
- 覆盖扫描器:
- 新功能:现在对
switch
语句中的情况进行的覆盖率计算现在是独立的,即使情况中不包含语句。可以通过--cs-combine-switch-cases
恢复旧的行为(精度较低)。 - 新功能:现在可以单独选择决策覆盖率级别,而无需通过
--cs-decision
禁用条件覆盖率。 - 为与其他供应商的覆盖率级别命名保持一致,现在将
--cs-branch
称为--cs-basic-blocks
。同样,C# 前置指令和区域cov-branch
已重命名为cov-basic-block
。旧名称仍然被识别以保证向后兼容性。如果希望分析“空”分支的覆盖率,则使用决策覆盖率。
- 新功能:现在对
- 覆盖率浏览器:
- 新功能:反向补丁分析。使用该功能,可以将已成为代码一部分的补丁文件用于查找哪些测试覆盖了修补后的代码。
- 新功能:错误定位:计算源代码行列表,最有可能负责测试套件中失败的是哪些代码。(见错误定位)
- 新功能:现在在后台进行优化执行顺序的计算。
- 新功能:现在导入执行报告的对话框中集成了预览功能。
- 新功能:简化了报表生成对话框。
Coco v3.3.3
Coco v3.3.2 与 Coco v3.3.3 之间的变化
- 构建环境选择:
- 新功能:为 CygWin 和 MinGW 编译器生成编译器包装。
- cmreport:
- 新功能:在 HTML 报告中分多页显示长列表。
- Microsoft® Visual Studio® 扩展插件:
- 错误修复:解决了 Microsoft® Visual Studio® 2005 的安装问题。
Coco v3.3.2
Coco v3.3.1 与 Coco v3.3.2 之间的变化
- cmcsexeimport:
- 新功能:支持通配符来指定执行报告的列表。
示例:
cmcsexeimport -m project.csmes --title="execution" *.csexe
- 新功能:支持通配符来指定执行报告的列表。
- cmmerge:
- 新功能:支持通配符来指定输入数据库的列表。
示例:
cmmerge -o output.csmes inputs_*.csmes
- 新功能:支持通配符来指定输入数据库的列表。
- 覆盖扫描器:
- 错误修复:在表达式中支持 C++11
shared_ptr
模板。 - 错误修复:支持 C# 6.0 自动属性的初始化器。
- 错误修复:在表达式中支持 C++11
- Microsoft® Visual Studio® 扩展插件:
- 新功能:支持 Microsoft® Visual Studio® 2015。
Coco v3.3.1
Coco v3.3.0 与 Coco v3.3.1 之间的变化
- 许可证:
- 错误修复:简化了 UNIX® 和 macOS 下节点锁定许可证的处理。
具有节点锁定许可证的 Coco 程序现在假定许可证是在运行它的同一账户下生成的。
以前,与许可证关联的账户是启动它的用户最初登录的账户。使用
su
或sudo
更改账户对许可证没有任何影响。这意味着在某种情况下,为不同于 Coco 运行的账户生成了许可证,但它仍然有效。在这些情况下,现在必须续订许可证。
- 错误修复:简化了 UNIX® 和 macOS 下节点锁定许可证的处理。
- 覆盖率浏览器:
- 错误修复:解决了解析来自不同时区的日期格式的问题,有关补丁分析。
Coco v3.3.0
Coco v3.2.3 与 Coco v3.3.0 之间的变化
- 覆盖率浏览器:
- 提高检测重复执行的速度。
- 在合并仪器数据库、生成 HTML 报告、计算执行源行的执行列表以及计算代码覆盖率指标方面提高了速度。
- 新功能:从位于不同目录的检出项目中导入注释和手动验证。
- 新功能:补丁分析。
- 覆盖扫描器:
- 错误修复:完全测量 C/C++ "ternary if" 操作符:在表达式
a ? b : c
中,所有在表达式a
、b
或c
中的布尔操作数都被测量。因此,嵌套的三元操作符也被完全测量。 - 新功能:自动排除所有不一致的(例如,使用不同的预处理器选项构建的)头文件的覆盖率分析。链接器警告列出了所有排除的文件。
- 错误修复:完全测量 C/C++ "ternary if" 操作符:在表达式
- cmcsexeimport:
- 新功能:提高检测重复执行的速度。
- cmreport:
- 新功能:补丁分析。
- 新功能:在 HTML 报告的提示中显示执行源代码行的测试列表。
- 新功能:在源代码行的提示中显示覆盖受测量语句的执行列表。
- cmmerge:
- 整体速度提升。
- 新功能:从位于不同目录的检出项目中导入注释和手动验证。
Coco v3.2.3
Coco v3.2.2 与 Coco v3.2.3 之间的变化
- 覆盖扫描器:
- 错误修复:减少了内存使用量。这修复了编译期间的“内存不足”错误信息。
- 新功能:对于 C# DLL,不再需要显式初始化 CoverageScanner API。 (不再需要
InjectModuleInitializer.exe
程序)
Coco v3.2.2
Coco v3.2.1 和 Coco v3.2.2 之间的变更
- 覆盖扫描器:
- 错误修复:对 C# 关键字
using
、lock
、unsafe
以及fixed
进行了更具意义的仪表化。 - 新增功能:如果已连接调试器,则在 Microsoft® Visual Studio® 控制台中显示 CoverageScanner 的运行时信息。
- 新增功能:在 C# 文件中,可以通过宏定义来启用“事件触发转储”(dump on event)功能。
- 错误修复:对 C# 关键字
- Microsoft® Visual Studio® 扩展插件:
- 新增功能:Coco 的调试输出配置。
- 新增功能:Windows 事件处理程序配置。
Coco v3.2.1
Coco v3.2.0 和 Coco v3.2.1 之间的变更
- 覆盖扫描器:
- 新增功能:支持 Shift-JIS 文本编码。
- 新增功能:不允许在本地文件系统上存储时,将 Silverlight C# 二进制文件的执行报告存储在隔离存储中。
- 错误修复:支持强名称 C# 程集。
- 覆盖率浏览器:
- 新增功能:现在可以通过首选项对话框关闭语法突出显示。
Coco v3.2.0
Coco v3.1.0 和 Coco v3.2.0 之间的变更
- 覆盖扫描器:
- 新增功能:在进行合并失败时提供精确的错误消息。
- 覆盖率浏览器:
- 新增功能:总体统计数据阈值。
- 新增功能:手动验证仪表化的统计数据(每个函数、源代码以及整个项目)。
- cmreport:
- 新增功能:HTML 和 CSV 报告的手动验证仪表化的统计数据(每个函数、源代码以及整个项目)。
- cmmerge:
- 速度改进。
- 新增功能:使用
--delete
后,成功合并后将删除所有输入文件。 - 新增功能:使用
--blackbox
为黑盒测试生成仪表化数据库。
Coco v3.1.0
Coco v3.0.2 和 Coco v3.1.0 之间的变更
- Coco:
- 新增功能:NUnit 插件。
- 构建环境选择:
- 错误修复:针对 x64 系统的 CygWin 安装检测已更正。
- 覆盖扫描器:
- VisualDSP® 支持。
- 错误修复:支持 UTF16 源文件。
- 新增功能:对于嵌入式系统,CoverageScanner 能够生成以 8.3 格式的执行报告。在这种情况下,报告文件扩展名为
.cse
,而不是.csexe
。 - 新增功能:新增命令行开关
--cs-no-abort-on-error
:如果使用,C/C++ 源代码处理期间出现的仪表化错误将不再终止构建。
- cmreport:
- 新增功能:HTML 报告重构。
- 新增功能:单个 HTML 文件和完整 HTML 报告现在具有相同的界面和感受。
- 新增功能:以可点击的树视图形式显示源目录统计信息。
- 新增功能:以可点击的树视图形式显示类目录统计信息。
- 新增功能:统计表可以交互式排序。
- 新增功能:每个表项的详细信息的工具提示。
- 新增功能:导出所有可以通过 HTML 报告导出的信息的 CSV 表格。
- 新增功能:现在可以根据需要交互式地在源、执行和功能对话框之间切换列表和树视图。
- 新增功能:CoverageBrowser 会自动响应仪表化数据库文件的重生成,并自动重载它。
- 新增功能:HTML 报告重构。
- 覆盖率浏览器:
- 新增功能:现在可以根据需要交互式地在源、执行和功能对话框之间切换列表和树视图。
- 新增功能:CoverageBrowser 会自动响应仪表化数据库文件的重生成,并自动重载它。
Coco v3.0.2
Coco v3.0.1 和 Coco v3.0.2 之间的变更
- Coco:
- 新增功能:Solaris 支持。
- 覆盖率浏览器:
- 错误修复:排除源文件时,修正了
EMMA
-XML 报告生成的问题。 - 新增功能:支持拖放
.csmes
和.csexe
文件。
- 错误修复:排除源文件时,修正了
- 覆盖扫描器:
- 新增功能:
--cs-output
中添加了格式说明符%c
。 - 错误修复:修复了
__declspec
扩展中的字符串问题。 - 错误修复:处理不可仪表化的 OpenMP 代码。
- 错误修正:支持C++11字符串字面量。(例如:
R"delim(")delim"
) - 错误修正:现在UTF-8源文件可编译。
- 错误修正:C++源文件结束处的行注释不再产生解析问题。
- 错误修正:现在支持C# linq表达式。
- 新特性:新的C# API函数
CoverageScanner.__coveragescanner_init()
。 - 新特性:在常量布尔表达式中检测死代码。
- 为
if ( false ) ...
或为if ( true ) ...
分支检测死代码。 - 如果
statement
未被包含在一个do ... while ( ... )
构造中,则将表达式do statement while ( false )
视为死代码。 - 检测
while ( false ) ....
循环中的死代码。 - 现在将语句'
while ( true ) ...
'和'do ... while ( true );
'视为无限循环'for(;;) ...
'。不再对条件进行仪器化,以避免错误的负面覆盖率仪器化。
- 为
- 错误修正:为C++混合模式添加了新的命令行开关:
--cs-architecture=CLR
- 错误修正:修复了C#和C++代码的几个解析问题。
- 错误修正:在生成预编译头时,支持通过
/FI
包含多个头文件。 - 错误修正:支持Microsoft® Visual Studio® 2013的C#。
- 新增功能:
- 构建环境选择:
- 新特性:生成所有已安装GCC编译器的所有版本的包装器。
Coco v3.0.1
Coco v3.0.0和Coco v3.0.1之间的更改
- 覆盖率浏览器:
- 新特性:手动验证一个仪器化验证所有依赖的仪器化。例如,将
return
语句标记为已验证时,所有之前的顺序行也将自动验证。
- 新特性:手动验证一个仪器化验证所有依赖的仪器化。例如,将
- 覆盖扫描器:
- 新特性:通过代码注释进行源代码注释。
- 错误修正:在macOS上支持clang编译器。
- Microsoft® Visual Studio® 扩展插件:
- 错误修正:排除源目录的仪器化功能再次工作。
Coco v3.0.0
Coco v3.0.0-pre1和Coco v3.0.0之间的更改
- 覆盖扫描器:
- 错误修正:嵌套复合语句的行覆盖率信息现在被正确计算。
- 更改:
--cs-include-path
/--cs-exclude-path
现在递归地应用于所有子目录。 - 新特性:
--cs-output
现在支持格式说明符(%f
,%P
,…) - 错误修正:
lib.exe
包装器现在支持Module-Definition(.def
)文件。 - 错误修正:现在即使运算符
||
或&&
不是逻辑运算符,也支持形式为CLASS c = a && b
的表达式的编译。
- 覆盖率浏览器:
- 新特性:现在可以禁用源文件的差异视图。
- 新特性:现在从先前的仪器化数据库导入审阅者评论。
- cmmerge:
- 新特性:有了(–reviews-only 命令行选项)导入审阅者评论。
Coco v3.0.0-pre1
Coco v2.1.8和Coco v3.0.0-pre1之间的更改
- 覆盖率浏览器:
- 新特性:提高了源窗口中折叠功能的可用性。
- 可以定义在折叠行部分的前后有多少行是上下文的一部分,并且不会被折叠。
- 折叠的行由仪器化过滤器对话框选择。
- 新特性:在分支或决策/条件级别,对于未仪器化的执行(或未执行)的行,现在以浅绿色(或浅红色)显示。
- 新功能:现在在源代码的预Processed视图中也可以看到行覆盖率信息。
- 新功能:可以选择将源代码片段自动复制到剪贴板。
- 新功能:生成
Cobertura
报告。
- 新特性:提高了源窗口中折叠功能的可用性。
- 覆盖扫描器:
- 新功能:简支持MinGW的GNU链接脚本。
- 新功能:macOS上的clang支持。
- 新功能:配置仪表化警告和错误。
- 错误修复:现在在表达式中对
throw
语句进行仪表化。(例如:int a = b ? 0 : throw 0 ;
) - 错误修复:
/Yc
和/Yu
现在可以同时用于Microsoft® Visual Studio®编译器。 - 新功能:Tcl支持。
- 新功能:C#支持。
- cmreport:
- 新功能:生成
Cobertura
报告。
- 新功能:生成
Coco v2.1.8
Coco v2.1.7和Coco v2.1.8之间的变化
- 覆盖率浏览器:
- 新功能:配置颜色方案。
- 新功能:交互式将从仪表化中排除源文件。
- 新功能:配置用于计算的线程的最大数量。
- 新功能:在生成代码覆盖率报告期间提供进度信息。
- 覆盖扫描器:
- 新功能:改进了switch/case语句后的无效代码检测。
- 新功能:优化了C++头文件的操控,这减少了仪表化数据库的大小和生成报告的时间。
- cmreport:
- 新功能:从报告生成中排除源文件。
- 新功能:配置用于计算的线程的最大数量。
- 更改:函数参数现在附加到每个
EMMA
-XML报告中的函数上。
- cmcsexeimport:
- 新功能:cmcsexeimport现在能够导入多个执行报告文件。
Coco v2.1.7
Coco v2.1.6和Coco v2.1.7之间的变化
- 覆盖率浏览器:
- 更改:导航按钮现在组合在一个工具栏中。
- 源代码查看器速度改进。
- 计算正在执行源行的测试列表的速度改进。
- 源代码函数中的文本搜索速度改进。
- 新功能:源代码查看器
- 新功能:源在标签视图中显示。
- 新功能:在整个文件的滚动条中预览仪表化。
- 新功能:工具提示显示源行说明的详细信息。
- 新功能:更直观的文本搜索功能(在源代码窗口中输入时进行搜索)以及交互式突出显示匹配项。
- 新功能: dock/undock行号列和统计列。
- 覆盖扫描器:
- 错误修复:CoverageScanner现在能够处理Microsoft® Visual Studio®的"Whole Program Optimization"(选项
/GL
)和"Use Link Time Code Generation"(选项/LTCG
)。 - 新功能:命令行选项
--cs-vs2010-lambda
允许您在Microsoft® Visual Studio® 2010中仪表化lambda函数。 - 新功能:支持Microsoft® Visual Studio®的C++语法扩展"for each"。
- 错误修复:支持ccache包装器。
- 错误修复:CoverageScanner现在能够在try/catch块之后检测无效代码。
- 错误修复:预编译头问题。
- 错误修复:处理以反斜杠结尾的源代码行。
- 错误修复:CoverageScanner现在能够处理Microsoft® Visual Studio®的"Whole Program Optimization"(选项
- cmreport:
EMMA
-XML报告生成速度提升。HTML
报告生成速度提升。- 新功能:HTML报告在工具提示中显示详细的仪表化报告。
- 更改:HTML报告现在在以
_html
结尾的目录中生成。这避免了在Unix下发生名称冲突,其中可执行文件在大多数情况下没有扩展名。
椰子 v2.1.6
椰子 v2.1.5 和 v2.1.6 之间的变更
- 覆盖率浏览器:
- 新功能:现在可以选择用于比较软件发布版本的源代码类型(原始源代码或预处理源代码)。
- 覆盖扫描器:
- 新功能:新的命令行选项让您指定从文本文件中指定的其他命令行参数(
--cs-option-file
)。 - 新功能:新的命令行选项直接指定 CoverageScanner 配置文件(
--cs-profile
)。
- 新功能:新的命令行选项让您指定从文本文件中指定的其他命令行参数(
- cmreport:
- 新功能:现在可以自定义
EMMA
-XML 报告。
- 新功能:现在可以自定义
椰子 v2.1.5
椰子 v2.1.4 和 v2.1.5 之间的变更
- 覆盖扫描器:
- 新功能:支持 Microsoft® Visual Studio® 编译器的预编译头。
- 新功能:现在支持 Xoreax IncrediBuild(http://www.incredibuild.com/incredibuild-product-overview.html)。
- 错误修复:在规范路径上计算相对路径上的通配符表达式。示例:使用
--cs-include-file-wildcard=include/*
匹配include/foo.h
和module/../include/bar.h
。 - 新功能:新增命令行选项指定 C++ 文件使用哪些扩展名(
--cs-cpp-ext
)和 C 文件使用哪些扩展名(--cs-c-ext
)。 - 新功能:新增命令行选项用于设置工具链路径(
--cs-native-toolchain
)。 - 变更:详细命令行选项(
--cs-verbose
)让您选择是否对构建、注入或 CoverageScanner API 进行注入。注入文件的详细输出被发送到日志文件(执行报告的名称,扩展名为.cslog
)。 - 错误修复:为 GCC 添加了
-m32
和-m64
命令行支持。 - 错误修复:修复了使用 Microsoft® Visual Studio® 编译器对注入的 C++0x lambda 函数进行编译的问题。
- 错误修复:编译时,当使用 Microsoft® Visual Studio® 时,默认支持
__stdcall
调用约定。 - 新功能:新增的命令行选项针对 UNIX® 平台,当收到信号时生成覆盖率报告(
--cs-dump-on-signal
)。 - 新功能:新增的命令行选项针对 Microsoft® Windows® 平台,当收到事件时生成覆盖率报告(
--cs-dump-on-event
)。 - 变更:在使用 Microsoft® Visual Studio® 编译时,库的注入表在运行时链在一起。可以使用
--cs-link-instrumentation-tables
命令恢复旧行为。
- cmreport:
- 变更:cmreport 现在默认在决策/条件级别生成代码覆盖率报告,并为未覆盖的行提供行覆盖率。
- Microsoft® Visual Studio® 扩展插件:
- 变更:Microsoft® Visual Studio® 添加插件不再禁用预编译头。
椰子 v2.1.4
椰子 v2.1.3 和 v2.1.4 之间的变更
- 覆盖率浏览器:
- 新功能:导入摘要显示导入的执行注释。
- 新功能:新增的注入模式可用于显示未注入行的计算行覆盖率。这使源代码可读,但对覆盖率统计没有影响。
- 覆盖扫描器:
- 错误修复:支持
/clr:safe
和clr:pure
命令行选项。 - 优化:现在 CoverageScanner 调用原生编译器而不调用其第二实例。
- 错误修复:在 switch/case 语句之前错误计算的行覆盖率现在得到了修复。
- 错误修复:支持
- 许可证管理器:
- 新功能:现在许可证管理器是一个向导对话框。
- 新功能:支持在Windows和Unix上使用命令行工具激活许可证
Coco v2.1.3
Coco v2.1.2与Coco v2.1.3之间的变化
- 覆盖扫描器:
- 新功能:支持Microsoft® Visual Studio®编译器的
/MP
(并行构建)命令行。 - 错误修复:修复了C++11模板解析问题。
- 新功能:生成用于CygWin的代码覆盖率扫描器包装器的CygWin的“构建环境选择”工具。
- 新功能:支持Microsoft® Visual Studio®编译器的
- Microsoft® Visual Studio® 扩展插件:
- 新功能:由于代码覆盖率扫描器对所有非系统文件夹进行了处理,因此删除了包含目录列表的选择对话框。替换成允许选择排除目录列表的对话框。
- Linux™安装程序:
- 新功能:可以指定自定义安装目录。
- cocolic:
- 新功能:Unix的命令行界面。
- 错误修复:在网络失败的情况下,提供更详细的错误信息。
Coco v2.1.2
Coco v2.1.1与Coco v2.1.2之间的变化
- 覆盖扫描器:
- 错误修复:支持多行
#pragma
。 - 错误修复:支持
::new
关键字。
- 错误修复:支持多行
- Microsoft® Visual Studio® 扩展插件:
- 错误修复:支持带有文件夹的解决方案。
- 错误修复:支持混合C++和C#项目的解决方案。
Coco v2.1.1
Coco v2.1.0与Coco v2.1.1之间的变化
- 覆盖扫描器:
- 变更:代码覆盖率扫描器现在默认为除了系统目录(如
/usr
、/opt
或C:\Windows
)或应用安装目录(如C:\Program Files
)以外的所有源文件进行仪器处理。 - 新功能:在编译时自动检测Microsoft® Visual Studio®所必需的运行库。不再需要在代码覆盖率扫描器库的构建命令参数中添加
/MD
或/MT
。 - 错误修复:在UNIX®上使用通配符表达式对文件名进行操作时崩溃。
- 新功能:现在在运行时生成仪器表。这使得我们可以处理覆盖库中对象的存根。
- 新功能:即使构造函数体为空,也会对其使用成员初始化列表的构造函数进行仪器处理。
- 新功能:支持Microsoft® Visual Studio®的C++ CLR语言扩展。
- 变更:代码覆盖率扫描器现在默认为除了系统目录(如
- 覆盖率浏览器:
- 新功能:如果导航按钮无关,则禁用它们。在搜索到达末尾后,导航按钮将重新从开头开始。
- 错误修复:在方法列表中单击函数,在源窗口中完全显示它。
- 错误修复:当使用行覆盖率支持计算仪器时,以及激活测试计数模式时,统计计数被错误地计算。
- 新功能:导入执行报告不再生成错误消息。如果一些执行无法导入,则会自动显示信息窗口。在它上面显示已导入的执行和错误列表。
- 新功能:提供Windows x64包。
- cmreport:
- 新功能:现在生成
EMMA
-XML报告条件覆盖率统计。这需要JenkinsEMMA
-XML插件版本1.29或更高版本。 - 新功能:生成JUnit报告。
- 新功能:现在生成
Coco v2.1.0
Coco v2.0.3与Coco v2.1.0之间的变化
- Coco:
- 新功能:识别函数内的死代码。
- 新功能:功能覆盖率。
- 新功能:行覆盖率。
- 覆盖扫描器:
- 默认启用代码覆盖率计数。
- cmreport:
- 错误修复:纠正
EMMA
-XML报告:行字段现在与行覆盖率相对应。
- 错误修复:纠正
Coco v2.0.3
Coco v2.0.2与Coco v2.0.3之间的变化
- Coco:
- 错误修复:修复许可激活问题。
Coco v2.0.2
Coco v2.0.1 与 Coco v2.0.2 之间的变更
- cmreport:
- 通过并行生成源代码视图,提高了 HTML 报告的生产速度。
- 覆盖扫描器:
- 错误修正:现在在 Windows 上对 C 文件中的
__try
和__finally
关键字进行处理。 - 错误修正:g++ 编译器包装器将具有 .c 扩展名的文件视为 C++ 文件。
- 错误修正:在 Windows 上,现在正确转义以反斜杠结尾的目录名。
- 错误修正:ar 和 ld 包装器现在正在工作,不会报告找不到配置文件。
- 新功能:除非使用命令行
--cs-no-boost
,否则不再分析宏BOOST_FOREACH
后的代码。 - 新功能:新命令行选项
--cs-output-abs
。 - 更改:默认启用对 Qt3、Qt4 和 Boost 的支持。可以通过命令行开关
--cs-no-qt3
、--cs-no-qt4
和--cs-no-boost
来禁用它。 - 更改:现在默认在决策和条件级别进行完整的仪器设置。
- 错误修正:现在在 Windows 上对 C 文件中的
Coco v2.0.1
Coco v2.0.0 与 Coco v2.0.1 之间的变更
- 覆盖扫描器:
- 错误修正:现在可以通过命令行设置包含转义引号的宏定义(例如:
"-DVERSION=\"version 1.1\""
)。 - 错误修正:当路径中包含空格时,TextEdit 示例的编译问题已修正。
- 错误修正:现在可以通过命令行设置包含转义引号的宏定义(例如:
- 许可对话框:
- 错误修正:现在可以中断检索许可证密钥,并显示进度条。
Coco v2.0.0
TestCocoon v1.6 与 Coco v2.0.0 之间的变更
- Microsoft® Visual Studio® 扩展插件:
- 新功能:支持 Microsoft® Visual Studio® 2010。
- 错误修正:现在识别和处理 x64 平台。
- 覆盖率浏览器:
- 新功能:支持将相同的对象链接多次到应用程序中。
- 新功能:现在可以筛选出未覆盖任何代码的执行。
- 新功能:现在可以筛选出未进行仪器设置的源文件和函数。
- 错误修正:统计的计算现在是能够饱和所有可用 CPU 的。
- 错误修正:在打开新的仪器数据库后,没有选择执行。
- 新功能:现在可以选择使用本地文件对话框还是 Qt 提供的对话框。
- 新功能:在执行列表中显示参考发布版本的执行。参考发布版本的执行会被删除线标注,新的执行会被下划线标注。
- 新功能:生成可浏览的 HTML 输出。
- 覆盖扫描器:
- 不再对空函数进行仪器设置。
- 新功能:支持 C++0x。
- 新功能:使用命令行选项
--cs-verbose
时,CoverageScanner 的输出现在进行了详细输出。 - 新功能:现在在所有统计数据计算完成后才保存树形视图的内容。
- 新功能:
Q_FOREACH
宏现在被处理,以避免错误的代码覆盖率统计。一旦执行了一次查找,就认为Q_FOREACH
宏已经达到 100% 的覆盖率。
- cmcsexeimport:
- 新功能:从执行报告中解析 HTML 形式的执行注释。这让我们可以向执行报告添加额外的日志信息。
- cmreport:
- 错误修正:修正了
EMMA
-XML 的问题:现在的全局统计信息在EMMA
-XML 报告中按以下顺序排序:行、方法、类,然后是代码块。 - 新功能:生成可浏览的 HTML 输出。
- 错误修正:修正了
Coco v7.2.0©2024 年 Qt 公司有限公司。
Qt 及其标志是芬兰以及/或世界其他地区的 Qt 公司的商标。所有其他商标归其各自所有者所有。