From 9d1b5a654e99febff568797ca93d4c8e7ac17ee1 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Thu, 30 Jun 2022 09:48:48 +0930 Subject: [PATCH] pytest: fix flake in test_node_reannounce Fixes 25699994e5941fb165cf379ff3a688981bcdaddb (pytest: fix flake in test_node_reannounce). Converting ->set->list does not give deterministic order, so we can end up with the two lists differing due to order: ``` May send its own announcement *twice*, since it always spams us. msgs2 = list(set(msgs2)) > assert msgs == msgs2 E AssertionError: assert ['01012ff5580...000000000000'] == ['01014973d81...000000000000'] E At index 0 diff: '01012ff55800f5b9492021372d74df4d6547bb0d32aec8d4c932a8c3b044e4bd983c429154e73091b0a2aff1cf9bbf16b37e6e9dd10ce4c2d949217366472acd341b0007800000080269a262bbd1750266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c035180266e453454e494f524245414d000000000000000000000000000000000000000000000000' != '01014973d8160dd8fc28e8fb25c40b9d5c68aed8dfb36af9fc13e4d2040fb3718553051a188ce98239c0bed138e1f8713a64acc7de98c183c9597fa58bf37f0b89bb0007800000080269a262bbd16c022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59022d2253494c454e544152544953542d336333626132392d6d6f6464656400000000000000' E Full diff: E [ E + '01012ff55800f5b9492021372d74df4d6547bb0d32aec8d4c932a8c3b044e4bd983c429154e73091b0a2aff1cf9bbf16b37e6e9dd10ce4c2d949217366472acd341b0007800000080269a262bbd1750266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c035180266e453454e494f524245414d000000000000000000000000000000000000000000000000', E '01014973d8160dd8fc28e8fb25c40b9d5c68aed8dfb36af9fc13e4d2040fb3718553051a188ce98239c0bed138e1f8713a64acc7de98c183c9597fa58bf37f0b89bb0007800000080269a262bbd16c022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59022d2253494c454e544152544953542d336333626132392d6d6f6464656400000000000000', E - '01012ff55800f5b9492021372d74df4d6547bb0d32aec8d4c932a8c3b044e4bd983c429154e73091b0a2aff1cf9bbf16b37e6e9dd10ce4c2d949217366472acd341b0007800000080269a262bbd1750266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c035180266e453454e494f524245414d000000000000000000000000000000000000000000000000', E ] `` Signed-off-by: Rusty Russell --- tests/test_gossip.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/test_gossip.py b/tests/test_gossip.py index 4db2a4124..eabfdb96e 100644 --- a/tests/test_gossip.py +++ b/tests/test_gossip.py @@ -1281,8 +1281,7 @@ def test_node_reannounce(node_factory, bitcoind, chainparams): filters=['0109', '0107', '0102', '0100', '0012']) # May send its own announcement *twice*, since it always spams us. - msgs2 = list(set(msgs2)) - assert msgs == msgs2 + assert set(msgs) == set(msgs2) # Won't have queued up another one, either. assert not l1.daemon.is_in_log('node_announcement: delaying') @@ -1308,8 +1307,7 @@ def test_node_reannounce(node_factory, bitcoind, chainparams): # channel_announcement and channel_updates. # And pings. filters=['0109', '0107', '0102', '0100', '0012']) - msgs2 = list(set(msgs2)) - assert msgs != msgs2 + assert set(msgs) != set(msgs2) def test_gossipwith(node_factory):