chancloser: stabilize remote RBF coop tests #10353
Open
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.
Change Description
CI started panicking in
TestRbfChannelFlushingTransitions/early_offer/TestRbfCloseClosingNegotiationRemote(see GitHub Actions run https://github.com/lightningnetwork/lnd/actions/runs/19155841408/job/54756127218?pr=10352) because the cached remote offer could fire before the test harness registered its mockCloseSignerexpectations. When that happened, the mock complained thatCreateCloseProposalwas unexpected:Fix this by letting
assertSingleRemoteRbfIterationtake a trigger callback. Tests that rely on asynchronously replayed offers now install their expectations first and then fire the event via the callback. All other call sites pass nil, preserving their existing behavior.Steps to Test
Reproduction (on master)
lnwallet/chancloser/rbf_coop_test.gotime.Sleep(10 * time.Millisecond)before the first call ofcloseHarness.assertSingleRemoteRbfIteration(in functionTestRbfChannelFlushingTransitions).go test ./lnwallet/chancloser -run TestRbfChannelFlushingTransitions/early_offerThe panic reproduces immediately.
Pull Request Checklist
Testing
Code Style and Documentation
[skip ci]in the commit message for small changes.📝 Please see our Contribution Guidelines for further guidance.