All Downloads are FREE. Search and download functionalities are using the official Maven repository.

gallio.NCover.libs.NCoverExplorer.NCoverExplorerReleaseNotes.html Maven / Gradle / Ivy

The newest version!


    
        NCoverExplorer Release Notes
        
        
        
    
    
        

NCoverExplorer Release Notes

The latest version of this document is located here.
For the latest NCoverExplorer news and updates, visit my blog.


v1.3.6 - Apr 5th 2007

Bundled with TestDriven.Net from build 2.5.2078.

The following new features were introduced:

  • Added a Find dialog (ctrl+F) to quickly navigate to a class. Wildcards are supported.
  • Added a /q or /quiet option to NCoverExplorer.Console.exe to minimise the output.

The following minor changes were made:

  • Failing if less than a threshold now applies to any assembly not meeting the threshold rather than comparing against the total coverage across all assemblies.
  • Add some examples to the NCoverExplorer.Console.exe output for the /help or /? (or no arguments).
  • Pressing ESC on the NCover Runner dialog will now close it.
  • Implement a workaround for poor treeview performance under .NET 2.0.
  • Rather than displaying validation errors automatically "fix" paths with matching trailing slashes in the Change Source Path dialog.
  • Writing of coverage files should now match the schema for the relevant NCover version. Later NCover versions like 1.5.7 have enhanced the schema, so the results of a merge or save from NCoverExplorer should offer a comparative schema in the result.
  • Add a message indicating the return code to the output.

The following bug fixes were made:

  • NCover 1.5.5/6 produce duplicate sequence points. To workaround this fix Jamie Cansdale implemented a change for me to the way the methods are identified uniquely. The longer term fix is NCover version 1.5.7 - this should keep things usable until that is released.
  • Another issue up to at least NCover 1.5.7 is that non-instrumented code does not have the sequence points optimised. When merging multiple coverage files NCoverExplorer was incorrectly merging the noops with valid instrumented sequence points, resulting in lower coverage information.
  • If CoverageReport.xsl stylesheet already exists in destination output folder for an xml report and is marked as read-only then the replace would fail.
  • Drag/drop of coverage.xml files would add to the wrong end of the MRU menu once the maximum number of items is reached.
  • If multiple classes in the same file then selecting a class node was not navigating to that class in the source code tab. It will now jump to the first unvisited sequence point, or if there are none of those the first sequence point in the class.
  • Wildcards for coverage exclusions were only working if placed at the ends, not in the middle e.g. *.Tests or Testing.* would work, but xxx.*.yyy would not.
  • Prevent some of the nasty GDI errors in CommandBars code from disrupting the GUI. Longer term will utilise another framework.
  • Replacing paths by typing them in had MaxLength set to 50 so impossible to edit long paths in the Change Source Path dialog.
  • Merging property nodes under a parent in the tree has a dependency on the ordering of the coverage output to ensure they appear properly.
  • When restoring form position from persisted values, ensure it appears on a visible screen, catering for the user changing their display settings between sessions.
  • Ensure stylesheet cannot be copied over the top of itself.
  • Supplying a file pattern with no matches to NCoverExplorer.Console.exe was throwing an "Index was outside the bounds of the array" exception.
  • Multiple coverage exclusion attributes not supplied correctly to NCover (build 26).
  • Check to make sure node is assigned to a TreeView before getting handle to set text (build 32).
  • Sort sequence point nodes when loading and handle merge case of multiple non-instrumented sequence points becoming a single sequence point. (build 36).

v1.3.5 - Oct 23rd 2006

Bundled with TestDriven.Net from build 2.0.1921.

