lnd_test: fix update channel policy flake
In this commit, we address a timeout issue on our Travis builds within the update channel policy integration test. Before asserting the policy for the channel between Alice and Bob, we need to make sure we receive the updates responsible for modifying this policy first. At times, the update wasn't received in time before checking the policy, which led to us checking the old policy. We fix this by explicitly making sure we wait for the updates first.
This commit is contained in:
parent
444a6c08cc
commit
e5052f124b
24
lnd_test.go
24
lnd_test.go
@ -793,20 +793,17 @@ func testUpdateChannelPolicy(net *lntest.NetworkHarness, t *harnessTest) {
|
|||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case graphUpdate := <-graphUpdates:
|
case graphUpdate := <-graphUpdates:
|
||||||
if len(graphUpdate.ChannelUpdates) == 0 {
|
for _, update := range graphUpdate.ChannelUpdates {
|
||||||
continue
|
fundingTxStr := txStr(update.ChanPoint)
|
||||||
}
|
|
||||||
chanUpdate := graphUpdate.ChannelUpdates[0]
|
|
||||||
fundingTxStr := txStr(chanUpdate.ChanPoint)
|
|
||||||
if _, ok := cps[fundingTxStr]; !ok {
|
if _, ok := cps[fundingTxStr]; !ok {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if chanUpdate.AdvertisingNode != advertisingNode {
|
if update.AdvertisingNode != advertisingNode {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
policy := chanUpdate.RoutingPolicy
|
policy := update.RoutingPolicy
|
||||||
if policy.FeeBaseMsat != baseFee {
|
if policy.FeeBaseMsat != baseFee {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@ -827,6 +824,7 @@ func testUpdateChannelPolicy(net *lntest.NetworkHarness, t *harnessTest) {
|
|||||||
if len(cps) == 0 {
|
if len(cps) == 0 {
|
||||||
break Loop
|
break Loop
|
||||||
}
|
}
|
||||||
|
}
|
||||||
case <-time.After(20 * time.Second):
|
case <-time.After(20 * time.Second):
|
||||||
t.Fatalf("did not receive channel update")
|
t.Fatalf("did not receive channel update")
|
||||||
}
|
}
|
||||||
@ -967,9 +965,15 @@ func testUpdateChannelPolicy(net *lntest.NetworkHarness, t *harnessTest) {
|
|||||||
|
|
||||||
// Wait for all nodes to have seen the policy updates for both of
|
// Wait for all nodes to have seen the policy updates for both of
|
||||||
// Alice's channels.
|
// Alice's channels.
|
||||||
waitForChannelUpdate(aliceUpdates, net.Alice.PubKeyStr, chanPoint3)
|
waitForChannelUpdate(
|
||||||
waitForChannelUpdate(bobUpdates, net.Alice.PubKeyStr, chanPoint3)
|
aliceUpdates, net.Alice.PubKeyStr, chanPoint, chanPoint3,
|
||||||
waitForChannelUpdate(carolUpdates, net.Alice.PubKeyStr, chanPoint3)
|
)
|
||||||
|
waitForChannelUpdate(
|
||||||
|
bobUpdates, net.Alice.PubKeyStr, chanPoint, chanPoint3,
|
||||||
|
)
|
||||||
|
waitForChannelUpdate(
|
||||||
|
carolUpdates, net.Alice.PubKeyStr, chanPoint, chanPoint3,
|
||||||
|
)
|
||||||
|
|
||||||
// And finally check that all nodes remembers the policy update they
|
// And finally check that all nodes remembers the policy update they
|
||||||
// received.
|
// received.
|
||||||
|
Loading…
Reference in New Issue
Block a user