bitcoin/test/functional/test_framework
Ava Chow e163d864d3
Merge bitcoin/bitcoin#30118: test: improve robustness of connect_nodes()
6629d1d0f8 test: improve robustness of connect_nodes() (furszy)

Pull request description:

  Decoupled from #27837 because this can help other too, found it investigating a CI failure https://cirrus-ci.com/task/5805115213348864?logs=ci#L3200.

  The `connect_nodes` function in the test framework relies on a stable number of peer
  connections to verify that the new connection between the nodes is successfully established.
  This approach is fragile, as any of the peers involved in the process can drop, lose, or
  create a connection at any step, causing subsequent `wait_until` checks to stall indefinitely
  even when the peers in question were connected successfully.

  This commit improves the situation by using the nodes' subversion and the connection
  direction (inbound/outbound) to identify the exact peer connection and perform the
  checks exclusively on it.

ACKs for top commit:
  stratospher:
    reACK 6629d1d.
  achow101:
    ACK 6629d1d0f8
  maflcko:
    utACK 6629d1d0f8
  AngusP:
    re-ACK 6629d1d0f8

Tree-SHA512: 5f345c0ce49ea81b643e97c5cffd133e182838752c27592fcdeac14ad10919fb4b7ff38e289e42a7c3c638a170bd0d0b7a9cd493898997a2082a7b7ceef4aeeb
2024-05-23 10:00:00 -04:00
..
crypto crypto: add NUMS_H const 2024-05-14 10:24:31 +02:00
__init__.py Rename rpc-tests directory to functional 2017-03-20 10:40:31 -04:00
address.py test: add MiniWallet tagging support to avoid UTXO mixing 2024-05-05 12:33:34 +02:00
authproxy.py rpc: JSON-RPC 2.0 should not respond to "notifications" 2024-05-14 11:28:43 -04:00
bdb.py scripted-diff: Bump copyright headers 2021-11-10 11:10:24 +01:00
bip340_test_vectors.csv tests: add BIP340 Schnorr signature support to test framework 2020-10-12 17:18:47 -07:00
blockfilter.py Merge bitcoin/bitcoin#28605: Fix typos 2023-11-16 10:35:49 +00:00
blocktools.py [test]: remove duplicate WITNESS_SCALE_FACTOR 2024-05-03 10:30:50 +01:00
coverage.py test: fix PEP484 no implicit optional argument types errors 2023-06-29 16:14:07 -06:00
descriptors.py Output a descriptor in createmultisig and addmultisigaddress 2020-01-30 23:55:36 -05:00
key.py Merge bitcoin/bitcoin#28374: test: python cryptography required for BIP 324 functional tests 2023-11-07 16:48:57 -05:00
mempool_util.py test: use tagged ephemeral MiniWallet instance in fill_mempool 2024-05-05 12:36:51 +02:00
messages.py test: p2p: check disconnect due to lack of desirable service flags 2024-03-11 15:23:09 +01:00
netutil.py test: cover UNIX sockets in feature_proxy.py 2024-03-01 14:47:29 -05:00
p2p.py test: Extends wait_for_getheaders so a specific block hash can be checked 2024-04-04 13:36:45 +02:00
psbt.py test: PSBT: eliminate magic numbers for global unsigned tx key (0) 2023-03-04 12:43:38 +01:00
script.py test: fix accurate multisig sigop count (BIP16), add unit test 2024-03-10 20:21:48 +01:00
script_util.py scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
segwit_addr.py Use Bech32m encoding for v1+ segwit addresses 2021-03-16 10:48:36 -07:00
socks5.py test: add keep_alive option to socks5 proxy in test_framework 2023-07-10 10:07:45 -04:00
test_framework.py test: improve robustness of connect_nodes() 2024-05-21 10:58:44 -03:00
test_node.py Merge bitcoin/bitcoin#30118: test: improve robustness of connect_nodes() 2024-05-23 10:00:00 -04:00
test_shell.py scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
util.py test: refactor: move fill_mempool to new module mempool_util 2024-05-05 12:33:30 +02:00
v2_p2p.py [test] make v2transport arg in addconnection mandatory and few cleanups 2024-01-31 22:37:54 +05:30
wallet.py test: add MiniWallet tagging support to avoid UTXO mixing 2024-05-05 12:33:34 +02:00
wallet_util.py Fix typos in description.md and wallet_util.py 2024-04-25 16:14:10 +08:00