The following new features were introduced:

  • Added ability to run NCover from within NCoverExplorer (all versions). User Ctrl+N or entries on File menu/toolbar to bring up configuration dialog. After successful execution, the resultant coverage file is displayed in NCoverExplorer.
  • Added ability to generate MSBuild, NAnt and command-line scripts for running NCover from within NCoverExplorer. See the NCover dialog above.
  • Added new function coverage viewing options and module/class coverage report. Indicates the percentage of functions covered rather than the sequence points within each. Supported by a new "satisfactory function threshold" and function % sorting options.
  • Background colours can now be customised for coverage nodes in the tree.
  • Reports will now have the current filtering applied, not just the sorting settings.
  • Reports using NCoverExplorer.Console can now have filtering and sorting applied. Use the /sort: and /filter: command line arguments, or specify in a .config file (see example.config), or use the sort/filter arguments to the NAnt/MSBuild tasks.
  • Sorting and filtering options applied are now persisted and reapplied to the next coverage xml file loaded, both in this and future sessions.
  • Added ability to filter out all nodes exceeding coverage threshold.
  • Revamp to the NAnt/MSBuild tasks. Renamed assemblies and namespaces. Included new attribute of "AssembliesList" as an alternative to the "Assemblies" group element to allow direct specification of a list as you would on the command line. The "Version" attribute is now optional - the task determines it from the NCover assembly instead if not specified. Tasks will automatically register NCover coverlib.dll using the HKCU entry in the registry - no need for regsvr32 any more! NCoverExplorer task now writes it's config file to temp folder for passing to the executable.
  • Added documentation for the NAnt and MSBuild tasks. This is included both in the NCoverExplorer.Extras.zip file, as well as being available online for the custom MSBuild Task Help and NAnt Task Help. Links also available off the Help menu for NCoverExplorer.
  • Added a schema file ConsoleConfig.xsd to the distribution for people wanting to know the exact syntax options for creating .config files to pass to NCoverExplorer.Console using the /config switch.
  • Added regular expression support to the coverage exclusions dialog for people wanting more complex queries.

The following minor changes were made:

  • Configuration file change - the ModuleThresholds section in .config files passed to NCoverExplorer.Console now uses propercase attribute names to be consistent with the rest of the configuration file. i.e. "ModuleName" instead of "moduleName", and "SatisfactoryCoverage" instead of "satisfactoryCoverage". You must update your NAnt/MSBuild tasks for NCoverExplorer if you use these. If you instead use the <exec> task with a .config file then you should update the case of the entries in this file. This only affects people who have setup coverage exclusions at the module level for reporting purposes.
  • If source code is out of date compared to the coverage results, the user is prompted with the change source path dialog.
  • If the user chooses a new source code location, the tab is now automatically opened for that location rather than requiring the user to click on the tree node again.
  • Added Help->NCoverExplorer Forum menu option to link to the NCover website. Also included forum link information on the exception dialog.
  • Added a toolbar button for turning off filtering.
  • Keyboard shortcut change - Changed the keyboard shortcuts for next/previous unvisited class (ALT+UP/DOWN) and next/previous unvisited line in class (ALT+LEFT/RIGHT).
  • Remember which tab was last opened in the NCoverExplorer options dialog during an NCoverExplorer session.
  • Replaced references to "transparent.gif" with "shim.gif" in the NCoverExplorerSummary.xsl. The "shim.gif" file is a transparent 1x1 gif already distributed with CC.Net.
  • Coverage exclusions for assemblies are now case insensitive.
  • There are no longer two default coverage exclusions added of "*.Tests" and "*.My*" for first time users. Intended for demo purposes only but stayed in until now. New users can manually add them if they desire them.

