0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-03-06 14:19:59 -05:00
bitcoin-core/test/functional/test_framework
Ava Chow 02c7fd8df4
Merge bitcoin/bitcoin#29483: test, ci: add --v1transport option, add --v2transport to a CI task
ecc036c5d6 ci: add --v2transport to an existing CI job (Martin Zumsande)
3a25a575f0 test: ignore --v2transport for older versions instead of asserting (Martin Zumsande)
547aacff08 test: add -v1transport option and use it in test_runner (Martin Zumsande)

Pull request description:

  This suggests a strategy to run the functional tests with both v1 and v2 transport in the CI.

  **Status Quo:**
  There is both the global `--v2transport` option for the `test_runner.py` (not enabled by default), plus the possibility to specify `--v2transport` for particular tests, which is used for a handful of tests. Currently, when running `test_runner.py --v2transport`, these tests are run twice with the same `--v2transport` configuration, as has been noted in https://github.com/bitcoin/bitcoin/pull/29358#discussion_r1485626063, which is wasteful.

  **Suggested Change:**
  Fix this by adding a `--v1transport` option and using it in `test_runner.py`, so that irrespective of the global `--v2transport` flag, the  tests that run twice use v1 in one run and v2 in the other.
  Also add `--v2transport` to one CI task (`multiprocess, i686, DEBUG`).
  This means, that for each CI task, the majority of functional tests will run once using the global `--v2transport` option if provided, while a few selected tests will always run two times, once with `v1` and once with `v2`.

  **Rationale:**
  A simpler alternative would have been to remove all test-specific `--v2transport` commands from `test_runner.py` and just enable `--v2transport` option for a few CI tasks. I didn't do that because it would have meant that v2 would never be running in the CI for some platforms, and also be run a lot less locally by users and devs (who would have to actively enable the `--v2transport` option).

ACKs for top commit:
  tdb3:
    ACK for ecc036c5d6.
  achow101:
    ACK ecc036c5d6
  stratospher:
    ACK ecc036c.
  vasild:
    ACK ecc036c5d6

Tree-SHA512: 375b2293d49991f2fbd8e1bb646c0034004a09cee36063bc32996b721323eb19a43d7b2f36b3f9a3fdca846d74f48d8f1387565c03ef5d34b3481d2a0fe1d328
2024-03-11 09:22:12 -04:00
..
crypto test: speedup bip324_cipher.py unit test 2024-02-06 01:35:03 +01:00
__init__.py
address.py refactor: move address_to_scriptpubkey to address.py 2023-03-28 16:54:28 +01:00
authproxy.py test: Rename EncodeDecimal to serialization_fallback 2023-06-29 19:51:43 +02:00
bdb.py
bip340_test_vectors.csv
blockfilter.py Merge bitcoin/bitcoin#28605: Fix typos 2023-11-16 10:35:49 +00:00
blocktools.py refactor: use address_to_scriptpubkey to retrieve addresses scriptpubkey 2023-03-28 16:58:16 +01:00
coverage.py test: fix PEP484 no implicit optional argument types errors 2023-06-29 16:14:07 -06:00
descriptors.py
key.py Merge bitcoin/bitcoin#28374: test: python cryptography required for BIP 324 functional tests 2023-11-07 16:48:57 -05:00
messages.py test: Fix CPartialMerkleTree.nTransactions signedness 2024-02-01 13:18:40 +01:00
netutil.py doc: Fix Broken Links 2024-02-27 13:56:23 -08:00
p2p.py Merge bitcoin/bitcoin#29356: test: make v2transport arg in addconnection mandatory and few cleanups 2024-02-06 11:02:36 +00: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 SegwitV0SignatureMsg nLockTime signedness 2024-02-07 12:07:44 +01:00
script_util.py
segwit_addr.py
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: add -v1transport option and use it in test_runner 2024-02-29 12:41:35 -05:00
test_node.py test: ignore --v2transport for older versions instead of asserting 2024-02-29 13:50:19 -05:00
test_shell.py
util.py tests: Provide more helpful assert_equal errors 2024-02-29 20:42:58 +10: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 framework: Add and use option for tx-version in MiniWallet methods 2024-02-08 21:50:55 +00:00
wallet_util.py test: Add Wallet Unlock Context Manager 2023-10-10 18:12:31 +03:00