Release Notes
Coco v7.2.1
- CoverageScanner:
- New Feature: Functions that can break execution flow, such as run-time assertions, can now be handled explictly using
--cs-record-call
- New Feature: Added a new switch
--cs-disable-rvalue-support
and.cspro
parameterRVALUE_SUPPORT
to disable rvalue support on some compilers that are not fully C++ standard-compliant (e.g. TI compiler cl6x). - Bug Fix: Headers and source files with only constexpr template functions and no effective lines of code are now included in the
.csmes
file - Bug Fix: Inconsistent behavior of
--cs-constexpr=runtime
when compiling and linking in separate steps - Bug Fix: Parsing issue with templated lambda functions
- Bug Fix: Missing code snippets in reports when using double slashes for file paths on MinGW 8.1.0
- Bug Fix: Parsing error of template functions without explicit brackets
<>
- Bug Fix: Linking issues when instrumenting with Metaware and GreenHills compilers
- Bug Fix: Compilation issue with captures in lambda functions
- Bug Fix: C++
and
operator compilation issue when MC/DC is used - Bug Fix: Compilation issue with the
find_if
function when MC/DC is enabled - Bug Fix: Warning about ignored line markers due to use of mixed absolute and relative filenames in
#line
directives - Bug Fix: Incorrect default executable names on Visual Studio and Clang for Windows compilers
- New Feature: Functions that can break execution flow, such as run-time assertions, can now be handled explictly using
- CocoQML:
- Changes: All QML properties, including static literals, are now instrumented by default. The flag
--instrument-all-properties
was removed and a new flag--exclude-literal-properties
was added to restore the previous behavior, which was to exclude properties containing only literals from instrumentation. - New Feature: Introduced
--exclude-types
flag that allows excluding certain QML types from instrumentation. By default,TestCase
type is excluded. - Bug Fix: Incorrect highlight location for array properties in QML
- Bug Fix: Issue with handling the
as
operator when the given type is in a namespace
- Changes: All QML properties, including static literals, are now instrumented by default. The flag
- CocoTestEngine:
- Bug Fix: String rendering issue in Test Data Editor
- CoverageBrowser:
- New Feature: Add option to include sources without instrumentation in reports
- Small UI improvements.
- Documentation:
- Changes: Offline documentation is now delivered as a separate package in the download area.
- Updated documentation on setting up Windows kernel driver coverage
- Added a new section describing the .csexe file format
- Expanded section on "Instrumentation is different" warnings with with instructions on injecting/removing compiler arguments
- IDE Integrations:
- Bug Fix: Issue with tooltips in Visual Studio Code extension
- Installation:
- Removed wrappers for clang tools that are not compilers (e.g. clang-format)
- Improve searchability of start menu shortcuts on Windows
- cmreport:
- New Feature: Profiler information is now exported into the HTML report
- New Feature: Expanded CSV report with "XML Information" column containing execution information in XML format
- Bug Fix: Performance issue with
cmreport
due to redundant reading of.csmes
files - Bug Fix:
cmreport
now reports an error when it fails to write individual HTML files - Bug Fix: Conflicting
-t
command line arguments - Bug Fix: Missing "conditions" field in Cobertura report
- Bug Fix: Unnecessary line breaks in "Metrics" section of CSV report
- Bug Fix: Missing eLOC and McCabe values for empty files are now set to 0 in the CSV report
- cmcsexeimport:
cmcsexeimport
now reports an error when importing an invalid.csexe
file
Coco v7.2.0
- CoverageScanner:
- Changes: The exclusion/inclusion rules of source files using regular expressions are now case sensitive on Windows. The behavior is now identical to Unix platforms.
- New Feature: Low level configuration for the instrumentation of
std::shared_ptr
andstd::unique_ptr
. - New Feature: Better instrumentation of code before an infinite loop.
- New Feature: Possibility to set the list of object extensions through a command line parameter.
- New Feature: Command line switches which permit to inject or remove command line arguments for the compiler or linker.
- New Feature: Support for the native Clang compiler on Windows.
- Bug fix: Suppress security warnings from clang on macOS by using
snprintf
instead ofsprintf
. - Bug fix: Compilation issues fixed for the TI compiler (
cl6x
). - Bug fix: Support for switch statements with case labels containing expressions such as "
case (uint{1}):
". - Bug fix: Issues with filenames containing a star
"*"
or a single quote"'"
. - Bug fix: Issue fixed when more than one source file is compiled with a single command and MCC is used.
- Bug fix: Several parsing issues when using the symbols
<
and>
, e.g. templates and ternary operators
- CocoQML:
- Upgraded QML and Javascript parsers resulting in significantly improved support for new language features.
- New platform: Introduced CocoQML package for macOS.
- New Feature: Special handling of non-standard JavaScript syntax in QML such as type annotation and type assertion.
- Bug fix: Issues with blacklist wildcard matching.
- Bug fix:
cocoqmlscanner
now skips empty QML files. - Bug fix: QML filenames now use local file path format with native separators instead of URLs, making the
.csmes
files consistent with C++. - Bug fix: Incorrect conversion of
undefined
totrue
in decision coverage instrumentation.
- CocoTestEngine:
- New Feature: Improved and added customizability to string representation in Test Data Editor.
- New Feature: Support for QString in
COCOTEST_FETCH
andCOCOTEST_CHECK
macros - New Feature: Data in
std::string
are now UTF-8 compatible by default. - New Feature: Enable full Unicode support in RegExp generator.
- New Feature: Added switches for a random number seed used during test data discovery
- Bug fix: Issues in test data discovery algorithm that prevented it from achieving maximum coverage.
- CoverageBrowser:
- Small UI improvements.
- IDE Integrations:
- Bug fix: VS Coco Wizard's copy build mode functionality is fixed.
- Documentation:
- Added tutorial for instrumenting a C++ and QML codebase.
- Installation:
- Small UI improvements in installers, Build Environment Selection, License Manager and CLI tools.
- cmreport:
- New Feature: Source files without instrumentation can be exported in the Cobertura XML report
- cmmerge:
- New Feature: Merging of
.csmes
files is now possible if the preprocessor output is different for a source file.
- New Feature: Merging of
Coco v7.1.1
- CoverageScanner:
- Bug fix: Wrong function name in the list of functions when a function returns a pointer to a function, as in "
void (*foo())()
".
- Bug fix: Wrong function name in the list of functions when a function returns a pointer to a function, as in "
- Reports:
- Bug Fix: Links to sources in HTML reports incorrectly pointed to the page with command line options instead of the source code. There is now an icon for each source file with a link to the command line options page.
- Test Data Generation:
- Bug Fix: CocoTestEngine did not work on MacOS.
Coco v7.1.0
- CoverageScanner:
- Bug fix: Parsing problem when C++ templates are used in
if
statements. - Bug fix: Fixed some bugs in the integration of the Texas Instruments
cl6x
compiler. - New Feature: Many system header files that cause instrumentation failures are now automatically excluded through the
NATIVE_TOOLCHAIN_ROOT
variable in the.cspro
file. - New Feature: Detailed diagnostics regarding compiler flags when a file is compiled multiple times resulting in inconsistent instrumentation.
- New Feature: Special handling of
constexpr
functions through the--cs-constexpr
flag. - Bug fix: Broken multi-line comments using
//
in the source code stored in *.csmes files.
- Bug fix: Parsing problem when C++ templates are used in
- CoverageBrowser:
- Bug Fix: Many small CoverageBrowser usability issues got fixed.
- New Feature: The compiler flags for each source file are displayed in the Explanation pane of CoverageBrowser.
- CocoQML:
- Bug Fix: Fixed several QML parsing and instrumentation bugs
- Removed the
cocoqmlscanner
option--no-tracker
. New Feature
: Added a wildcard-based blacklist forcocoqmlscanner
.
- Reports:
- Bug Fix: Problems when exporting Function Coverage to Cobertura and SonarQube report
- Introduce aliases to some
cmreport
command line flags to make them more regular. This includes--sonarqube
,--coverage-line
and--coverage-function
. The old flags remain for compatibility.
- cmedit:
- Bug Fix: Some source files in the
.csmes
file were not renamed bycmedit
.
- Bug Fix: Some source files in the
- Installation:
- The Coco license text has changed.
- Test Data Generation:
Bug Fix
: Several smallertestdataeditor
bugs got fixed.
- Documentation:
- Reorganization of the documentation to make its contents easier to find
- Added a chapter to explain the CoverageScanner warning "Instrumentation is different"
- License server:
- Bug Fix: Missing library for license server under CentOS 7.
Coco v7.0.0
Changes between Coco v6.1.1 and Coco v7.0.0:
- General:
- New Feature: Automatic test data generation.
- CoverageScanner:
- New Feature: Support for TI C6000 C/C++ Compiler.
- New Feature: C++ comment style for multi-line annotation.
- Bug fix: Multiline strings generate an error when used in precompiled C/C++ headers.
- Bug fix: Parsing issues with C++20
requires
expression. - Bug fix: Inconsistent coverage of the opening curly bracket of the
main()
function under GCC and Microsoft Visual C++. - Bug fix: C++
static_assert()
declaration creates compilation errors. - Bug fix: Support for new C# 9.0 pattern matching.
- Bug fix: C# init only setters cause compilation errors.
- Bug fix: The path to the native toolchain is ignored when set via
--cs-native-toolchain
. - Bug fix: The
--cs-verbose-file
option does not produce a log file. - Bug fix: Instrumenting nested ternary conditional operators produces incorrect results.
- cmreport:
- Bug fix: Consistency check of the coverage level between
cmreport
and the build.
- Bug fix: Consistency check of the coverage level between
- Installation:
- Bug fix:
cocolicserver
is not present in the macOS version.
- Bug fix:
Coco v6.1.1
Changes between Coco v6.1.0 and Coco v6.1.1:
- CocoQML:
- Bug Fix: Issue of files without instrumentation points causing
cocoqmlscanner
to fail.
- Bug Fix: Issue of files without instrumentation points causing
- Installation:
- Bug Fix: Adding missing compiler wrappers on Linux and Windows for GreenHills, TI, Metaware and ARM-DS toolchains.
Coco v6.1.0
Changes between Coco v6.0.0 and Coco v6.1.0:
- CoverageScanner:
- New Feature: Metaware compiler support
- New Feature: TI compiler support
- Bug Fix: Allowing
.obj
as object extension on Linux. - Bug Fix: Parsing issue of C++ templates
- New Feature: Support of
constexpr
instrumentation (experimental). - New Feature: GreenHills RH850 compiler support.
- New Feature: Adding TI, Metaware and GreenHills compilers wrappers to the Linux distribution.
- Bug Fix: C++23
if consteval
statement supported. - Bug Fix: C++
final
specifier supported. - Bug Fix: Issues with instrumenting applications for QNX.
- Bug Fix: Issues with instrumenting Qt applications using MinGW.
- Bug Fix: Issue of escaping strings in a response file.
- Bug Fix: Issue with instrumenting captured variables in lambda expressions.
- Bug Fix: Issue with response files in parallel builds on Visual Studio.
- Build Environment Selection:
- New Feature: TI Compiler support.
- coveragebrowser:
- Bug Fix: Crash when merging
.csmes
files fixed.
- Bug Fix: Crash when merging
- cmreport:
- New Feature: SonarQube code coverage report generation.
- CocoQML:
- Bug Fix: Incorrect instrumentation of
switch
statements. - Bug Fix: Support for
continue
statements insideswitch
statements. - Bug Fix: Broken instrumentation of arrays initialized with an empty element.
- Bug Fix: Issue with parsing arrow function expressions (
=>
) used inforEach
loops. - New Feature:
cocoqmlscanner
is now fully controlled via command line arguments - Bug Fix: Temporary
.csmes
files are no longer created for each.qml
and.js
file. - Bug Fix:
function() {...}
declarations are now parsed and instrumented. - Bug Fix: Issue with
.csmes
files overwriting each other when created from the same.qml
and.js
base name. - Bug Fix:
cocoqmlscanner
now catches early instrumentation failures and does not just fail silently. - Bug Fix: Double instrumentation of
return
statements insideif
blocks. - Bug Fix: Missing instrumentation of
finally
block in exception handling.
- Bug Fix: Incorrect instrumentation of
Coco v6.0.0
Changes between Coco v5.1.0 and Coco v6.0.0:
- IDE Integrations:
- New Feature: Code coverage information can be displayed in the editor window of most IDEs. This is possible with a new mode of CoverageBrowser that lets it act as a Language Server Protocol (LSP) server.
At a minimum, an editor or IDE that supports LSP will display coverage information via annotations or tooltips. For Visual Studio, Visual Studio Code and Qt Creator, dedicated plugins are provided that highlight coverage through background colors. Sample setup instructions are provided in Integration of CoverageBrowser with an IDE.
- New Feature: Code coverage information can be displayed in the editor window of most IDEs. This is possible with a new mode of CoverageBrowser that lets it act as a Language Server Protocol (LSP) server.
- CoverageScanner:
- Bug Fix: Various C# and C++ parsing issues.
- New Feature: The flag
--cs-exit-function
now supports fully-qualified names (e.g.Foo::bar()
). - New Feature: Support of the C++20 keywords
consteval
,required
andconcept
. - New Feature: Support of the C++ keyword
override
. - New Feature: Support of the
BOOST_THROW_EXCEPTION
macro. - New Feature: CoverageScanner now shows all header files even if they do not contain any code. If wanted, these files can later be excluded in CoverageBrowser or when generating a report.
- Bug Fix: Support for the C# 9.0
new
operator with type interference. - Bug Fix: Support for the C# 8.0
using
keyword extension.
- CoverageBrowser:
- New Feature: The new
--lsp-stdio
command line switch turns CoverageBrowser into a Language Server Protocol (LSP) server that communicates via stdin and stdout with an IDE and sends Coverage information to it. Similarly,--lsp-stdio-proxy
lets CoverageBrowser act as a proxy for an ordinary LSP server. - Bug Fix: Save/restore of window position for multi-screen setups.
- New Feature: Improved save/restore for instrumentation database settings.
- New Feature: The new
- Platform Support:
- Bug Fix: Support for version 9 of IAR Embedded Workbench.
- New Feature: Support for clang-based cross-compilation to Linux™ from Microsoft® Windows.
- New Feature: Support for the
clang-cl
compiler. - New Feature: New style of
.csexe
file locking that works on NFS file shares.
- License:
- New Feature: New license key supporting the subscription model.
- Microsoft® Visual Studio® Add-In:
- New Feature: Support Microsoft® Visual Studio® 2022.
- New Feature: New Add-in that highlights coverage in the IDE.
Coco v5.1.0
Changes between Coco v5.0.3 and Coco v5.1.0:
- Microsoft® Visual Studio® Add-In:
- New Feature: Replaced the old Microsoft® Visual Studio® Add-In with a stand-alone program to edit the project configuration files; it also works with Microsoft® MSBuild and similar build systems.
- Build Environment Selection:
- New Feature: The program has now command line parameters that can be used for scripted installations.
- CoverageBrowser:
- Bug Fix: Diff functionality did not work correctly with code that was split over two lines.
- Bug Fix: Accelerator keys were displayed incorrectly in the titles of docking windows.
- cmreport:
- Bug Fix: Issues with Cobertura reports for Azure DevOps corrected.
- Bug Fix: Manual validations are now optionally reported in Cobertura reports.
- CoverageScanner:
- Bug Fix: The C++20 threeway comparison operator
<=>
is now supported. - Bug Fix: If a function name was surrounded by braces (like, "
int (foo)() { return 0 ; }
"), the wrong name was displayed in the reports. - Bug Fix: Build issues for Linux Kernel modules.
- Bug Fix: C++11 handling of
final
fixed. - Bug Fix: C++11 handling of
const_expr
fixed. - Bug Fix: Issue with static initializer of C++ structures fixed.
- New Feature: A command line flag to specify an additional source file which contains custom code that can be used in an instrumented program (
--cs-custom-library-source
=<file>
). - New Feature: Command line flags to specify a trigger functions (
--cs-trigger-function
=<triggerfunction>
) and a custom function which saves the coverage data (--cs-coverage-save-function
=<savefunction>
). - Bug Fix: Support of linker input files for
csar
(ar
switch@
). - New Feature: The memory pool provides now a custom exception to handle an out-of-memory exception. (
--cs-memory-alloc-failure-function
=<string>
) - Bug Fix: Unclear error messages about licensing are reworded.
- New Feature: .NET Core support on Windows.
- New Feature: Guess typical
--cs-libgen
parameters for instrumentation of kernel modules and cross-compilations.
- Bug Fix: The C++20 threeway comparison operator
- CocoQML:
- New Feature: Instrumentation is now possible with
cocoqmlscanner
alone and a new "tracker object" that is compiled by the customer.
- New Feature: Instrumentation is now possible with
Coco v5.0.3
Changes between Coco v5.0.2 and Coco v5.0.3:
- CoverageScanner:
- Bug Fix: C++ ISO 646 keywords support of '
and
', 'not
' and 'or
' for MC/DC and condition coverage. - Bug Fix: Removing comments in the preprocessed output that had been enabled in version v5.0.2.
- Bug Fix: C++ ISO 646 keywords support of '
Coco v5.0.2
Changes between Coco v5.0.1 and Coco v5.0.2:
- CoverageScanner:
- Bug Fix: Compilation issues with C++ member function pointer in templates.
- New Feature:
Q_FOREACH
support when compiling with C++17. - New Feature: Null-coalescing assignment support (https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-8#null-coalescing-assignment).
- Object relocation support for GNU
ld
.
- Microsoft® Windows installer:
- Bug Fix: Silent installation no longer calls the license wizard.
- Microsoft® Windows:
- Bug Fix: Crash of the command line tools on Microsoft® Windows 10.
Coco v5.0.1
Changes between Coco v5.0.0 and Coco v5.0.1:
- CoverageScanner:
- Bug Fix: Compilation issues when profiling is used on Microsoft® Visual Studio® 2008.
- New Feature: Instrumentation of boolean expressions whose arguments are class instances with a custom conversion to boolean or integer types.
- Bug Fix: Compilation issues fixed when using boolean expressions in template parameters.
- Bug Fix: Line coverage issues fixed.
- Bug Fix: Compilation issue fixed when performing boolean operations on function pointers.
- Bug Fix: Compilation issue fixed with precompiled headers when compiling with Microsoft® Visual Studio®.
- cmreport:
- Bug Fix: Issue with HTML reports when the sources are spread over several Windows drives (C:, D:, …)
- Microsoft® Windows installer:
- Bug Fix: Missing DLL installed.
Coco v5.0.0
Changes between Coco v4.3.3 and Coco v5.0.0:
- CoverageBrowser:
- New Feature: Function profiler.
- New Feature: Metric difference between two releases.
- New Feature: Possibility to exclude all uninstrumented files from patch analysis.
- Bug Fix: Usability issue when displaying metrics fixed.
- CoverageScanner:
- Bug Fix: Issue with execution counter of 64 bits fixed.
- New Feature: Support for ARM DS-5.
- New Feature: Function profiler.
- New Feature: Automatic integration with Squish for Qt.
- Bug Fix: Compilation issues of C# and C++ code fixed. (Ternary operator,
noexcept
keyword, lambda functions,…) - Bug Fix: Annotations support for C#.
- Bug Fix: dotnet exit issue on Linux.
- cmedit:
- New Feature: Possibility to rename functions. (Experimental)
- cmreport:
- Bug Fix: Verification of the coherence of the coverage settings selected through the command line.
- New Feature: Possibility to exclude from the patch analysis the file which are not instrumented.
- CocoQML:
- Bug Fix: Multi-threaded QML applications can now be instrumented.
- Bug Fix: Various other bug fixes: Instrumentation of
case
statements, complex ternary operators, other problems with complex syntax.
- License Server:
- New Feature: System wide configuration file (on
/etc/
) for an easier deployment.
- New Feature: System wide configuration file (on
- Squish:
- New Feature: Better integration of Squish and Coco.
Coco v4.3.3
Changes between Coco v4.3.2 and Coco v4.3.3:
- Microsoft® Visual Studio® Add-In:
- New Feature: Microsoft® Visual Studio® 2019 support.
- Bug Fix: Installation issues with Microsoft® Visual Studio® 2017 add-in.
- CoverageScanner:
- Bug Fix: C# compilation issues fixed. (Issues with string literals, multi-arrays,
out
parameters and MCC instrumentations issues) - New Feature: .NET Core support on Linux™.
- Bug Fix: Issue with C++ fallthrough attribute fixed.
- Bug Fix: Error message compliant with Microsoft® MSBuild.
- Bug Fix: Compilation issues fixed with C++ code instrumented at MCC level
- Bug Fix: The
.csexe
extension is now added in the same way for C++ and C# when usingCOVERAGESCANNER_ARGS
environment variable. - Bug Fix: Precompiled header issues fixed.
- Bug Fix: C# compilation issues fixed. (Issues with string literals, multi-arrays,
Coco v4.3.2
Changes between Coco v4.3.1 and Coco v4.3.2:
- cmmerge:
- Bug Fix: C++ files in which a namespace is set by a preprocessor symbol are now handled correctly.
- CoverageScanner:
- Bug Fix: Line coverage issues in nested blocks fixed.
- Bug Fix: Compilation issues with GNU's statement expression extension corrected.
- Bug Fix: Better handling of path case in Microsoft® Windows.
- Bug Fix: Fixed "undefined symbol" linker issue with static libraries.
- New Feature: CoverageScanner can now be disabled with the preprocessor symbol
COVERAGESCANNER_COVERAGE_OFF
. - New Feature: PureCoverage annotations can now be disabled.
- Bug Fix: C# compilation issues fixed. (Issues with
new
operator, tertiary operators, nullables and bodied expressions.) - Bug Fix: Dead code detection after a
throw
statement. - Bug Fix: C++-14 and C++-11 compilation issues fixed. (Issues with "
if constexpr
" statements,noexcept
, template ellipsis, lambda expressions and function tables.)
Coco v4.3.1
Changes between Coco v4.3.0 and Coco v4.3.1:
- cmreport:
- Bug Fix: Line coverage fixed for nested blocks with only sequential instructions inside.
- Bug Fix: Coverage after merging differently preprocessed versions of a source is now correct.
- cmmerge:
- Bug Fix: Annotations from differently preprocessed source files are now imported correctly.
- CoverageScanner:
- Bug Fix: A C# parsing issue concerning the null-coalescing operator ('
??
') is fixed. - Bug Fix: Some C++ parsing issues are resolved.
- Bug Fix: The annotation of some lines was ignored in some cases.
- Bug Fix: Extremely long C# compiler command lines are now handled correctly.
- Bug Fix: A C# parsing issue concerning the null-coalescing operator ('
Coco v4.3.0
Changes between Coco v4.2.2 and Coco v4.3.0:
- CoverageScanner:
- New Feature: Computing the execution time of tests.
- Bug Fix: Compilation issue fixed for Qt5 code.
- Microsoft® Visual Studio® Add-In:
- Bug Fix: Repair of broken executable paths for Microsoft® Visual Studio® 2017.
- CocoQML:
- New Feature: Release of
cocoqmlscanner
, a program to instruments all QML and JavaScript files of a project in one step. - New Feature: New environment variable
COCOQML_DEFAULT_BLACKLIST
to exclude or include Qt QML system files from coverage.
- New Feature: Release of
Coco v4.2.2
Changes between Coco v4.2.1 and Coco v4.2.2:
- CoverageScanner:
- New Feature: Instrumentation of boolean expressions in
return
statements
- New Feature: Instrumentation of boolean expressions in
Coco v4.2.1
Changes between Coco v4.2.0 and Coco v4.2.1:
- CoverageScanner:
- Bug Fix: Instrumentation of the ternary operator in C cast expressions.
- Bug Fix: Compilation issue fixed for C++11 keyword
noexecept
. - New Feature: Qt5 support for
QStringLiteral
. - New Feature: Support for Windows Embedded Compact 2013.
Coco v4.2.0
Changes between Coco v4.1.2 and Coco v4.2.0:
- Coco:
- New Feature: Cyclomatic complexity (McCabe) metric.
- New Feature: Source file renaming and merging of test results from different platforms.
- CoverageScanner:
- Bug Fix: Faster generation of execution reports.
- On Windows, the absolute file names are no more converted to the lower case.
- cmmerge:
- Bug Fix: Merging issue of manual validations corrected when MCC or MC/DC metric is used.
- cmreport:
- Bug Fix: List of manual validations does no longer include uninstrumented lines.
- New Feature: The text report now exports all manual validations.
Coco v4.1.2
Changes between Coco v4.1.1 and Coco v4.1.2:
- CocoQML:
- New Feature: The add-on has now a cache in which it stores the instrumented files. The cache is by default disabled.
Coco v4.1.1
Changes between Coco v4.1.0 and Coco v4.1.1:
- Command line tools:
- New Feature: Most command line tools now have a command line option @<filename> that lets you read options from a file.
- Microsoft® Visual Studio® Add-In:
- New Feature: Microsoft® Visual Studio® 2017 support.
Coco v4.1.0
Changes between Coco v4.0.4 and Coco v4.1.0:
- CoverageBrowser:
- New Feature: Streamlined the UI design of the Execution Report import dialog.
- CoverageScanner:
- New Feature: Support of
sc_uint
template of SystemC. - Bug Fix: Speed and memory usage improvement of instrumented applications.
- New Feature: Support of C++ source files compiled with different preprocessor directives.
- New Feature: Better support of lambda functions.
- New Feature: Support of
- CocoQML:
- Bug Fix: Problem with
.pragma
fixed.
- Bug Fix: Problem with
- Microsoft® Windows Installer:
- Bug Fix: Fixed file permission issues.
Coco v4.0.4
Changes between Coco v4.0.3 and Coco v4.0.4:
- CoverageScanner:
- New Feature: Expansion of environment variables at runtime with command line options of the form
--cs-output
=<<string>>
.
- New Feature: Expansion of environment variables at runtime with command line options of the form
Coco v4.0.3
Changes between Coco v4.0.2 and Coco v4.0.3:
- CocoQML:
- New Feature: An experimental add-on for coverage of QML code is now available.
- CoverageScanner:
- New Feature: The option
--cs-no-line-directive
now also works for C#. - Speed improvement of the execution report generation.
- New Feature: The option
- Coco:
- Bug Fix: ARM® Keil® Vision v5.23 support. (The installation is now performed by the "Build Environment Selection" tool)
Coco v4.0.2
Changes between Coco v4.0.1 and Coco v4.0.2:
- CoverageScanner:
- Bug Fix: Compilation issues fixed for projects with precompiled headers and MCC or MC/DC instrumentation.
Coco v4.0.1
Changes between Coco v4.0.0 and Coco v4.0.1:
- Microsoft® Visual Studio® Add-In:
- Bug Fix: Coverage settings of C# projects are now applied to all platforms of a specific configuration.
- CoverageScanner:
- Bug Fix: Compilation issues fixed for C# projects instrumented with MCC and MC/DC metric.
Coco v4.0.0
Changes between Coco v3.4.1 and Coco v4.0.0:
- Coco:
- New Feature: New coverage metrics MCC (Multiple Condition Coverage) and MC/DC (Modified Condition/Decision Coverage)
- CoverageBrowser:
- New Feature: Difference analysis between two software versions will highlight changes in instructions only and ignore changes in source code comments.
- Bug Fix: Minor GUI usability improvements.
- cmreport:
- New Feature: The
EMMA
-XML report format has been extended to support Decision, MC/DC and MCC coverage. A new dedicated JenkinsEMMA
-XML plugin is available. - New Feature: Difference analysis between two software versions will highlight changes in instructions only and ignore changes in source code comments.
- New Feature: The
- CoverageScanner:
- New Feature: To avoid potential overflows the execution counters are now 64 bits wide. The size can be changed with
--cs-counter-size
. - New Feature:
--cs-mcc
and--cs-mcdc
switches activate instrumentation for all code coverage metrics up to MCC.
- New Feature: To avoid potential overflows the execution counters are now 64 bits wide. The size can be changed with
Coco v3.4.1
Changes between Coco v3.4.0 and Coco v3.4.1:
- CoverageScanner:
- New Feature: The CoverageScanner API will propagate the test name, status and comments from an executable or library to all linked DLLs and subordinate DLLs.
- cmcsexeimport:
- New Feature: Upon import a warning will be emitted if test meta-information (name, status and comments) is found to be incoherent.
- License Server:
- Bug Fix: Crash fixed with new license key formats.
Coco v3.4.0
Changes between Coco v3.3.3 and Coco v3.4.0:
- cmreport:
- New Feature: HTML Tree view of source and functions.
- CoverageScanner:
- New Feature: Coverage for the cases in a
switch
statement is now counted separately even if the case contains no statements. The old (less precise) behavior can be restored with--cs-combine-switch-cases
. - New Feature: The Decision Coverage level is now available as a distinct choice without the need to turn off Condition Coverage through
--cs-decision
. - To align naming of coverage levels with other vendors,
--cs-branch
is now called--cs-basic-blocks
. Similarly, the C# pragma and regioncov-branch
have been renamed tocov-basic-block
. The old names are still recognized for backward compatibility. If coverage analysis of 'empty' branches is desired, use Decision Coverage.
- New Feature: Coverage for the cases in a
- CoverageBrowser:
- New Feature: Reverse patch analysis. With this feature, a patch file that is already part of the code can be used to find out which tests cover the patched code.
- New Feature: Bug location: computation of the list of source code lines most likely responsible for a failure in the test suite. (see Bug Location)
- New Feature: The computation of the optimized execution order now occurs in the background.
- New Feature: The dialog to import an execution report has now an integrated preview.
- New Feature: Simplified report generation dialogs.
Coco v3.3.3
Changes between Coco v3.3.2 and Coco v3.3.3:
- Build Environment Selection:
- New Feature: Generation of compiler wrappers for CygWin and MinGW's compilers.
- cmreport:
- New Feature: Splitting long lists over several pages in the HTML report.
- Microsoft® Visual Studio® Add-In:
- Bug Fix: Installation issue on Microsoft® Visual Studio® 2005 fixed.
Coco v3.3.2
Changes between Coco v3.3.1 and Coco v3.3.2:
- cmcsexeimport:
- New Feature: Wildcards are supported to specify the list of execution reports.
Example:
cmcsexeimport -m project.csmes --title="execution" *.csexe
- New Feature: Wildcards are supported to specify the list of execution reports.
- cmmerge:
- New Feature: Wildcards are supported to specify the list of input databases.
Example:
cmmerge -o output.csmes inputs_*.csmes
- New Feature: Wildcards are supported to specify the list of input databases.
- CoverageScanner:
- Bug Fix: Support of C++11
shared_ptr
template in expressions. - Bug Fix: C# 6.0 auto-property initializer supported.
- Bug Fix: Support of C++11
- Microsoft® Visual Studio® Add-In:
- New Feature: Microsoft® Visual Studio® 2015 support.
Coco v3.3.1
Changes between Coco v3.3.0 and Coco v3.3.1:
- Licenses:
- Bug Fix: Simplified handling of node-locked licenses under UNIX® and macOS.
A Coco program with a node-locked license now expects that the license had been generated on the same account as that one under which it runs.
Previously, the account to which a license was bound was that one under which the user that started it had initially logged in. Changing the account with
su
orsudo
had no influence on the license. This means that under some circumstances a license was generated for an account different from that under which Coco ran, but it worked nevertheless. In these cases, the license must now be renewed.
- Bug Fix: Simplified handling of node-locked licenses under UNIX® and macOS.
- CoverageBrowser:
- Bug Fix: Patch analysis: Issue related to parsing of date formats from different time zones resolved.
Coco v3.3.0
Changes between Coco v3.2.3 and Coco v3.3.0:
- CoverageBrowser:
- Speed improvement in the detection of duplicate executions.
- Speed improvements in the merge of instrumentation databases, the generation of HTML reports, the computation of the list of executions that execute a source line, and in the computation of the code coverage metrics.
- New Feature: Import of comments and manual validations from projects which are checked out in different directories.
- New Feature: Patch analysis.
- CoverageScanner:
- Bug Fix: Full instrumentation of the C/C++ "ternary if" operator: In an expression
a ? b : c
, all boolean operands in the expressionsa
,b
orc
are instrumented too. Nested ternary operators are therefore instrumented completely. - New Feature: Automatic exclusion of the coverage analysis of all headers which are inconsistent (for example, built with different preprocessor options). A linker warning lists all files which are excluded.
- Bug Fix: Full instrumentation of the C/C++ "ternary if" operator: In an expression
- cmcsexeimport:
- New Feature: Speed improvement of the detection of duplicate executions.
- cmreport:
- New Feature: Patch analysis.
- New Feature: In the HTML report, a list of the tests which execute a source code line is displayed in the tooltip.
- New Feature: A list of the executions that cover an instrumented statement is displayed in the tooltip for a source code line.
- cmmerge:
- General speed improvements.
- New Feature: Importing comments and manual validations from projects which are checked out in different directories.
Coco v3.2.3
Changes between Coco v3.2.2 and Coco v3.2.3:
- CoverageScanner:
- Bug Fix: Memory usage reduced. This fixes an "out-of-memory" error message during the compilation.
- New Feature: Explicit initialization of the CoverageScanner API is no longer necessary for C# DLLs. (The program
InjectModuleInitializer.exe
is no longer needed)
Coco v3.2.2
Changes between Coco v3.2.1 and Coco v3.2.2:
- CoverageScanner:
- Bug Fix: More meaningful instrumentation of the C# keywords
using
,lock
,unsafe
andfixed
. - New Feature: If the debugger is connected, CoverageScanner runtime information is displayed in the Microsoft® Visual Studio® console.
- New Feature: In C# files, the "dump on event" feature can be enabled through a macro definition.
- Bug Fix: More meaningful instrumentation of the C# keywords
- Microsoft® Visual Studio® Add-In:
- New Feature: Configuration of the debug output of Coco.
- New Feature: Configuration of the Windows event handler.
Coco v3.2.1
Changes between Coco v3.2.0 and Coco v3.2.1:
- CoverageScanner:
- New Feature: Support of Shift-JIS text encoding.
- New Feature: Execution report of Silverlight C# binaries is stored on an Isolated Storage when storing on the local file system is not allowed.
- Bug Fix: Support of strong-named C# assemblies.
- CoverageBrowser:
- New Feature: The Preferences dialog now lets you switch off syntax highlighting.
Coco v3.2.0
Changes between Coco v3.1.0 and Coco v3.2.0:
- CoverageScanner:
- New Feature: Precise error message when a merge failure occurs.
- CoverageBrowser:
- New Feature: Thresholds for the overall statistics.
- New Feature: Statistics of manual validated instrumentation (for each function, source code and for the complete project).
- cmreport:
- New Feature: Statistics of manual validated instrumentation (for each function, source code and for the complete project) for the HTML and CSV report.
- cmmerge:
- Speed improvements.
- New Feature:
--delete
deletes all input files after a successful merge. - New Feature:
--blackbox
generates an instrumentation database for black-box testing.
Coco v3.1.0
Changes between Coco v3.0.2 and Coco v3.1.0:
- Coco:
- New Feature: NUnit addin.
- Build Environment Selection:
- Bug Fix: Detection of CygWin installations for x64 systems corrected.
- CoverageScanner:
- VisualDSP® support.
- Bug Fix: Support of UTF16 source files.
- New Feature: For embedded systems, CoverageScanner is able to generate execution reports in 8.3 format. In this case the report extension is
.cse
and not.csexe
. - New Feature: New command line switch
--cs-no-abort-on-error
: if used, instrumentation errors raised while processing C/C++ source code no longer abort the build.
- cmreport:
- New Feature: Refactoring of the HTML report:
- New Feature: Single HTML file and full HTML report have now the same look and feel.
- New Feature: Source directories statistics in a clickable tree view.
- New Feature: Class directories statistics in a clickable tree view.
- New Feature: Statistic tables are interactively sortable.
- New Feature: Tool-tip for a detailed information on each table item.
- New Feature: CSV table export for all information that can be exported through a HTML report.
- New Feature: The source, execution and function dialog can now be interactively switched between a list and tree view.
- New Feature: CoverageBrowser reacts automatically when the instrumentation database file is regenerated and reload it automatically.
- New Feature: Refactoring of the HTML report:
- CoverageBrowser:
- New Feature: The source, execution and function dialog can now be interactively switched between a list and tree view.
- New Feature: CoverageBrowser reacts automatically when the instrumentation database file is regenerated and reload it automatically.
Coco v3.0.2
Changes between Coco v3.0.1 and Coco v3.0.2:
- Coco:
- New Feature: Solaris support.
- CoverageBrowser:
- Bug Fix:
EMMA
-XML Report generation corrected when excluding source files. - New Feature: Drag and drop of
.csmes
and.csexe
files supported.
- Bug Fix:
- CoverageScanner:
- New Feature: Format specifier
%c
added to--cs-output
. - Bug Fix: Issues with strings in
__declspec
extension fixed. - Bug Fix: Deal with non-instrumentable OpenMP code.
- Bug Fix: C++11 string literal support. (example:
R"delim(")delim"
) - Bug Fix: UTF-8 source file can now be compiled.
- Bug Fix: C++ Line comments ending a source file are no more generating a parsing issue.
- Bug Fix: C# linq expressions are now instrumented.
- New Feature: New C# API function
CoverageScanner.__coveragescanner_init()
. - New Feature: Dead code detection in constant boolean expressions:
- Dead code detection for
if ( false ) ...
or forif ( true ) ...
branches. - Expression
do statement while ( false )
is treated if thestatement
was not included into ado ... while ( ... )
construct. - Dead code detection of
while ( false ) ....
loops. - Statements '
while ( true ) ...
' and 'do ... while ( true );
' are now treated as the infinite loop 'for(;;) ...
'. The conditions are no more instrumented to avoid false negative coverage instrumentations.
- Dead code detection for
- Bug Fix: New command line switch for C++ mixed mode:
--cs-architecture=CLR
- Bug Fix: Several parsing issue for C# and C++ code fixed.
- Bug Fix: Support of multiple header files included with
/FI
when generating precompiled headers. - Bug Fix: C# support for Microsoft® Visual Studio® 2013.
- New Feature: Format specifier
- Build Environment Selection:
- New Feature: generation of all wrappers for all installed version of GCC compilers.
Coco v3.0.1
Changes between Coco v3.0.0 and Coco v3.0.1:
- CoverageBrowser:
- New Feature: Validating manually an instrumentation validates also all depending instrumentations. For example, when marking a
return
statement as validated, all sequential lines before are also automatically validated.
- New Feature: Validating manually an instrumentation validates also all depending instrumentations. For example, when marking a
- CoverageScanner:
- New Feature: Source code annotation though code comments.
- Bug Fix: clang compiler support on macOS.
- Microsoft® Visual Studio® Add-In:
- Bug Fix: Excluding source directories from the instrumentation is working again.
Coco v3.0.0
Changes between Coco v3.0.0-pre1 and Coco v3.0.0:
- CoverageScanner:
- Bug Fix: Line coverage information of nested compound statements are now computed correctly.
- Change:
--cs-include-path
/--cs-exclude-path
works now recursively on all subdirectories. - New Feature:
--cs-output
supports now format specifiers (%f
,%P
, …) - Bug Fix:
lib.exe
wrapper support now Module-Definition (.def
) files - Bug Fix: Compilation of expression in the form
CLASS c = a && b
are now supported even if the operator||
or&&
are not logical operators.
- CoverageBrowser:
- New Feature: Disabling the difference view of a source file is possible.
- New Feature: Importing reviewer comments from a previous instrumentation database.
- cmmerge:
- New Feature: Importing reviewer comments (–reviews-only command line option)
Coco v3.0.0-pre1
Changes between Coco v2.1.8 and Coco v3.0.0-pre1:
- CoverageBrowser:
- New Feature: Usability enhancement of the folding functionality in the source window:
- possibility to define a number of lines before and after the folded line part of the context and which are not folded.
- folded lines are chosen the instrumentation filter dialog.
- New Feature: For the code coverage at branch or decision/condition level, the executed (resp. not executed) lines which are not instrumented are displayed in pastel green (resp. pastel red).
- New Feature: Line coverage information is now also available in the preprocessed view of the source code.
- New Feature: Automatic copying to the clipboard of a selected source code fragment.
- New Feature: Generation of
Cobertura
reports.
- New Feature: Usability enhancement of the folding functionality in the source window:
- CoverageScanner:
- New Feature: simple support of GNU linker script for MinGW.
- New Feature: clang support on macOS.
- New Feature: Configuration of instrumentation warnings and errors.
- Bug Fix:
throw
statement are now instrumented in expressions. (example:int a = b ? 0 : throw 0 ;
) - Bug Fix:
/Yc
and/Yu
can now be used simultaneously for the Microsoft® Visual Studio® compiler. - New Feature: Tcl support.
- New Feature: C# support.
- cmreport:
- New Feature: Generation of
Cobertura
reports.
- New Feature: Generation of
Coco v2.1.8
Changes between Coco v2.1.7 and Coco v2.1.8:
- CoverageBrowser:
- New Feature: Configuration of the color scheme.
- New Feature: Excluding source files interactively from the instrumentation.
- New Feature: Configuration of the maximum number of threads which can be used for a computation.
- New Feature: Progress information during the generation of a code coverage report.
- CoverageScanner:
- New Feature: Better detection of dead code after a switch/case statement.
- New Feature: Optimized handling of C++ headers which reduces the size of the instrumentation database and the time for generating reports.
- cmreport:
- New Feature: Excluding source files from the report generation.
- New Feature: Configuration of the maximum number of threads which can be used for a computation.
- Change: Function parameter are now appended to each function in the
EMMA
-XML report.
- cmcsexeimport:
- New Feature: cmcsexeimport is now able to import more than one execution report file.
Coco v2.1.7
Changes between Coco v2.1.6 and Coco v2.1.7:
- CoverageBrowser:
- Change: Navigation buttons are now grouped into one toolbar.
- Speed improvement of the source code viewer.
- Speed improvement of the computing of the list of tests which are executing a source line.
- Speed improvement of the of the text search in the source code function.
- New Feature: Source code viewer:
- New Feature: Sources are displayed in a tabbed view.
- New Feature: Preview of the instrumentation of a whole file into the scroll bar.
- New Feature: Tooltip which displays the detail of an explanation of a source line.
- New Feature: More intuitive text search function (search when typing into the source code window) and interactive highlighting of the matched patterns.
- New Feature: Dock/undock line number column and statistic column.
- CoverageScanner:
- Bug Fix: CoverageScanner is now able to handle "Whole Program Optimization" (option
/GL
) and "Use Link Time Code Generation" (option/LTCG
) of Microsoft® Visual Studio®. - New Feature: Command line option
--cs-vs2010-lambda
which lets you instrument lambda functions in Microsoft® Visual Studio® 2010 - New Feature: Support for "for each" C++ syntax extension of Microsoft® Visual Studio®.
- Bug Fix: Support of ccache wrapper.
- Bug Fix: CoverageScanner detects now dead code after a try/catch block.
- Bug Fix: Precompiled header issues.
- Bug Fix: Handling source code lines which are ending with a backslash.
- Bug Fix: CoverageScanner is now able to handle "Whole Program Optimization" (option
- cmreport:
- Speed improvement of the generation of
EMMA
-XML reports. - Speed improvement of the generation of HTML reports.
- New Feature: HTML report displays the detailed instrumentation report in a tooltip.
- Change: HTML report is generated in a directory whose name ends with
_html
. This avoids a name clash under Unix where the executable has in most of the cases no extension.
- Speed improvement of the generation of
Coco v2.1.6
Changes between Coco v2.1.5 and Coco v2.1.6:
- CoverageBrowser:
- New Feature: Possibility to choose the source code type used for comparing software releases (original source code or preprocessed source code)
- CoverageScanner:
- New Feature: New command line option which lets you specify other command line arguments from a text file (
--cs-option-file
). - New Feature: New command line option which specifies directly the CoverageScanner profile (
--cs-profile
).
- New Feature: New command line option which lets you specify other command line arguments from a text file (
- cmreport:
- New Feature: possibility to customize the
EMMA
-XML report
- New Feature: possibility to customize the
Coco v2.1.5
Changes between Coco v2.1.4 and Coco v2.1.5:
- CoverageScanner:
- New Feature: Support for precompiled headers for Microsoft® Visual Studio® compiler.
- New Feature: Xoreax IncrediBuild support (http://www.incredibuild.com/incredibuild-product-overview.html)
- Bug Fix: Wildcard expressions on relative paths are computed on the canonical path. (example:
--cs-include-file-wildcard=include/*
matchesinclude/foo.h
andmodule/../include/bar.h
) - New Feature: New command line options to specify which extensions are used for C++ (
--cs-cpp-ext
) and C (--cs-c-ext
) files. - New Feature: New command line option which sets the tool chain path (
--cs-native-toolchain
). - Change: Verbose command line option (
--cs-verbose
) lets you select if the build, the instrumentation or the CoverageScanner API is instrumented. The verbose output of the instrumented file is sent to a log file (name of the execution report with the extension.cslog
). - Bug Fix:
-m32
and-m64
command line support for GCC. - Bug Fix: Compilation issue on Microsoft® Visual Studio® for instrumented C++0x lambda function corrected.
- Bug Fix: Support of
__stdcall
as default calling convention when compiling with Microsoft® Visual Studio®. - New Feature: New command line option for UNIX® platform which generates a coverage report on the reception of a signal (
--cs-dump-on-signal
). - New Feature: New command line option for Microsoft® Windows platform which generates a coverage report on the reception of an event (
--cs-dump-on-event
). - Change: Instrumentation tables of libraries are chained together at runtime when compiling with Microsoft® Visual Studio®. The old behavior can be restored with
--cs-link-instrumentation-tables
.
- cmreport:
- Change: cmreport generate now per default a code coverage report at decision/condition level with line coverage for uncovered lines.
- Microsoft® Visual Studio® Add-In:
- Change: Microsoft® Visual Studio® Add-In does not disable the precompiled headers anymore.
Coco v2.1.4
Changes between Coco v2.1.3 and Coco v2.1.4:
- CoverageBrowser:
- New Feature: Import summary display the imported execution comment.
- New Feature: New instrumentation mode available which displays the computed line coverage of uninstrumented lines. This enables the readability of the source code but has no impact on the coverage statistics.
- CoverageScanner:
- Bug Fix: Support for
/clr:safe
andclr:pure
command line option. - Optimization: CoverageScanner calls now directly the native compiler without calling a second instance of it.
- Bug Fix: The line coverage was wrongly calculated before some switch/case statements.
- Bug Fix: Support for
- License Manager:
- New Feature: The license manager is now a wizard dialog.
- New Feature: Command line tool to activate a license on Windows and Unix
Coco v2.1.3
Changes between Coco v2.1.2 and Coco v2.1.3:
- CoverageScanner:
- New Feature:
/MP
command line (parallel build) supported for Microsoft® Visual Studio® compiler. - Bug Fix: Parsing issues of C++11 templates corrected.
- New Feature: The
Build Environment Selection
tool generate CoverageScanner wrapper for CygWin.
- New Feature:
- Microsoft® Visual Studio® Add-In:
- New Feature: Since CoverageScanner instruments all non system folders, the selection dialog for a list of directories to include is removed. A dialog which permits selection of the list of directories to exclude replaces it.
- Linux™ installer:
- New Feature: Possibility to specify a custom installation directory.
- cocolic:
- New Feature: Command line interface on Unix.
- Bug Fix: More verbose error message in the case of network failures.
Coco v2.1.2
Changes between Coco v2.1.1 and Coco v2.1.2:
- CoverageScanner:
- Bug Fix: Multi line
#pragma
supported. - Bug Fix:
::new
keyword supported.
- Bug Fix: Multi line
- Microsoft® Visual Studio® Add-In:
- Bug Fix: Support of solutions with folder.
- Bug Fix: Support of solutions which mix C++ and C# projects.
Coco v2.1.1
Changes between Coco v2.1.0 and Coco v2.1.1:
- CoverageScanner:
- Change: CoverageScanner instruments now per defaults all sources files except those which are in the system directory (
/usr
,/opt
orC:\Windows
) or the application installation directory (C:\Program Files
). - New Feature: Automatic detection of the runtime library necessary when compiling using Microsoft® Visual Studio®. Adding
/MD
or/MT
to the build command argument of the CoverageScanner library is no more necessary. - Bug Fix: Crash when using wildcard expression on file name on UNIX®.
- New Feature: The instrumentation tables are now generated at the runtime. This lets us handle stubs, which overwrite objects from libraries.
- New Feature: Constructors which use member initialization lists are instrumented even if they have an empty body.
- New Feature: C++ CLR language extension of Microsoft® Visual Studio® supported.
- Change: CoverageScanner instruments now per defaults all sources files except those which are in the system directory (
- CoverageBrowser:
- New Feature: Navigation buttons are disables if they are irrelevant. After reaching the end of search, the navigation buttons start from the beginning again.
- Bug Fix: Clicking a function in the method list, show it entirely in the source window.
- Bug Fix: Statistics count was wrongly computed when the instrumentation is computed with line coverage support and the test count mode was activated.
- New Feature: Importing an execution report does not generate an error message any more. If some executions cannot be imported, the information window is automatically shown. A list of imported executions and errors are displayed on it.
- New Feature: Windows x64 package available.
- cmreport:
- New Feature:
EMMA
-XML report generated now condition coverage statistics. This requires JenkinsEMMA
-XML plugin version 1.29 or above. - New Feature: JUnit report generation.
- New Feature:
Coco v2.1.0
Changes between Coco v2.0.3 and Coco v2.1.0:
- Coco:
- New Feature: Recognition of dead code inside a function.
- New Feature: Function coverage.
- New Feature: Line coverage.
- CoverageScanner:
- Code coverage count is enabled per default.
- cmreport:
- Bug Fix:
EMMA
-XML report corrected: the line field correspond now to the line coverage.
- Bug Fix:
Coco v2.0.3
Changes between Coco v2.0.2 and Coco v2.0.3:
- Coco:
- Bug Fix: License activation issues.
Coco v2.0.2
Changes between Coco v2.0.1 and Coco v2.0.2:
- cmreport:
- Improving the speed of the production of HTML reports through parallelization of the generation of the source code view.
- CoverageScanner:
- Bug Fix:
__try
and__finally
keyword now handled on Windows for C files. - Bug Fix: g++ compiler wrapper treats files with .c extension as C++ files.
- Bug Fix: On Windows, command line containing directory name which ends with a backslash are now correctly escaped.
- Bug Fix: ar and ld wrapper are now working, and do not report that the profile cannot be found.
- New Feature: The code behind the macro
BOOST_FOREACH
is no more analyzed, unless the command line--cs-no-boost
is used. - New Feature: New command line option
--cs-output-abs
. - Change: The support for Qt3, Qt4 and Boost is per default activated. Disabling it can be performed using command line switches
--cs-no-qt3
,--cs-no-qt4
and--cs-no-boost
. - Change: The full instrumentation at decision and condition level is now the default setting for the instrumentation.
- Bug Fix:
Coco v2.0.1
Changes between Coco v2.0.0 and Coco v2.0.1:
- CoverageScanner:
- Bug Fix: Support setting define which contains escaped quotes per command line (ex:
"-DVERSION=\"version 1.1\""
) - Bug Fix: Compilation issue of TextEdit sample when spaces are in the path corrected.
- Bug Fix: Support setting define which contains escaped quotes per command line (ex:
- License Dialog:
- Bug Fix: Retrieving a license key is now interruptible and displays a progress bar.
Coco v2.0.0
Changes between TestCocoon v1.6 and Coco v2.0.0:
- Microsoft® Visual Studio® Add-In:
- New Feature: Support for Microsoft® Visual Studio® 2010.
- Bug Fix: x64 platform are now recognized and handled.
- CoverageBrowser:
- New Feature: Supporting linking several times the same object into an application.
- New Feature: Possibility to filter out execution which does not cover any code.
- New Feature: Possibility to filter out source files and functions which are not instrumented.
- Bug Fix: Calculation of statistics is able to saturate all available CPU.
- Bug Fix: After opening a new instrumentation database, no executions become selected.
- New Feature: Possibility to choose between the native file dialog and the dialog provided by Qt.
- New Feature: Displaying the execution of a reference release into the list of execution. Executions of the reference release are strikeout, new executions are underlined.
- New Feature: Generation of browsable HTML output.
- CoverageScanner:
- Empty functions are no more instrumented.
- New Feature: C++0x support.
- New Feature: Verbose output of the CoverageScanner output when using command line option
--cs-verbose
. - New Feature: Saving the contents of a tree view waits until all statistics are computed.
- New Feature:
Q_FOREACH
macro es now handled to avoid false negative code coverage statistics. Once a look is executed once, theQ_FOREACH
macro is considered as 100% covered.
- cmcsexeimport:
- New Feature: Execution comments in HTML form are parsed from the execution report. This lets us add extra log information to the execution report.
- cmreport:
- Bug Fix: Correction of an
EMMA
-XML issue: global statistics are now ordered inEMMA
-XML report as following: Line, Method, Class and then Block - New Feature: Generation of browsable HTML output.
- Bug Fix: Correction of an
Coco v7.2.1 ©2024 The Qt Company Ltd.
Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property
of their respective owners.