Skip to content

Move coverlet.collector to 10.1.0 - #107

Merged
donislawdev merged 1 commit into
mainfrom
chore/coverlet-10
Nov 2, 2026
Merged

donislawdev merged 1 commit into
mainfrom
chore/coverlet-10

Conversation

@donislawdev

@donislawdev donislawdev commented Nov 2, 2026 •

Copy link
Copy Markdown
Owner

What changes

coverlet.collector goes from 6.0.4 to 10.1.0 in the six test projects. The hold in .github/outdated/held.toml is removed and the row in THIRD-PARTY-NOTICES.md is updated.

Why now

The weekly outdated-package gate held 10.1.0 until 2026-12-01. The coverage floors in tests/coverage-floor.json are written to a tenth of a point, and the 10.1.0 notes say auto-properties and records are counted differently. A hold that holds nothing turns the gate red, so the hold goes in the same change.

Measured before the push

One narrow test per project, with the same filter under each version, in Debug as the gate runs:

Assembly Coverable lines, 6.0.4 Coverable lines, 10.1.0 Covered under the filter, 6.0.4 Covered under the filter, 10.1.0
Bws.Core 6824 6824 39 39
Bws.Gui 9026 9026 1692 1692
Bws.Cli 2594 2594 456 455
  • The one line that differs is an executed continue; in src/Bws.Cli/CommandLine.Reading.cs, which 10.1.0 reports as not hit. The lines before it were hit twice under both versions.
  • The coverable counts are the same ones the last CI run on main gave with every test.
  • The report now writes paths with forward slashes. The gate makes every path absolute before it compares them, so it groups files as before. This was checked by running the gate's own join on both reports.
  • The last CI coverage was Cli 80.6% (floor 9.5), Core 90.1% (floor 71.9) and Gui 92% (floor 86.2).
  • outdated_gate.py verdict on this tree reports 0 behind, 0 held, 1 cooling and 8 current. Its self-test passes 75 of 75.
  • The licence at the v10.1.0 tag is still MIT.

What the run on this pull request decides

The full coverage figures, in the step "coverage against its floor".

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated the tooling used to collect test coverage reports.
    • Refreshed the corresponding third-party notice.
    • No changes to end-user features or product behavior.

The weekly outdated-package gate held coverlet at 6.0.4 until
2026-12-01, because the coverage floors are written to a tenth of a
point and 10.1.0 says it counts auto-properties and records
differently. This takes the move and drops the hold, which the gate
would otherwise report as holding nothing.

Measured with one narrow test per project under each version: the same
lines are coverable in Bws.Core (6824), Bws.Gui (9026) and Bws.Cli
(2594), which are also the counts the last CI run gave on every test.
One line read differently, an executed continue statement in the
command line reader that 10.1.0 reports as not hit. The report now
writes its paths with forward slashes, and the coverage gate makes
every path absolute before it compares them, so it groups the files as
before.

The last CI run was at least 5.8 points above every floor, so one line
cannot turn the gate red. The full figures come from the run on this
pull request.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI (base), Organization UI (inherited)
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: baf1846f-a91c-4d38-acaf-8634a98b4d09
Commits

Reviewing files that changed from the base of the PR and between 0a2fcff and 6cde8df.

Files selected for processing: 8
  • .github/outdated/held.toml
  • THIRD-PARTY-NOTICES.md
  • tests/Bws.Architecture.Tests/Bws.Architecture.Tests.csproj
  • tests/Bws.Cli.Tests/Bws.Cli.Tests.csproj
  • tests/Bws.Core.Tests/Bws.Core.Tests.csproj
  • tests/Bws.Gui.Tests/Bws.Gui.Tests.csproj
  • tests/Bws.Integration.Tests/Bws.Integration.Tests.csproj
  • tests/Bws.Site.Tests/Bws.Site.Tests.csproj

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Recent review details
Context from checks skipped due to timeout: 5
  • GitHub Check: part 0
  • GitHub Check: CodeRabbit
  • GitHub Check: build and the tests that do not need this machine
  • GitHub Check: Analyse csharp
  • GitHub Check: submit-nuget
Additional context used
Code guidelines: 1
CONTRIBUTING.md — configured
Path-based instructions: 6
Packaging and release configuration of a desktop app.

CodeRabbit configuration file

Files:

  • tests/Bws.Core.Tests/Bws.Core.Tests.csproj
  • tests/Bws.Site.Tests/Bws.Site.Tests.csproj
  • tests/Bws.Gui.Tests/Bws.Gui.Tests.csproj
  • tests/Bws.Architecture.Tests/Bws.Architecture.Tests.csproj
  • tests/Bws.Integration.Tests/Bws.Integration.Tests.csproj
  • tests/Bws.Cli.Tests/Bws.Cli.Tests.csproj
