Add ReactiveUI.Primitives.Async parity, bridges, tests, and benchmarks#12
Merged
Conversation
Runtime fix: - Observe faulted FromTask operations after cancellation with a non-cancelable continuation on the default scheduler. - Avoid awaiting the fault-observation continuation so cancellation paths cannot reintroduce unobserved task exceptions. Test isolation: - Enable the TUnit unhandled-exception executor assembly-wide and mark the test assembly not-in-parallel because the handler is process-wide global state. - Add UnhandledExceptionCapture to restore the previous handler and wait for the expected exception message. - Update async unhandled-exception tests to assert their own routed exception instead of the first global callback to arrive. Verification: - dotnet build .\ReactiveUI.Primitives.slnx --configuration Release --no-restore - dotnet test --solution .\ReactiveUI.Primitives.slnx --no-build --configuration Release --timeout 15m --coverage --coverage-output-format cobertura --results-directory .\TestResults\ci-local - MTP coverage MCP: line 91.57%, branch 85.72%
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
ReactiveUI.Primitives.Asyncproject and aligned its API naming with the existing primitives vocabulary.ISequencerhandling to behave consistently with the core primitives model.System.ReactiveandR3whenReactiveUI.Primitives.Asyncis referenced.ReactiveUI.Extensions.Tests.Asyncand added focused contract coverage for the new async surface.ReactiveUI.Extensions4.0.0for key async scenarios.Testing
ReactiveUI.Primitives.Asyncbuilds acrossnet462,net472,net481,net8.0,net9.0, andnet10.0.net8.0,net9.0, andnet10.0with1367tests each.ReactiveUI.Primitives.Asyncis98.20%line and97.83%branch.ReactiveUI.Extensions4.0.0.