Skip to content

Releases: SteveGilham/altcover

Genbu series release 10

15 Dec 12:17
Compare
Choose a tag to compare

7.3.802

  • Add a -qoption for AltCover, given once suppresses informational messages, twice also suppresses warnings and thrice also suppresses errors. Away from the command line, the option is called Verbosity, and is based on System.Diagnostics.TraceLevel -- the default level being Info, with Warning, Error and Off equivalent to -q, -qq and -qqq respectively. For the monent Verbose is the same as Info
  • Other minor build process improvements

Genbu series release 9

07 Dec 14:49
Compare
Choose a tag to compare

7.2.801

  • [BUGFIX] Don't ArgumentNullException when running the --callContext for async feature off the build machine
  • [BUGFIX] Refactor to avoid "System.ArgumentException: An item with the same key has already been added. Key: AltCover.Recorder.g/7.2.0.0" that could occur in some rare circumstances while instrumenting code.
  • Other minor build process improvements

Genbu series release 8

02 Dec 11:29
Compare
Choose a tag to compare

7.2.800

  • [BUGFIX] Don't produce invalid IL when --callContext indicates a method with a non-void return (issue #105, and probably #26 too)
  • [BUGFIX] Restore application icons, even if they only show in the .exe forms (lost in 7.1.795 if not before)
  • [BUGFIX] Add AltCover prefix to MSBuild property names NetCoreEngine, NetStdEngine (global), InputDirectory and OutputDirectory (target-scoped) in the injected .targets file for dotnet test integration.
  • [BUGFIX] Let the AvaloniaUI based visualizer roll forwards from netcoreapp2.1 onto later runtimes
  • Finer-grained control of the coverage summary output
  • When --callContext indicates an async method, then track all calls within the same async flow, and not just in the direct same-thread call stack. Note other out-of-thread calls (Thread.Start, Parallel.Invoke, explict Async-named method invocation, ...) are not tracked.
  • Build with net5.0 SDK (modulo work-round for dotnet/fsharp#10442) in net5-only environments
    • Still build AltCover.exe/.dll against net472 for framework support, netcoreapp2.1 for the global tool and netcoreapp2.0 for everywhere else
    • Still build the GTK2 visualizer against net472 for consistency
    • Still build the recorder at net20 and use that assembly everywhere (see F# compiler issue noted above) except where a net46 version is substituted for tracking through async calls
    • Move unit tests to net5.0, as they are not public API

Genbu series release 7

09 Nov 14:09
Compare
Choose a tag to compare

7.1.795

  • [BUGFIX] Make LCov tracefile output follow what is actually generated, and not just what the man page says
  • As well as interfaces, hide other types with no non-abstract methods (e.g. plain enums) in the coverage
  • Show the branch in public int string Ternary(bool select) => !select ? Left : Right; just like it is shown in public int Ternary (bool select, int left, int right) { return select ? left : right; }.
  • For records, add entry and exit attributes as semicolon separated lists of the UTC times in ticks at which the method was entered and returns
  • For dotnet test ... /p:AltCoverXmlReport=... , if the value for the report file path contains one of the following literals
    • $(ProjectName)
    • $(SolutionDir)
    • $([System.Guid]::NewGuid())
      then substitute in the actual values of those build parameters where they haven't already been replaced by MSBuild.
      Example: Using /p:AltCoverXmlReport=$(SolutionDir)/_Reports/solution.$(ProjectName).xml with dotnet test of a solution to place distinctly named report files in a common folder.
      Also
  • Rationalise .net versions to help speed up the build and ease the net5.0 transition
    • Clear out some corner case differences between .net core and .net framework builds based on old work-arounds for symbol writing for the instrumented files
    • Build the recorder at net20 only and use the same assembly everywhere
    • Move all the core logic from AltCover.exe/.dll to AltCover.Engine.dll
    • Unify the three different entry-point assembly instances into the now shim-like AltCover.exe/.dll
    • Build everything against netstandard2.0 except executable shims and unit tests (tests at netcoreapp3.0 by default)
    • Build AltCover.exe/.dll against net472 for framework support, netcoreapp2.1 for the global tool and netcoreapp2.0 for everywhere else
    • Build the GTK2 visualizer against net472 for consistency
    • net472 debug builds for published libraries are retained purely for FxCop consumption
  • Collect coverage from unit tests at build time too

Genbu series release 6a

24 Jul 18:08
Compare
Choose a tag to compare

7.1.783

  • [Visualizer-global-tool]
  • [BUGFIX] Don't NRE when cancelling a File Open dialog when Avalonia uses its GTK binding (Linux)
  • Support font selection on Windows natively (monospace fonts only)
  • On non-Windows platforms, if Tcl/Tk wish is present, use that to perform font selection (choose wisely)

Genbu series release 6

24 Jul 18:06
Compare
Choose a tag to compare

7.1.782

  • [BUGFIX] Don't throw NRE when encountering an interface with a default method implementation
  • Omit interfaces without default method implementations from coverage recording, to match the behaviour of OpenCover (Issue #91)
  • [Visualizer-global-tool]
    • Fix the display of branch information on the second and subsequent coverage file loaded in a session
    • Fix the loading of the most recently accessed files list to prune ones that don't now exist
    • other minor tidyings
  • [Visualizer-GTK]
    • Make this look more like the Avalonia version
    • Tentative fix for the About dialog link-button on non-Windows platforms based partly on the Avalonia code.
    • Keep the GTK3 build in step, even though it's not packaged for release

Genbu series release 5a

08 Jul 18:10
Compare
Choose a tag to compare

7.1.780

  • [Visualizer] Rewritten global tool based on the cross-platform AvaloniaUI toolkit (so no need for all the GTK3 set-up, including the --schemadir[=path] command-line parameter)
    • There's no font selection support yet as AvaloniaUI doesn't offer a cross-platform one
    • The colour scheme differs as there's not yet support for selecting a different background brush for text ranges -- covered = blue text
    • line numbers are shown, and are coloured according to any sequence point starting that line

Genbu series release 5

01 Jul 11:31
Compare
Choose a tag to compare

7.1.778

  • [BUGFIX] Address problems revealed in issue #87
    • The collection process now fails gracefully if the XML report is missing or broken
    • dotnet test will halt after instrumentation fails, should it do so, rather than continuing to test and process the missing or broken XML report
    • Work round F# issue 9255 by replacing Newtonsoft as the JSON processor with one that can static link

Genbu series release 4

29 Jun 11:56
Compare
Choose a tag to compare

7.1.777

  • [BUGFIX] Fix the GTK2/Framework Visualizer (broken since v6.8.761)
  • Multi-monitor support for the Visualizer in all versions; the window will restore to its previous location even when placed on non-primary monitors
  • Use integrated MSBuild error reporting in the data collector used by the dotnet test integration.

Genbu series release 3

23 Jun 15:37
Compare
Choose a tag to compare

7.1.776

  • [BUGFIX] Set the visited attribute and CRAP score accordingly for methods with no sequence points, if the method is recorded as having been visted at all.
  • [BUGFIX] Exclude CRAP score for methods with no sequence points from the min/max summary values for the containing type and above (just as such methods aren't counted for the other roll-up quantities)
  • Emit CRAP score values in the OpenCover style summary
  • Distinguish between methods with source and no source in the threshold computations, the option to select the alternative measures (AM, AC) that include the no-source methods. Extend the TypeSafe.Thresholds record type with the coresponding extra fields.
  • On a threshold violation, always report that via return code by preference to any non-zero process value.