From f0659d0ab0dc31f2dbb12c0bd38d0c12c784a5fa Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Tue, 2 Feb 2021 23:15:01 +1030 Subject: [PATCH] pytest: fix false bad gossip issue in test_forward We construct the route manually so we may not have the channel_announcement yet. But we can get an update from the error packet, which can lead to: ``` 2021-01-29T01:38:23.4767334Z ValueError: 2021-01-29T01:38:23.4767987Z Node errors: 2021-01-29T01:38:23.4768767Z - lightningd-1: had bad gossip messages 2021-01-29T01:38:23.4769512Z Global errors: 2021-01-29T01:38:23.4770300Z 2021-01-29T01:38:23.4771109Z contrib/pyln-testing/pyln/testing/fixtures.py:197: ValueError ... 2021-01-29T01:38:23.7820197Z lightningd-1: 2021-01-29T01:26:57.460Z DEBUG gossipd: Extracted channel_update 01027217b3086ad9f3dee1fa55b94c5fd2a4b0637bec70ba727ba4151a8de5173ddc749db3502d41ab0ae164addc8fd013d2088b6a12a2f478ae0affa94d76d8845c06226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f000067000001000160136459010000060000000000000000000000010000000a000000003b023380 from onionreply 100d0000007500887217b3086ad9f3dee1fa55b94c5fd2a4b0637bec70ba727ba4151a8de5173ddc749db3502d41ab0ae164addc8fd013d2088b6a12a2f478ae0affa94d76d8845c06226e46111a0b59caaf126043eb5bbf28c34f3a5e332a1fc7b2b73cf188910f000067000001000160136459010000060000000000000000000000010000000a000000003b023380 2021-01-29T01:38:23.7837450Z lightningd-1: 2021-01-29T01:26:57.461Z DEBUG gossipd: Bad gossip order: WIRE_CHANNEL_UPDATE before announcement 103x1x1/0 ``` Signed-off-by: Rusty Russell --- tests/test_pay.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tests/test_pay.py b/tests/test_pay.py index 6a81cbb7e..f6a5a11bb 100644 --- a/tests/test_pay.py +++ b/tests/test_pay.py @@ -1011,10 +1011,7 @@ def test_decodepay(node_factory): @unittest.skipIf(not DEVELOPER, "Too slow without --dev-fast-gossip") def test_forward(node_factory, bitcoind): # Connect 1 -> 2 -> 3. - l1, l2, l3 = node_factory.line_graph(3, fundchannel=True) - - # Allow announce messages. - l1.bitcoin.generate_block(5) + l1, l2, l3 = node_factory.line_graph(3, wait_for_announce=True) # If they're at different block heights we can get spurious errors. sync_blockheight(bitcoind, [l1, l2, l3])