Files
palladum-lightning/tests
Rusty Russell d1857fff91 pytest: add test to demonstrate gossip_store misordering node announcements.
We usually lose the node announcement on restart, because the
node_announcement message is ignored by gossmap, as it doesn't (yet!) know of the node, since the
channel_announcement does not precede the node_announcement.

This is supposed to be detected and fixed by gossipd, but this simple test shows that it is not!

```
FAILED tests/test_gossip.py::test_gossmap_lost_node - AssertionError: assert {'nodes': [{'nodeid': '022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59', 'alias': 'SILENTARTIST-v25.12-2-g703851b', 'color': '022d22', 'last_timestamp': 1765172273, 'features': '8898880a8a59a1', 'addresses': []}, {'nodeid': '0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518', 'alias': 'JUNIORBEAM-v25.12-2-g703851b', 'color': '0266e4', 'last_timestamp': 1765172273, 'features': '8898880a8a59a1', 'addresses': []}, {'nodeid': '035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d'}, {'nodeid': '0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199', 'alias': 'JUNIORFELONY-v25.12-2-g703851b', 'color': '0382ce', 'last_timestamp': 1765172273, 'features': '8898880a8a59a1', 'addresses': []}]} == {'nodes': [{'nodeid': '022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59', 'alias': 'SILENTARTIST-v25.12-2-g703851b', 'color': '022d22', 'last_timestamp': 1765172273, 'features': '8898880a8a59a1', 'addresses': []}, {'nodeid': '0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518', 'alias': 'JUNIORBEAM-v25.12-2-g703851b', 'color': '0266e4', 'last_timestamp': 1765172273, 'features': '8898880a8a59a1', 'addresses': []}, {'nodeid': '035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d', 'alias': 'HOPPINGFIRE-v25.12-2-g703851b', 'color': '035d2b', 'last_timestamp': 1765172273, 'features': '8898880a8a59a1', 'addresses': []}, {'nodeid': '0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199', 'alias': 'JUNIORFELONY-v25.12-2-g703851b', 'color': '0382ce', 'last_timestamp': 1765172273, 'features': '8898880a8a59a1', 'addresses': []}]}
  
  Differing items:
  {'nodes': [{'addresses': [], 'alias': 'SILENTARTIST-v25.12-2-g703851b', 'color': '022d22', 'features': '8898880a8a59a1...}, {'addresses': [], 'alias': 'JUNIORFELONY-v25.12-2-g703851b', 'color': '0382ce', 'features': '8898880a8a59a1', ...}]} != {'nodes': [{'addresses': [], 'alias': 'SILENTARTIST-v25.12-2-g703851b', 'color': '022d22', 'features': '8898880a8a59a1...}, {'addresses': [], 'alias': 'JUNIORFELONY-v25.12-2-g703851b', 'color': '0382ce', 'features': '8898880a8a59a1', ...}]}
  
  Full diff:
    {
        'nodes': [
            {
                'addresses': [],
                'alias': 'SILENTARTIST-v25.12-2-g703851b',
                'color': '022d22',
                'features': '8898880a8a59a1',
                'last_timestamp': 1765172273,
                'nodeid': '022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59',
            },
            {
                'addresses': [],
                'alias': 'JUNIORBEAM-v25.12-2-g703851b',
                'color': '0266e4',
                'features': '8898880a8a59a1',
                'last_timestamp': 1765172273,
                'nodeid': '0266e4598d1d3c415f572a8488830b60f7e744ed9235eb0b1ba93283b315c03518',
            },
            {
  -             'addresses': [],
  -             'alias': 'HOPPINGFIRE-v25.12-2-g703851b',
  -             'color': '035d2b',
  -             'features': '8898880a8a59a1',
  -             'last_timestamp': 1765172273,
                'nodeid': '035d2b1192dfba134e10e540875d366ebc8bc353d5aa766b80c090b39c3a5d885d',
            },
            {
                'addresses': [],
                'alias': 'JUNIORFELONY-v25.12-2-g703851b',
                'color': '0382ce',
                'features': '8898880a8a59a1',
                'last_timestamp': 1765172273,
                'nodeid': '0382ce59ebf18be7d84677c2e35f23294b9992ceca95491fcf8a56c6cb2d9de199',
            },
        ],
    }

```

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2025-12-17 11:56:42 +10:30
..
2025-11-20 16:30:50 +10:30
2025-08-11 11:06:22 +09:30
2025-11-20 16:30:50 +10:30
2025-08-11 11:06:22 +09:30
2025-12-06 12:32:38 +01:00
2025-12-06 12:32:38 +01:00
2025-12-06 12:32:38 +01:00
2025-12-06 12:32:38 +01:00