htlcswitch: fix flake in TestShutdownIfChannelClean

When Alice receives a CommitSig near the end of the test, the test
assumed that she wouldn't reply with a RevokeAndAck message before
shutdownAssert was called. This led to a test flake. Instead, only
call shutdownAssert after we've received the RevokeAndAck.
This commit is contained in:
eugene 2021-09-29 17:04:53 -04:00
parent 3385d38414
commit 49877545ba
No known key found for this signature in database
GPG key ID: 118759E83439A9B1

View file

@ -6604,9 +6604,13 @@ func TestShutdownIfChannelClean(t *testing.T) {
ctx.sendRevAndAckBobToAlice() ctx.sendRevAndAckBobToAlice()
shutdownAssert(ErrLinkFailedShutdown) shutdownAssert(ErrLinkFailedShutdown)
// There is currently no controllable breakpoint between Alice
// receiving the CommitSig and her sending out the RevokeAndAck. As
// soon as the RevokeAndAck is generated, the channel becomes clean.
// This can happen right after the CommitSig is received, so there is
// no shutdown assertion here.
// <---sig----- // <---sig-----
ctx.sendCommitSigBobToAlice(0) ctx.sendCommitSigBobToAlice(0)
shutdownAssert(ErrLinkFailedShutdown)
// ----rev----> // ----rev---->
ctx.receiveRevAndAckAliceToBob() ctx.receiveRevAndAckAliceToBob()