Skip to content

Fix xUnit discovery race in demo smoke tests - #1639

Merged
Aaronontheweb merged 3 commits into
netclaw-dev:devfrom
Aaronontheweb:fix/xunit-discovery-race
Jul 14, 2026
Merged

Fix xUnit discovery race in demo smoke tests#1639
Aaronontheweb merged 3 commits into
netclaw-dev:devfrom
Aaronontheweb:fix/xunit-discovery-race

Conversation

@Aaronontheweb

Copy link
Copy Markdown
Collaborator

Summary

  • replace xunit.v3 3.2.2 with the fixed xunit.v3.mtp-off 4.0.0-pre.128 only in the Demo AppHost integration-test project
  • preserve the existing VSTest execution path and avoid a repository-wide MTP migration
  • document the upstream assembly-info JSON corruption race fixed after 4.0.0-pre.116

Root cause

The Windows CI failure matches xunit/xunit#3576 exactly: xUnit 3.2.2 can append Waiting 10 seconds for foreground threads to exit... to the assembly-info JSON consumed by the Visual Studio adapter, causing nondeterministic discovery failures. This is a runner protocol race, not a test timeout.

Validation

  • 100/100 direct -assemblyInfo invocations emitted exactly one valid JSON object
  • affected test project restored, built, and discovered successfully
  • opt-in smoke test executed and skipped correctly without NETCLAW_RUN_DEMO_SMOKE=1
  • dotnet slopwatch analyze passed with 0 issues
  • pwsh ./scripts/Add-FileHeaders.ps1 -Verify passed
  • git diff --check passed

No timeout values, sleeps, or retries were added.

@Aaronontheweb
Aaronontheweb enabled auto-merge (squash) July 14, 2026 19:29
@Aaronontheweb Aaronontheweb added tests All issues related to testing, quality assurance, and smoke testing. bug Something isn't working labels Jul 14, 2026
@Aaronontheweb
Aaronontheweb merged commit 5edd46b into netclaw-dev:dev Jul 14, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working tests All issues related to testing, quality assurance, and smoke testing.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant