From d8d2a54c71c197378138029eb1ef8991ba434290 Mon Sep 17 00:00:00 2001 From: yyforyongyu Date: Fri, 22 Nov 2024 23:16:33 +0800 Subject: [PATCH] lntest: fix flakeness in `openChannelsForNodes` We now make sure the channel participants have heard their private channel when opening channels. --- lntest/harness.go | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/lntest/harness.go b/lntest/harness.go index 1dac9a12d8..82adbd9891 100644 --- a/lntest/harness.go +++ b/lntest/harness.go @@ -2262,12 +2262,27 @@ func (h *HarnessTest) openChannelsForNodes(nodes []*node.HarnessNode, } resp := h.OpenMultiChannelsAsync(reqs) - // Make sure the nodes know each other's channels if they are public. - if !p.Private { + // If the channels are private, make sure the channel participants know + // the relevant channel. + if p.Private { + for i, chanPoint := range resp { + // Get the channel participants - for n channels we + // would have n+1 nodes. + nodeA, nodeB := nodes[i], nodes[i+1] + h.AssertChannelInGraph(nodeA, chanPoint) + h.AssertChannelInGraph(nodeB, chanPoint) + } + } else { + // Make sure the all nodes know all the channels if they are + // public. for _, node := range nodes { for _, chanPoint := range resp { h.AssertChannelInGraph(node, chanPoint) } + + // Make sure every node has updated its cached graph + // about the edges as indicated in `DescribeGraph`. + h.AssertNumEdges(node, len(resp), false) } }