Skip to content

Use the reminder actor clock in the expiry test - #1767

Merged
Aaronontheweb merged 1 commit into
devfrom
fix/reminder-expiry-test-clock
Aug 5, 2026
Merged

Use the reminder actor clock in the expiry test#1767
Aaronontheweb merged 1 commit into
devfrom
fix/reminder-expiry-test-clock

Conversation

@Aaronontheweb

Copy link
Copy Markdown
Collaborator

Summary

  • Use the reminder actor's FakeTimeProvider in the expiry test.
  • Remove the comparison between a frozen actor clock and the system clock.

Cause

PR #1766 exposed this race in the macOS CI job.

The test created ExpiresAt from TimeProvider.System. The actor compared that value against its injected FakeTimeProvider.

Clock drift could place the test expiry after the actor's frozen time. The actor then started an execution instead of disabling the reminder.

The fix derives the test time from the same fake clock. It does not increase a timeout or add a delay.

Validation

  • The focused test passed 20 consecutive runs.
  • All 2,759 Netclaw.Actors tests passed.
  • The full solution test run passed. Opt-in integration tests skipped as configured.
  • dotnet slopwatch analyze passed with zero issues.
  • pwsh ./scripts/Add-FileHeaders.ps1 -Verify passed.
  • git diff --check passed.

@Aaronontheweb Aaronontheweb added the tests All issues related to testing, quality assurance, and smoke testing. label Aug 5, 2026
@Aaronontheweb
Aaronontheweb merged commit 7a74329 into dev Aug 5, 2026
21 checks passed
@Aaronontheweb
Aaronontheweb deleted the fix/reminder-expiry-test-clock branch August 5, 2026 18:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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