Repository navigation
Re-point the GH-3740 tests at the better guarantee JasperFx 2.37.0 gives us - #3755
Merged
Merged
Conversation
…ves us The 2.37.0 bump (134f4cf) pulled in #590, which guards OptionsDescription's reflective getter walk directly: a property whose getter throws is now recorded as OptionsValue.Unreadable instead of taking the whole description down with it. That is strictly better than what Wolverine's own GH-3740 guard could do -- the broker is described, minus one property, rather than dropped entirely -- but it left both tests in service_capabilities_resilience_3740 asserting the old, worse outcome, and main red for it. - one_misbehaving_property_getter_costs_only_that_property replaces the "badly behaved broker is simply missing" assertion with the real contract: the broker IS in the snapshot and only Explosive reads back as unreadable. - one_undescribable_transport_does_not_lose_the_whole_snapshot is new, and keeps covering Wolverine's per-transport guard, which OptionsDescription cannot help with because the throw happens in TryBuildBrokerUsage before it ever runs. Verified non-vacuous: deleting the try/catch in readTransports fails this test. - cancellation_is_not_swallowed_as_a_section_failure now uses that transport too, since it needs a section that genuinely fails in order to reach the cancellation check at all. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This was referenced Aug 1, 2026
This was referenced Aug 11, 2026
This was referenced Aug 18, 2026
This was referenced Aug 28, 2026
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.
mainis red at90229b2c5, and has been since the JasperFx 2.37.0 bump (134f4cf5b). Only these two tests fail, onmainitself and on every PR branched from it:Why
2.37.0 carries jasperfx#590, which guards
OptionsDescription's reflective getter walk directly: a property whose getter throws is recorded asOptionsValue.Unreadableinstead of taking the whole description down with it.That is strictly better than what Wolverine's own GH-3740 guard could do on its own — the broker is now described, minus one property, rather than dropped entirely. But it means
TryBuildBrokerUsageno longer throws forBadlyBehavedTransport, so both tests were left asserting the old, worse outcome:one_misbehaving_transport_does_not_lose_the_whole_snapshotasserted the bad broker was absent. It is now present, correctly.cancellation_is_not_swallowed_as_a_section_failurereached the cancellation check only because a section threw. With nothing throwing, the check is never reached.So this is the test suite catching a behaviour improvement, not a product regression. No product code changes here.
What changed
one_misbehaving_property_getter_costs_only_that_property(renamed) asserts the real contract now: the broker is in the snapshot and onlyExplosivereads back with theOptionsValue.UnreadablePrefixmarker.one_undescribable_transport_does_not_lose_the_whole_snapshotis new, and keeps covering Wolverine's per-transport guard inreadTransports— the halfOptionsDescriptioncannot help with, because a throw out ofTryBuildBrokerUsagehappens before it ever runs. Backed by a newUndescribableTransport.cancellation_is_not_swallowed_as_a_section_failureuses that transport too, since it needs a section that genuinely fails to reach the cancellation check at all.Verification
net9.0andnet10.0against a cleanorigin/main+ this commit.try/catchinreadTransportsfailsone_undescribable_transport_does_not_lose_the_whole_snapshot, and the cancellation test still fails without theThrowIfCancellationRequestedinwarnAboutFailedSection.🤖 Generated with Claude Code