Skip to content

fix: correct cross-platform Debug build and test configuration - #534

Merged
DirkDoes merged 1 commit into
mainfrom
fix/cross-platform-debug-tests
Oct 14, 2026
Merged

DirkDoes merged 1 commit into
mainfrom
fix/cross-platform-debug-tests

Conversation

@DirkDoes

@DirkDoes DirkDoes commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

Purpose of this PR:

Default solution Debug builds compile the application as Debug-Windows but tests as Debug. This selects WindowsUpdatePlatform even on Linux, while the updater registration test expects FallbackUpdatePlatform. Passing linux-x64 leaves both WINDOWS and LINUX defined in the app, where WINDOWS takes precedence.

How to Test:

Run dotnet test WheelWizard.sln. On Linux with .NET 10, also run dotnet test WheelWizard.sln -r linux-x64.

Verified on Windows with build-server reuse disabled and one MSBuild node: before the fix, 605 unit tests passed and the reported registration test failed; after the fix, all 606 unit tests and 65 UI tests passed. MSBuild evaluation confirms that linux-x64 now defines LINUX in both projects, without WINDOWS. Native Linux execution remains unverified because local Ubuntu only has .NET 8; this repository requires .NET 10.

What Has Been Changed:

  • Map the application's solution Debug configuration to Debug instead of Debug-Windows.
  • Match the application's runtime-dependent WINDOWS, LINUX, and MACOS symbols in the unit test project.

Without an explicit runtime, both projects use the fallback updater. Release mappings remain unchanged; official releases explicitly specify their runtime. Existing CI tests Release and misses this default Debug mismatch.

Related Issue Link:

No linked issue; implements the supplied patch for the reported Linux test failure.

Checklist before merging

  • You have created relevant tests

No new tests were added: the existing updater registration test reproduces the failure and passes with this fix.

Summary by CodeRabbit

  • Build & Compatibility
    • Build settings now align with Windows, Linux, and macOS targets, improving platform-specific build consistency.
    • Debug solution builds now use the standard Debug configuration across the solution.

@coderabbitai

coderabbitai Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: ae6a01b4-adfc-4982-ac31-94f22ed905ad
📥 Commits

Reviewing files that changed from the base of the PR and between 14c0c7c and 1f4f85d.

📒 Files selected for processing: 2
  • WheelWizard.Test/WheelWizard.Test.csproj
  • WheelWizard.sln

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

📝 Walkthrough

The test project adds platform-specific compilation constants for listed runtime identifiers. The solution maps the WheelWizard Debug configuration to Debug instead of Debug-Windows.

Changes: Build Configuration

Layer / File(s) Summary
Platform build settings
WheelWizard.Test/WheelWizard.Test.csproj, WheelWizard.sln
The test project defines WINDOWS, LINUX, or MACOS based on RuntimeIdentifier. The solution maps the WheelWizard Debug configuration to Debug for both active configuration and build.

Priority: ➖ Normal

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

Change: Bug fix

Suggested reviewers: patchzyy

Merge Risk: ⚪ Minimal · up to 1f4f8

The default Debug configuration now aligns application and test fallback behavior, and no actionable merge-blocking issue was identified.

Pre-merge checks: Passed 5
Passed Passed checks: 5 passed
Check name Status Explanation
Title check Passed The title clearly and concisely describes the main change: correcting cross-platform Debug build and test configuration.
Description check Passed The description includes all template sections, explains the failure and fix, documents testing results and limitations, and states that no new tests were added.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

A rabbit checks each build with care
Three platform flags are waiting there
Debug maps to Debug in line
The settings match, the builds align
I hop away; the configs shine

Comment @coderabbitai help to get the list of available commands.

@DirkDoes
DirkDoes marked this pull request as ready for review October 14, 2026 13:42
@DirkDoes
DirkDoes merged commit 35d523d into main Oct 14, 2026
3 checks passed
@DirkDoes
DirkDoes deleted the fix/cross-platform-debug-tests branch October 14, 2026 18:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant