NCover users will see a significant decrease in their data store size after the upgrade with reductions averaging 50% or more. This is accomplished through several improvements including the normalization of statistics & regions and a more thorough compact routine that eliminates stale records in the datastore. The result of the data optimization is decreased storage requirements and improved aggregation speeds.
.NET Code Coverage
We Don't Know How To Stand Still
Data Storage Optimization
Enhanced Post-Coverage Filters
Enhancements to post-coverage filters provide even greater control to users of NCover Desktop and NCover Code Central. NCover post-coverage filters now merge the functionality of class filtering and document filtering. In addition, filters created for browsing documents are now applicable when browsing code by namespace and class. Finally, class and namespace filters now apply to document browsing.
Data Store Rebuild
We have introduced a new option to the NCover Compact command for the ongoing optimization of your code coverage data store. The new option, --rebuild, initiates a complete rebuild of the the data store. This option removes invalid records in order to recover disk space and improve query performance. The --rebuild command can take a significant amount of time to run, so schedule appropriately, but it is very useful for periodic maintenance.
The existing NCover Merge command has a new option, --trust-version. This option allows users to override the default NCover merging criteria. Normally, NCover enforces strict merge criteria requiring validation of binary equivalence, identical source documents or identical IL in order to merge. In certain situations where the source code is known by users to be identical, the Trust Version option allows data from modules to be merged as long as they match on file version. This option is only intended for use in special situations where the implications are well understood as merging data that does not pass the usual validation can create merged coverage results that are inaccurate.
The Prune Command
In addition to the automatic data store improvments that NCover automatically handles in version 5.1, we have introduced a new Prune Command allows users to remove unwanted modules, namespaces, classes, and methods from any or all projects in the data store. A --global option is provided to allow assemblies like XML serializers to be removed across the entire data store. This powerful, customer-requested feature can be effective in removing unwanted information from the data store but should be used with care. Always create a backup before pruning coverage data as the Prune Command cannot be undone.