For every added or upgraded dependency: confirm the package really exists and the name is spelled correctly (typosquatting), it is actively maintained, the license is compatible with this project's license, and it is actually needed (not re...

CodeRabbit configuration file

Files:

  • tests/Bws.Core.Tests/Bws.Core.Tests.csproj
  • tests/Bws.Site.Tests/Bws.Site.Tests.csproj
  • tests/Bws.Gui.Tests/Bws.Gui.Tests.csproj
  • tests/Bws.Architecture.Tests/Bws.Architecture.Tests.csproj
  • tests/Bws.Integration.Tests/Bws.Integration.Tests.csproj
  • tests/Bws.Cli.Tests/Bws.Cli.Tests.csproj
Verify tests check real behavior and would fail if the implementation were broken.

CodeRabbit configuration file

Files:

  • tests/Bws.Core.Tests/Bws.Core.Tests.csproj
  • tests/Bws.Site.Tests/Bws.Site.Tests.csproj
  • tests/Bws.Gui.Tests/Bws.Gui.Tests.csproj
  • tests/Bws.Architecture.Tests/Bws.Architecture.Tests.csproj
  • tests/Bws.Integration.Tests/Bws.Integration.Tests.csproj
  • tests/Bws.Cli.Tests/Bws.Cli.Tests.csproj
Check that documentation matches the actual code in this PR: commands, flags, config keys, file paths, build steps and examples must exist.

CodeRabbit configuration file

Files:

  • THIRD-PARTY-NOTICES.md
All code in this repository is written by an AI coding agent (Claude Code).

CodeRabbit configuration file

Files:

  • tests/Bws.Core.Tests/Bws.Core.Tests.csproj
  • tests/Bws.Site.Tests/Bws.Site.Tests.csproj
  • tests/Bws.Gui.Tests/Bws.Gui.Tests.csproj
  • tests/Bws.Architecture.Tests/Bws.Architecture.Tests.csproj
  • THIRD-PARTY-NOTICES.md
  • .github/outdated/held.toml
  • tests/Bws.Integration.Tests/Bws.Integration.Tests.csproj
  • tests/Bws.Cli.Tests/Bws.Cli.Tests.csproj
Source excerpt: These are guards rather than preferences.

CodeRabbit inference engine (CONTRIBUTING.md)

Files:

  • THIRD-PARTY-NOTICES.md
Learnings: 1
Common learnings
Learnt from: CR
Repo: donislawdev/BetterWindowsServices PR: 0
File: CONTRIBUTING.md:0-0
Timestamp: 2026-11-02T16:16:55.322Z
Learning: Applies to THIRD-PARTY-NOTICES.md : Source excerpt:
# Contributing to Better Windows Services

## Building and checking

### Conventions the test suite enforces

These are guards rather than preferences. Each one exists because the thing it forbids happened at
least once, and most of them read the compiled assemblies or the source tree rather than trusting
a declaration:

- **Every package that ships is named in `THIRD-PARTY-NOTICES.md`**, and the notices name no
  package that no longer ships.
Walkthrough

The test projects now reference coverlet.collector version 10.1.0 instead of 6.0.4. The outdated-package hold was removed, and the third-party notice now lists version 10.1.0.

Changes: coverlet.collector version update

