Releases: SteveGilham/altcover
Releases · SteveGilham/altcover
Genbu series release 13
- [BUGFIX] In some use cases, the error
The "AltCover.ContingentCopy" task was not given a value for the required parameter "FileName".
could be provoked bydotnet test
(Issue #113) - Extend to other Build Action types (at least all those that my VS2019 Community Edition was prepared to mention) the "If
/p:AltCoverInPlace
is nottrue
, then copy all files in the project included as<[Action] Include="./[some subdirectory]/..."
withCopyToOutputDirectory
ofAlways
orPreserveNewest
to the appropriate relative location wrt the intrumented files" behaviour added for theNone
action in the previous release. File an issue report if you have yet another build action type that you need copying for a not-in-place test scenario.
Genbu series release 12
7.4.807
- [MAYBE BREAKING] Set
InPlace
default tofalse
uniformly across the API- Add
dotnet test
command line option/p:AltCoverInPlace=true|false
(default false) - If
/p:AltCoverInPlace=true
then/p:AltCoverForce=true
has its pre-v7.3.805 meaning - Wire up "InPlace" to the Fake
DotNet.test
driver for the above - If
/p:AltCoverInPlace
is nottrue
, then copy all files in the project included as<None Include="./[some subdirectory]/..."
withCopyToOutputDirectory
ofAlways
orPreserveNewest
to the appropriate relative location wrt the intrumented files - NB
/p:AltCoverInPlace=true
will not play well with the concurrent instrument-and-test behaviour ofdotnet test [multipletestprojects].sln /p:AltCover="true" --output [commonArtifactsFolder]
- Add
- Allow
--callContext
and--single
together, which will log at most one visit per context per location, not just one visit per location
Genbu series release 11a
7.3.806
- [BUGFIX] Handle concurrent instrumentation in the case
dotnet test [multipletestprojects].sln /p:AltCover="true" --output [commonArtifactsFolder]
-- only changes the.targets
file
Genbu series release 11
7.3.805
- Extra detection and removal of compiler generated branches in C#
async
/await
constructs - Revise the whole
dotnet test
integration- Will support SDK versions back at least to v2.1.809, but v2.1.300 is definitely now out of support due to API changes to the
Microsoft.TestPlatform.Build.Tasks.VSTestTask
task in the interim - Rather than copy/instrument back to
$(TargetDir)
/clean and copy-back, now instrument to a new directory and test there; there are now no worries about instrumented code ever being in the actual build artifact output directory /p:AltCoverForce=true
now simply clears the instrumentation target directory, and gives an informational message only- Resolve the instrumentation directory once and only once -- prevents inconsistent handling in the case where command line parameter
--output
redirects$(TargetDir)
part-way through the process
- Will support SDK versions back at least to v2.1.809, but v2.1.300 is definitely now out of support due to API changes to the
- Some refactoring and other build process improvements
Genbu series release 10
7.3.802
- Add a
-q
option for AltCover, given once suppresses informational messages, twice also suppresses warnings and thrice also suppresses errors. Away from the command line, the option is calledVerbosity
, and is based onSystem.Diagnostics.TraceLevel
-- the default level beingInfo
, withWarning
,Error
andOff
equivalent to-q
,-qq
and-qqq
respectively. For the monentVerbose
is the same asInfo
- Other minor build process improvements
Genbu series release 9
7.2.801
- [BUGFIX] Don't
ArgumentNullException
when running the--callContext
forasync
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
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 namesNetCoreEngine
,NetStdEngine
(global),InputDirectory
andOutputDirectory
(target-scoped) in the injected.targets
file fordotnet 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 anasync
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
againstnet472
for framework support,netcoreapp2.1
for the global tool andnetcoreapp2.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 anet46
version is substituted for tracking throughasync
calls - Move unit tests to
net5.0
, as they are not public API
- Still build
Genbu series release 7
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 inpublic int Ternary (bool select, int left, int right) { return select ? left : right; }
. - For records, add
entry
andexit
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
withdotnet 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
toAltCover.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 atnetcoreapp3.0
by default) - Build
AltCover.exe/.dll
againstnet472
for framework support,netcoreapp2.1
for the global tool andnetcoreapp2.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
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
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