Skip to content

Commit

Permalink
itest: fix flake in testCoopCloseWithExternalDeliveryImpl
Browse files Browse the repository at this point in the history
The response from `ClosedChannels` may not be up-to-date, so we wrap it
inside a wait closure.
  • Loading branch information
yyforyongyu committed Dec 12, 2024
1 parent e1407ff commit cc89b32
Showing 1 changed file with 18 additions and 7 deletions.
25 changes: 18 additions & 7 deletions itest/lnd_coop_close_external_delivery_test.go
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
package itest

import (
"fmt"
"testing"

"github.com/btcsuite/btcd/btcutil"
"github.com/lightningnetwork/lnd/lnrpc"
"github.com/lightningnetwork/lnd/lntest"
"github.com/lightningnetwork/lnd/lntest/wait"
"github.com/stretchr/testify/require"
)

Expand Down Expand Up @@ -114,11 +116,20 @@ func testCoopCloseWithExternalDeliveryImpl(ht *lntest.HarnessTest,
// assertion. We want to ensure that even though alice's delivery
// address is set to an address in bob's wallet, we should still show
// the balance as settled.
closed := alice.RPC.ClosedChannels(&lnrpc.ClosedChannelsRequest{
Cooperative: true,
})

// The settled balance should never be zero at this point.
require.NotZero(ht, len(closed.Channels))
require.NotZero(ht, closed.Channels[0].SettledBalance)
err = wait.NoError(func() error {
closed := alice.RPC.ClosedChannels(&lnrpc.ClosedChannelsRequest{
Cooperative: true,
})

if len(closed.Channels) == 0 {
return fmt.Errorf("expected closed channel not found")
}

if closed.Channels[0].SettledBalance == 0 {
return fmt.Errorf("expected settled balance to be zero")
}

return nil
}, defaultTimeout)
require.NoError(ht, err, "timeout checking closed channels")
}

0 comments on commit cc89b32

Please sign in to comment.