Layer / File(s) Summary
Update test coverage collector
tests/Bws.*.Tests/*.csproj, .github/outdated/held.toml, THIRD-PARTY-NOTICES.md
The six test projects now reference coverlet.collector version 10.1.0. The hold entry was removed, and the notice lists version 10.1.0.

Estimated code review effort: 2 (Simple) | ~8 minutes

Change: Other

Possibly related PRs

Suggested labels: dependencies

Merge Risk: Minimal · up to 6cde8

No actionable merge-blocking issue is established. The dependency update is mergeable subject to normal build, test, and coverage checks.

Pre-merge checks: Passed 14
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly describes the main code change: upgrading coverlet.collector to version 10.1.0. It is specific, concise, and suitable for release notes or git history.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Tests For Changed Behavior Passed The pull request changes only test-project dependency versions, a third-party notice, and an outdated-package hold. It does not change shipped runtime behavior. The diff deletes no tests and does not …
No Secrets Or Debug Leftovers Passed The pull request adds only six coverlet.collector version references and one notice-table row. It adds no private AI-agent files or .env files. Added lines contain no credentials, tokens, API keys…
No Hardcoded Ui Styling Passed The pull request changes only dependency metadata, project package versions, and the outdated-package hold. It does not change XAML, Slint, Fyne, Tkinter, WPF code-behind, or other GUI code. The check…
No Obvious Performance Problems Passed The pull request only updates the test-only coverlet.collector version, removes its outdated-package hold, and updates the notice table. It adds no runtime code, UI collection handling, loops, queries…
Desktop Robustness Passed The pull request changes only test-project package versions, a dependency notice, and an outdated-package hold. It adds no application code or behavior that loads working-directory assets, performs no…
Safe File Parsing Passed The PR changes only coverlet.collector package versions, a third-party notice row, and removal of an outdated-package hold. It introduces no code that reads, imports, exports, deserializes, or write…
System Changes Are Reversible Passed The PR changes only test-project package references, a third-party notice, and an outdated-package hold. The diff adds no code that changes network filters, proxies, firewalls, system time, process st…
Clear User-Facing Text Passed PASS. The pull request changes package versions, removes an outdated-package hold, and updates one dependency version in THIRD-PARTY-NOTICES.md. It does not add or change application user-facing contr…
No Resource Leaks Passed The PR changes only coverlet.collector versions in six non-packable test projects, removes an outdated-package hold, and updates the third-party notice. It adds no application code or resource-ownin…
Scope, Duplication And Docs Passed PASS. The authoritative diff contains only the coverlet.collector version update in six test projects, removal of its outdated-package hold, and the matching THIRD-PARTY-NOTICES entry. No unrelated re…
Full details: Tests For Changed Behavior

Explanation

The pull request changes only test-project dependency versions, a third-party notice, and an outdated-package hold. It does not change shipped runtime behavior. The diff deletes no tests and does not skip tests or weaken assertions.

Full details: No Secrets Or Debug Leftovers

Explanation

The pull request adds only six coverlet.collector version references and one notice-table row. It adds no private AI-agent files or .env files. Added lines contain no credentials, tokens, API keys, private URLs, local absolute paths, hostnames/IPs, personal e-mails, or debug calls.

Full details: No Hardcoded Ui Styling

Explanation

The pull request changes only dependency metadata, project package versions, and the outdated-package hold. It does not change XAML, Slint, Fyne, Tkinter, WPF code-behind, or other GUI code. The check is therefore not applicable.

Full details: No Obvious Performance Problems

Explanation

The pull request only updates the test-only coverlet.collector version, removes its outdated-package hold, and updates the notice table. It adds no runtime code, UI collection handling, loops, queries, polling, I/O, or computation that could create an explicit performance problem.

Full details: Desktop Robustness

Explanation

The pull request changes only test-project package versions, a dependency notice, and an outdated-package hold. It adds no application code or behavior that loads working-directory assets, performs non-atomic file I/O, uses culture-sensitive persistence, starts uncancellable work, adds destructive actions, leaves background work running, requests admin rights, or makes undisclosed network calls.

Full details: Safe File Parsing

Explanation

The PR changes only coverlet.collector package versions, a third-party notice row, and removal of an outdated-package hold. It introduces no code that reads, imports, exports, deserializes, or writes XML, XAML, CSV, XLSX, JSON, YAML, translation, theme, settings, or archive files. The safe file parsing check is not applicable.

Full details: System Changes Are Reversible

Explanation

The PR changes only test-project package references, a third-party notice, and an outdated-package hold. The diff adds no code that changes network filters, proxies, firewalls, system time, process state, Windows services, registry, or drivers. The reversibility requirements do not apply.

Full details: Clear User-Facing Text

Explanation

PASS. The pull request changes package versions, removes an outdated-package hold, and updates one dependency version in THIRD-PARTY-NOTICES.md. It does not add or change application user-facing controls, labels, tooltips, confirmations, or error messages. The notice keeps the same package name, licence, and description.

Full details: No Resource Leaks

Explanation

The PR changes only coverlet.collector versions in six non-packable test projects, removes an outdated-package hold, and updates the third-party notice. It adds no application code or resource-owning lifecycle such as handlers, timers, streams, processes, tasks, caches, or images. No resource leak is introduced by the changed files.

Full details: Scope, Duplication And Docs

Explanation

PASS. The authoritative diff contains only the coverlet.collector version update in six test projects, removal of its outdated-package hold, and the matching THIRD-PARTY-NOTICES entry. No unrelated refactor, duplicated functionality, architecture bypass, user-facing behavior, CLI/configuration change, or incompatible public API change is present.】【。

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@donislawdev
donislawdev merged commit 5e63809 into main Nov 2, 2026
14 checks passed
@donislawdev
donislawdev deleted the chore/coverlet-10 branch November 2, 2026 21:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant