From cd0bdb254b90df61542f79ad37f511b1bba446de Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Aug 2026 01:10:41 +0000 Subject: [PATCH 01/10] chore[nuget]: Bump the updates group with 6 updates Bumps FluentAvaloniaUI from 3.0.2 to 3.1.0 Bumps Microsoft.AspNetCore.Mvc.Testing from 10.0.9 to 10.0.11 Bumps Microsoft.EntityFrameworkCore.InMemory from 10.0.9 to 10.0.11 Bumps Microsoft.NET.Test.Sdk from 18.7.0 to 18.9.0 Bumps xunit.runner.visualstudio from 3.1.5 to 4.0.0 Bumps xunit.v3 from 3.2.2 to 4.0.0 --- updated-dependencies: - dependency-name: FluentAvaloniaUI dependency-version: 3.1.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: updates - dependency-name: Microsoft.AspNetCore.Mvc.Testing dependency-version: 10.0.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: updates - dependency-name: Microsoft.EntityFrameworkCore.InMemory dependency-version: 10.0.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: updates - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.9.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: updates - dependency-name: xunit.runner.visualstudio dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: updates - dependency-name: xunit.v3 dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: updates ... Signed-off-by: dependabot[bot] --- SubathonManager.Tests/SubathonManager.Tests.csproj | 10 +++++----- SubathonManager.UI/SubathonManager.UI.csproj | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/SubathonManager.Tests/SubathonManager.Tests.csproj b/SubathonManager.Tests/SubathonManager.Tests.csproj index 4b693088..2c566926 100644 --- a/SubathonManager.Tests/SubathonManager.Tests.csproj +++ b/SubathonManager.Tests/SubathonManager.Tests.csproj @@ -16,12 +16,12 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + - - + + diff --git a/SubathonManager.UI/SubathonManager.UI.csproj b/SubathonManager.UI/SubathonManager.UI.csproj index d2bf4f4b..e7cc2410 100644 --- a/SubathonManager.UI/SubathonManager.UI.csproj +++ b/SubathonManager.UI/SubathonManager.UI.csproj @@ -53,7 +53,7 @@ - + From 8069994298d17fcc59528fdd4219ef29f20e0bcf Mon Sep 17 00:00:00 2001 From: WolfwithSword Date: Tue, 25 Aug 2026 22:14:20 -0300 Subject: [PATCH 02/10] Add test runner configuration to global.json --- global.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/global.json b/global.json index a11f48e1..af1e4b07 100644 --- a/global.json +++ b/global.json @@ -3,5 +3,8 @@ "version": "10.0.0", "rollForward": "latestMajor", "allowPrerelease": true + }, + "test": { + "runner": "Microsoft.Testing.Platform" } -} \ No newline at end of file +} From 96b03c6dd2e7d84c1115995229a3b1d60f8d463c Mon Sep 17 00:00:00 2001 From: WolfwithSword Date: Tue, 25 Aug 2026 22:17:05 -0300 Subject: [PATCH 03/10] Update test references and packages --- .../SubathonManager.Tests.csproj | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/SubathonManager.Tests/SubathonManager.Tests.csproj b/SubathonManager.Tests/SubathonManager.Tests.csproj index 2c566926..f8eecdec 100644 --- a/SubathonManager.Tests/SubathonManager.Tests.csproj +++ b/SubathonManager.Tests/SubathonManager.Tests.csproj @@ -1,7 +1,6 @@ - - + - net10.0 + net10.0 enable enable false @@ -12,23 +11,20 @@ - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - + + + + + - - - - @@ -36,5 +32,4 @@ - - \ No newline at end of file + From 6792675a860723724d49981415145da1981eb03d Mon Sep 17 00:00:00 2001 From: WolfwithSword Date: Tue, 25 Aug 2026 22:19:16 -0300 Subject: [PATCH 04/10] Refactor build.yml test for update --- .github/workflows/build.yml | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8269aea1..b6f9f788 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -96,15 +96,32 @@ jobs: run: | dotnet test SubathonManager.Tests/SubathonManager.Tests.csproj \ --configuration Release \ - --logger "console;verbosity=detailed" \ - --logger "trx;LogFileName=test-results.trx" \ - --blame \ - --blame-crash \ - --blame-hang \ - --blame-hang-timeout 5m \ - --collect:"XPlat Code Coverage" \ --results-directory ./coverage \ - -- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.ExcludeByFile="**/Migrations/**;**/*.g.cs;**/SubathonManager.UI/**" + -p:TestingPlatformShowTestsFailure=true \ + --report-trx \ + --report-trx-filename test-results.trx \ + --crashdump \ + --hangdump \ + --hangdump-timeout 5m \ + --coverlet \ + --coverlet-output-format cobertura \ + --coverlet-exclude-by-file "**/Migrations/**" \ + --coverlet-exclude-by-file "**/*.g.cs" \ + --coverlet-exclude-by-file "**/SubathonManager.UI/**" + + # - name: Run tests + # run: | + # dotnet test SubathonManager.Tests/SubathonManager.Tests.csproj \ + # --configuration Release \ + # --logger "console;verbosity=detailed" \ + # --logger "trx;LogFileName=test-results.trx" \ + # --blame \ + # --blame-crash \ + # --blame-hang \ + # --blame-hang-timeout 5m \ + # --collect:"XPlat Code Coverage" \ + # --results-directory ./coverage \ + # -- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.ExcludeByFile="**/Migrations/**;**/*.g.cs;**/SubathonManager.UI/**" - name: Show blame / crash diagnostics if: always() From 30e3e5538ab6d7225b6e163b429e53eb682c7243 Mon Sep 17 00:00:00 2001 From: WolfwithSword Date: Tue, 25 Aug 2026 22:26:12 -0300 Subject: [PATCH 05/10] Try fix coverage report in workflow --- .github/workflows/build.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b6f9f788..0f857cc1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -150,12 +150,17 @@ jobs: if: always() shell: bash run: ls -la coverage/**/coverage.cobertura.xml || true - + + - name: List raw coverage files + if: always() + shell: bash + run: find . -name '*.cobertura.xml' -print || true + - name: Merge coverage reports if: always() uses: danielpalme/ReportGenerator-GitHub-Action@5 with: - reports: coverage/**/coverage.cobertura.xml + reports: '**/*.cobertura.xml' targetdir: coverage-merged reporttypes: Cobertura From 9e04e5ebfd824fbd3f99764f073b1a69157c2ed9 Mon Sep 17 00:00:00 2001 From: WolfwithSword Date: Tue, 25 Aug 2026 22:40:38 -0300 Subject: [PATCH 06/10] adjust tests in workflow --- .github/workflows/build.yml | 26 +++----------------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0f857cc1..4bf5eb91 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -104,24 +104,7 @@ jobs: --hangdump \ --hangdump-timeout 5m \ --coverlet \ - --coverlet-output-format cobertura \ - --coverlet-exclude-by-file "**/Migrations/**" \ - --coverlet-exclude-by-file "**/*.g.cs" \ - --coverlet-exclude-by-file "**/SubathonManager.UI/**" - - # - name: Run tests - # run: | - # dotnet test SubathonManager.Tests/SubathonManager.Tests.csproj \ - # --configuration Release \ - # --logger "console;verbosity=detailed" \ - # --logger "trx;LogFileName=test-results.trx" \ - # --blame \ - # --blame-crash \ - # --blame-hang \ - # --blame-hang-timeout 5m \ - # --collect:"XPlat Code Coverage" \ - # --results-directory ./coverage \ - # -- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.ExcludeByFile="**/Migrations/**;**/*.g.cs;**/SubathonManager.UI/**" + --coverlet-output-format cobertura - name: Show blame / crash diagnostics if: always() @@ -146,11 +129,6 @@ jobs: if-no-files-found: ignore retention-days: 7 - - name: List raw coverage files - if: always() - shell: bash - run: ls -la coverage/**/coverage.cobertura.xml || true - - name: List raw coverage files if: always() shell: bash @@ -163,6 +141,8 @@ jobs: reports: '**/*.cobertura.xml' targetdir: coverage-merged reporttypes: Cobertura + assemblyfilters: '-SubathonManager.UI' + filefilters: '-**/Migrations/**;-**/*.g.cs' - name: Code Coverage Summary Report if: always() From 5a5e1fbd40fc48e1d5a2a9d1fbbaf32c8c8bb5ce Mon Sep 17 00:00:00 2001 From: WolfwithSword Date: Tue, 25 Aug 2026 22:49:30 -0300 Subject: [PATCH 07/10] debug coverage check --- .github/workflows/build.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4bf5eb91..fdcb5a3b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -106,6 +106,22 @@ jobs: --coverlet \ --coverlet-output-format cobertura + - name: Debug coverage + if: always() + shell: bash + run: | + echo "===== coverlet.MTP check =====" + dotnet list SubathonManager.Tests/SubathonManager.Tests.csproj package \ + | grep -i coverlet || echo ">>> coverlet NOT in package list" + echo "===== coverlet assembly in build output? =====" + find SubathonManager.Tests/bin -iname '*coverlet*' -print || echo ">>> no coverlet dll" + echo "===== ANY coverage file? =====" + find . \( -iname '*.cobertura.xml' -o -iname 'coverage*.json' \ + -o -iname '*.coverage' -o -ipath '*TestResults*' \) -print || true + echo "===== --help list coverlet options? =====" + dotnet exec SubathonManager.Tests/bin/Release/net10.0/SubathonManager.Tests.dll --help 2>&1 \ + | grep -i coverlet || echo ">>> no coverlet options -> extension NOT loaded" + - name: Show blame / crash diagnostics if: always() shell: bash From 6c3a89baa5c1ac0ce4c15e768044679627fdae6b Mon Sep 17 00:00:00 2001 From: WolfwithSword Date: Tue, 25 Aug 2026 23:03:06 -0300 Subject: [PATCH 08/10] modify local test script Updated coverage script to handle errors and improve coverage report generation. --- .github/scripts/coverage.ps1 | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/scripts/coverage.ps1 b/.github/scripts/coverage.ps1 index ceb57465..226331d0 100644 --- a/.github/scripts/coverage.ps1 +++ b/.github/scripts/coverage.ps1 @@ -2,23 +2,24 @@ $projectRoot = (Resolve-Path "$PSScriptRoot\..\..") Push-Location $projectRoot try { - Remove-Item -Path "SubathonManager.Tests\TestResults\*" -Recurse -Force - dotnet test --collect:"XPlat Code Coverage" ` - /p:Exclude="[SubathonManager.Data.Migrations]*" ` - /p:CollectCoverage=true ` - /p:CoverletOutputFormat=cobertura ` - /p:ExcludeByFile="**/*.g.cs" + Remove-Item -Path "SubathonManager.Tests\TestResults\*" -Recurse -Force -ErrorAction SilentlyContinue + Remove-Item -Path "coverage-local" -Recurse -Force -ErrorAction SilentlyContinue + dotnet test SubathonManager.Tests\SubathonManager.Tests.csproj ` + --results-directory coverage-local ` + --coverage ` + --coverage-output-format cobertura ` + --coverage-output coverage.cobertura.xml reportgenerator ` - -reports:"**\coverage.cobertura.xml" ` + -reports:"**\*.cobertura.xml" ` -targetdir:"coverage-report" ` -reporttypes:Html ` -classfilters:"+*;-SubathonManager.Data.Migrations.*" ` -filefilters:"-**/*.g.cs" - + Invoke-Item coverage-report/index.html } finally { Pop-Location -} \ No newline at end of file +} From d40d35c7569df04ffc4131dbb2ac6a93703518fd Mon Sep 17 00:00:00 2001 From: WolfwithSword Date: Tue, 25 Aug 2026 23:04:34 -0300 Subject: [PATCH 09/10] Update testing package references in project file Replaced Microsoft.Testing.Extensions.CodeCoverage package reference. --- SubathonManager.Tests/SubathonManager.Tests.csproj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/SubathonManager.Tests/SubathonManager.Tests.csproj b/SubathonManager.Tests/SubathonManager.Tests.csproj index f8eecdec..38c1b2a3 100644 --- a/SubathonManager.Tests/SubathonManager.Tests.csproj +++ b/SubathonManager.Tests/SubathonManager.Tests.csproj @@ -11,7 +11,8 @@ - + + From 3f9b6b07b41284b6f37a4d379e9ea01717899510 Mon Sep 17 00:00:00 2001 From: WolfwithSword Date: Tue, 25 Aug 2026 23:07:59 -0300 Subject: [PATCH 10/10] Update coverage commands in build.yml Replaced coverlet commands with coverage commands in build workflow. --- .github/workflows/build.yml | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fdcb5a3b..162e5234 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -103,24 +103,8 @@ jobs: --crashdump \ --hangdump \ --hangdump-timeout 5m \ - --coverlet \ - --coverlet-output-format cobertura - - - name: Debug coverage - if: always() - shell: bash - run: | - echo "===== coverlet.MTP check =====" - dotnet list SubathonManager.Tests/SubathonManager.Tests.csproj package \ - | grep -i coverlet || echo ">>> coverlet NOT in package list" - echo "===== coverlet assembly in build output? =====" - find SubathonManager.Tests/bin -iname '*coverlet*' -print || echo ">>> no coverlet dll" - echo "===== ANY coverage file? =====" - find . \( -iname '*.cobertura.xml' -o -iname 'coverage*.json' \ - -o -iname '*.coverage' -o -ipath '*TestResults*' \) -print || true - echo "===== --help list coverlet options? =====" - dotnet exec SubathonManager.Tests/bin/Release/net10.0/SubathonManager.Tests.dll --help 2>&1 \ - | grep -i coverlet || echo ">>> no coverlet options -> extension NOT loaded" + --coverage \ + --coverage-output-format cobertura - name: Show blame / crash diagnostics if: always()