diff --git a/.github/workflows/CSharpTest.yml b/.github/workflows/CSharpTest.yml index deadcc3e0..0999ccdf8 100644 --- a/.github/workflows/CSharpTest.yml +++ b/.github/workflows/CSharpTest.yml @@ -43,10 +43,15 @@ jobs: dotnet add "Sources/Tests/UnitTests" package GitHubActionsTestLogger dotnet build Sources/Tests/UnitTests + # No coverage on these two legs: the Windows leg's report is the one uploaded. With coverlet's + # MSBuild integration they printed `AngouriMath | 0%` on every run, because VSTest stops the + # test host before coverlet writes its hits (coverlet's KnownIssues.md), and instrumenting + # the suite took about two fifths of its time, measured locally. + # https://github.com/asc-community/AngouriMath/issues/397 - name: Test if not to send if: ${{ matrix.os != 'windows-latest' }} run: | - dotnet test "Sources/Tests/UnitTests" -c Release -l GitHubActions -l "trx;LogFileName=results.trx" --results-directory "Sources/Tests/UnitTests/TestResults" /p:CollectCoverage=true /p:CoverletOutputFormat=opencover + dotnet test "Sources/Tests/UnitTests" -c Release -l GitHubActions -l "trx;LogFileName=results.trx" --results-directory "Sources/Tests/UnitTests/TestResults" # Where the suite's time goes, by the Area trait every test class carries, written to the # job's summary. One leg is enough to see the breakdown, and running the tool builds the diff --git a/Sources/AngouriMath/Docs/Contributing/Coverage.md b/Sources/AngouriMath/Docs/Contributing/Coverage.md index 251be67fc..4b2d4470a 100644 --- a/Sources/AngouriMath/Docs/Contributing/Coverage.md +++ b/Sources/AngouriMath/Docs/Contributing/Coverage.md @@ -6,7 +6,7 @@ round to instrumenting. | leg | workflow | what it runs | how coverage is collected | codecov flag | |---|---|---|---|---| -| C# | `CSharpTest.yml` | `dotnet test Sources/Tests/UnitTests` | coverlet, both as `/p:CollectCoverage=true` and as the VSTest `XPlat Code Coverage` collector | `csharp` | +| C# | `CSharpTest.yml` | `dotnet test Sources/Tests/UnitTests`, collected on the Windows leg | coverlet, as the VSTest `XPlat Code Coverage` collector | `csharp` | | F# | `FSharpTest.yml` | `dotnet test Sources/Tests/FSharpWrapperUnitTests` | VSTest `XPlat Code Coverage` collector | `fsharp` | | Interactive | `InteractiveTest.yml` | `dotnet test` over the Interactive wrapper and the terminal | VSTest `XPlat Code Coverage` collector | `interactive` | | C++ | `CPPTest.yml` | `ctest` over a native executable | `gcov`, reported by `gcovr` as Cobertura | `cpp` |