The following bug fixes were made:

  • Overloaded constructors with class level variable declarations were being merged into a single constructor in the coverage results as they had the same "start line" of the variable. Now uses end line as part of the identifying key for each method.
  • Memory leak from opening and closing tabs displaying source code.
  • .Net 2.0 performance is pretty dire due to crap Microsoft changes to the TreeView control. Change to default to .Net 1.1 in NCoverExplorer.exe.config and wrap updates to the tree in BeginUpdate/EndUpdate.
  • Parsing Java code would blow up if an accessor had the same name as a nested class (illegal in C#).
  • Bugfix in NCover task where multiple assemblies were specified for NCover 1.5.4, which requires separate <assembly> nodes.
  • Bugfix in trying to restore selected node text after refreshing file could raise null reference exception.
  • Bugfix so that module names specified in module thresholds when using NCoverExplorer.Console are no longer case sensitive for matching.
  • Added support for NCover 1.5.5 - the //q bug is fixed in NCover. Also changed parsing code so that modules with a blank assembly name (through using TestDriven.Net) are ignored from the coverage.
  • Bugfix for merge functionality for NCover.Console when wildcards were used with relative paths.
  • Bugfix for naming of xml/html arguments for NCover.Console with relative file paths.
  • Bugfix for drag/drop broken while making the memory usage optimisations during the 1.3.5 beta release.
  • Print button was enabled when no source code displayed resulting in exception.

v1.3.4 - Jul 10th 2006

Bundled with TestDriven.Net from build 2.0.1702.

The following new features were introduced:

  • Added toolbar buttons which support moving to the next and previous unvisited code within a class or namespace. Shortcut keys of N and P for next/previous unvisited line in the current class (or mouse forward/back buttons). Use Ctrl+N and Ctrl+P to navigate to the next/previous partially or unvisited class within the namespace (or Ctrl+forward/back mouse buttons).
  • NCoverExplorer.Console.exe now supports saving the merged results of the coverage xml file(s) with a /s[ave] option. The NCoverExplorer NAnt and MSBuild tasks have also been enhanced to support this with an optional "mergeFileName" attribute.
  • NCoverExplorer.Console.exe now supports wildcards for coverage xml filename(s).
  • NCoverExplorer.Console.exe now supports module level coverage thresholds, rather than just a project coverage threshold. This feature allows finer tolerance for both output on the reports and to fail a build. Specifying the module thresholds is done either through a .config file (see ConsoleExample.config) or through parameters in the NAnt/MSBuild tasks.
  • Added a new summary report showing class coverage per namespace per module.
  • Enhanced the NCoverExplorerSummary.xsl to display summaries of each module.
  • Clicking on a class with non-existent source code displays a dialog allowing the user to specify an alternate folder. For use when the source code location indicated within the coverage.xml file(s) loaded differs from that on the local machine now (e.g. a different drive letter or folder path).

The following minor changes were made:

  • NCoverExplorer release is compiled against .Net 1.1 rather than .Net 1.0 due to a dependency on the FolderBrowserDialog not available in .Net 1.0.
  • Coverage file stylesheet modified to show coverage column and NCoverExplorer version information with numerous other cosmetic enhancements.
  • Enrich error environment information to include .Net framework version and operating system.
  • Classes without a namespace are now shown under a namespace node of "-" like in Reflector.

The following bug fixes were made:

  • Warnings about mismatches when merging xml files are no longer issued. NCover seems to inconsistently produce xml file coverage of methods which caused some users problems when merging.
  • Nested classes without a namespace specified would cause the coverage.xml file to fail to load.
  • Parsing overloaded properties (overloads of this[]) would not show the separate overloads in the tree and have incorrect coverage stats.
  • Fix memory leaks for when source code tabs are closed.
  • Minimum coverage threshold for NCoverExplorer.Console would sometimes be incorrect due to rounding.
  • Changed NCoverExplorerSummary.xsl to format to 1dp rather than rounding to 0.
  • Sorting by filename for a method then clicking on class node threw exception.
  • VB.Net source code keywords not highlighted with the correct ICSharpCode template.

v1.3.3 - Apr 4th 2006

Bundled with TestDriven.Net from build 2.0.1578.

The following new features were introduced:

  • Added NCoverExplorer.Console.exe for utilising NCoverExplorer features with automated coverage builds and NAnt tasks. By default will load up all the specified coverage file(s), apply any coverage exclusion(s) specified in the NCoverExplorer configuration and display total coverage statistics in the console output. If all items processed successfully returns an exit code of 0, if an exception occurs returns an exit code of 2.
  • Added /m:xx (or /minCoverage:xx) argument to NCoverExplorer.Console.exe. When used in conjunction with /f (or /failMinimum) an exit code of 3 is returned if the min coverage is not reached. Can act as a trigger for failing an automated build such as with CruiseControl.Net.
  • Added module & namespace summary xml report generation to NCoverExplorer (both the GUI and Console versions). In the GUI, this is available via the "View->Reports" menu. The three reports that are offered currently are:
     - Module Summary (Coverage totals for the project and per module);
     - Namespace Summary (Coverage totals for the project and per namespace);
     - Module Namespace Summary (Coverage totals for the project, per module and per namespace);
  • Reports can be generated in xml or html format. Native html may be useful for directly attaching to e-mails. If xml format is chosen a "CoverageReport.xsl" stylesheet is copied from the NCoverExplorer installation folder to the report directory and linked to the xml file similar to coverage.xml/coverage.xsl by NCover.
  • Reports can contain an "excluded nodes" footer section. This lists at the topmost level all of the items excluded from coverage at the time the report was run.
  • Added "View->Filter" main menu and context menus, offering the ability to filter out nodes. Filtered nodes are simply moved under a new "Filtered" tree node and do not alter the coverage statistics (unlike excluded nodes which are effectively removed from the tree). Filters offered are either to hide all 100% covered nodes, or hide all unvisited (0%) nodes.
  • Added "Include in Results" context menu option for when clicking on either the "Excluded" bin or one of it's immediate child nodes. Offers a way to "undo" an exclusion without reloading the file.
  • Added "View->Summary Statistics" menu option (shortcut F3) to show dialog of totals of files, classes, members, NCLOC (non-commented lines of code) and sequence points. Statistics do not include excluded nodes (but will include filtered nodes).
  • Created NAnt and MSBuild tasks for execution of NCoverExplorer.Console as an alternative to the <exec> task. These tasks offer a more developer friendly alternative such as <fileset> for coverage files and creating a .config file on the fly based on specified parameters such as <exclusions> within the .build/.proj file.
  • Replaced menus with a lightly tweaked variant of Lutz Roeder's excellent CommandBar code to give a more modern look and assign icons on the menus.
  • Added a toolbar. If not wanted the toolbar can be hidden using the "View->Show Toolbar" menu option.

The following minor changes were made:

  • Options dialog shortcut changed to F2.
  • Excluding a node will now select the node after by default rather than the one previous.

The following bug fixes were made:

  • Fix bug where delete key shortcut was active on the root coverage file node, causing an exception to be thrown.
  • Path was being truncated from the module name when saved.
  • Fix bug where changing theme without coverage file loaded caused error.

v1.3.2 - Mar 14th 2006

Bundled with TestDriven.Net from build 2.0.1545.

The following new features were introduced:

  • Added support for merging multiple coverage files. This can be triggered through a variety of ways:
     - Selecting multiple test classes/fixtures/projects in TestDriven.Net;
     - Passing multiple files in the command line arguments;
     - Selecting multiple files in the Open dialog;
     - Using a new "File->Merge..." menu option;
     - Drag/dropping onto the NCoverExplorer application.
  • Added tabs for each source code file you open to explore coverage on. If you click on a partial class then tabs will be opened for each of the source code files making up the class.
  • Added the ability to exclude assemblies, namespaces or classes from the coverage results by a wildcard capable case-sensitive match on the name. By default NCoverExplorer includes two exclusions:
     - Exclude all assemblies with the name ending in ".Tests".
     - Exclude all namespaces with the name containing ".My" (for VB.Net exclusions).
  • Added support for the NCover 1.5.4 "excluded" attribute which can be found in the coverage.xml files when the appropriate NCover command-line attributes are used. Note that TestDriven.Net still does not as yet support this attribute so you need to use the NCover.Console command line for this feature - for more information see here. NCoverExplorer will not include nodes marked as 'excluded' by NCover in it's totals but will still display them in the tree.
  • Added an "Excluded" child bin node containing all nodes that have been excluded by the options dialog, by NCover attributes or by the "Exclude From Results" context menu option (see next point).
  • Replaced the "Remove from Results" context menu feature with "Exclude from Results" (shortcut of the DEL key). Achieves a similar result of removing nodes from coverage calculations, however the nodes are "moved" to the Excluded bin rather than being deleted from the tree.
  • Added a custom "theme" capability along with further colour and font customisation options for the coverage tree, statistics and source code panes. A number of predefined "themes" are supplied and users can add their own. Users can switch between themes either in the Options dialog or via the "View->Themes" menu.
  • Added a new "View->Coverage" menu which has sub-options related to "Sequence Point Coverage" and "Function Coverage", assigned shortcut keys ctrl+(1-4):
     - Choosing one of the "Sequence Point" variants will display the tree nodes with differing naming combinations of coverage percentage and # unvisited sequence points.
     - Choosing "Function Coverage" will alter the coverage tree display so that only methods/classes that were invoked are highlighted. Method nodes show the number of visits to that method. Class, namespace and module nodes show the maximum visit count by any of their children.
  • Added a "View->Sort By" menu option and context menu on the tree, with sub-options for "Name" (default), "Class name/line number", "Coverage %" (ascending/descending), "Uncovered Sequence Points" (ascending/descending) and "Visit Counts" (ascending/descending). Assigned shortcut keys of ctrl+shift+(1-8). Note that reloading the coverage file will remove the current sort and default back to by "Name".
  • Added "Save" and "Save As" options to the File menu. These give you the option of overwriting/creating a new coverage.xml file with the current values loaded in NCoverExplorer. Any coverage exclusions/removed nodes will not appear in the saved coverage file. Note that the methods are written in the same order as the sort order specified above.
  • Added an "Explore Coverage Folder" menu option to the file menu.
  • Added an "Expand All" context menu option on the tree (shortcut ctrl+L).
  • Enhanced the statistics pane. When a class node is selected you will now see additional columns of coverage %, unvisited sequence points and sequence points. When clicking on a method node you will now see the filename.
  • Implemented "smart expansion" in the tree. If when you expand a node there is only one child node then that node will also be expanded and so on. Increases speed of tree navigation particularly if using a style of "Nested" namespaces with deep hierarchies.
  • Display class file name in tab page header bar when a method node is clicked on. Tooltip shows the path.

The following minor changes were made:

  • Optimised when reloads of the coverage file so it is now only required if you change a coverage exclusion or the tree grouping/nesting styles in the options dialog. Makes for a snappier UI.
  • Added a "Close" menu option to remove any loaded coverage file(s) from display.
  • Moved all the "Recent Files" into a submenu to tidy up the File menu.
  • Pressing Tab/shift-tab while focus is in the TextEditor pane of source code will now move focus out of the TextEditor.
  • If a source code file contains multiple classes (not nested), then only the highlighting relevant to that particular class will be displayed in the editor window as each class tree node is clicked.
  • Excluding the My namespace is now done through the Exclusions feature.
  • Options dialog can be displayed using the F4 shortcut key.
  • Removed last remnants of "non VS.Net standard colors" from the C# ICSharpCode TextEditor template.
  • Make the GUI naming consistent to correctly reference "sequence points" rather than "lines" and "unvisited" rather than "uncovered".
  • Removed "Edit in VS.Net" from the View menu.
  • Changed NCoverExplorer main form icon to one that includes 32x32 sizes so Alt-Tab switching looks better than upscaled 16x16 icon.
  • User is now prompted to remove a non-existent coverage file from the "Recent" files list rather than automatically being removed.

The following bug fixes were made:

  • Serializing the configuration settings was not flushing the stream - resulting sometimes in a blank settings file preventing people from loading NCoverExplorer. Will now revert to default settings if an error occurs.
  • Displaying a source code file that has been modified to have less lines of code than at the time of the coverage run will now display a user friendly message box.
  • Compensation made for NCover not reporting column information when profiling C++ code. NCoverExplorer will now highlight the entire line rather than throwing an error.
  • In some circumstances properties were not highlighted consistently due to a bug in the property node expansion.
  • Coverage greater than 99.5% will no longer be rounded up to 100% in the display. It is instead shown as ">99.5%".
  • Extremely high visit counts will no longer overflow the visit count.
  • Statistics pane for a class will now always consistently show the property nodes grouped, rather than only after the class node has been expanded in the tree.
  • Recent file menu would display incorrectly for files numbered from 10 onwards truncating first character.
  • Release notes & FAQ were always directed to website rather than local versions when NCoverExplorer was started from TestDriven.Net.

v1.3.1 - Feb 15th 2006

Bundled with TestDriven.Net from build 2.0.1435.

The following new features were introduced:

  • Namespaces are now "flattened" by default in the tree. This looks like the ClassView browser in VS.Net 2005 (or Lutz Roeder's Reflector). You can retain the nested look by changing it in the View->Options dialog.
  • If you use the original "nested" namespace style (like the VS.Net 2003 class browser), then inner namespaces will now be listed at the top of each branch with the classes listed underneath which is less confusing to navigate.
  • Option to exclude the "My" namespace for VB.Net projects (for use with with BCL 2.0 & NCover 1.5.x).
  • Right-click menu option on coverage tree (shortcut ctrl+R) to "Remove From Results" that selected node and all it's children. Will force the coverage values to be recalculated. Intended for use where you have undesired assemblies, namespaces, classes or methods included in the report that are skewing your coverage results and you want them removed.
  • Option to specify a satisfactory coverage threshold as a number of lines instead/as well as a percentage. If either of the conditions are met the node is coloured differently (provided the coverage is not zero).
  • Colours can now be customised for both the source code highlighting and the nodes in the tree.
  • Collapse all nodes context menu option on the coverage tree control (shortcut ctrl-A). Equivalent to reloading the coverage file (but would preserve any changes you have made such as removing nodes).
  • By default the NCoverExplorer now attempts to restore your currently selected node/caret position after reloading a coverage.xml file (either F5 or by execution of another "Test With Coverage" command in TestDriven.Net). You can turn off this behaviour in the View->Options dialog.
  • Statistics pane is now sortable by method name (default), visit count and line number.
  • Statistics pane now summarises all the methods and their visit counts when a class node is clicked. Can be used as a basic form of method invocation counting for a fairly rudimentary level of profiling. The colouring used is the same as that of the tree to visually assist in identifying methods invoked.

The following minor changes were made:

  • Restructured the Options dialog to have a tabbed interface.
  • Renamed the "Show Visit Pane" menu option to "Show Statistics".
  • The statistics pane now includes the method name. Widths of the columns are remembered each time you close NCoverExplorer.
  • Statistics pane now has icons and colouring to match those of the associated nodes in the coverage tree.
  • Inner nested classes now nested internally in the tree under the parent class, sorted to the top.
  • Added FAQ, Release Notes and Blog website to the Help menu.

The following bug fixes were made:

  • Source code files now loading with "Encoding.Default" rather than previous default of UTF-8.
  • Coverage highlighting not working correctly on multiple line statements.
  • Now handles partial classes and yield statements correctly.


v1.3 - Feb 6th 2006

Bundled with TestDriven.Net from build 2.0.1373d.

The following new features were introduced:

  • Launching from VS.Net using TestDriven.Net will now re-use the NCoverExplorer instance opened from a previous "Test with... Coverage" click. Each VS.Net instance has it's own instance of NCoverExplorer.
  • Added "Edit in VS.Net" functionality (keyboard shortcut ctrl+ E) for classes and methods. Will navigate to source code in your IDE at same point where your cursor resides in NCoverExplorer. Replaces and enhances previous "Open File" right-click option which has been removed.
  • Added "Expand Covered" functionality (keyboard shortcut ctrl + Q) - recurses through the child nodes of the current node and expands all those with partial or complete coverage. Useful when using in conjunction with TestDriven.Net for isolated unit testing.
  • Added "coverage file" node at the top of the tree showing total coverage across all modules/namespaces.
  • Group by module option (default) to assist with navigating coverage for large solutions.
  • Configuration information for NCoverExplorer now written to Local Settings rather than registry.
  • Increase default number of "recent files" to 10, with ability to alter in the Options dialog.
  • Reload of the current coverage file now has a shortcut key of F5.
  • Display the path to the currently loaded coverage file in the title bar.

The following minor changes were made:

  • Performance enhancements to improve loading times further for large files.
  • Static constructors now renamed from "cctor" to ".cctor" so as to be sorted at the top.
  • Running NCoverExplorer for first time ever will use a better starting form position.
  • Removed configuration option for "nesting properties" - default remains the same of "true".
  • Source code refactoring into separate assemblies to facilitate unit testing.


v1.2 - Feb 1st 2006

First public release, bundled with TestDriven.Net from build 2.0.1341d.

The following new features were introduced:

  • Block style highlighting option for both visited and unvisited code.
  • Satisfactory coverage threshold.
  • Nesting of properties as nodes are expanded.
  • Further speed improvements for initial file parsing.


v1.1 - Jan 1st 2006

Speed improvements.


v1.0 - Dec 17th 2005

First version created.





© 2015 - 2025 Weber Informatics LLC | Privacy Policy