mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-26 03:03:22 -03:00
test: raise explicit error if any of the needed release binaries is missing
If the `releases` directory exists, but still only a subset of the necessary previous release binaries are available, the test fails by throwing an exception (sometimes leading to follow-up exceptions like "AssertionError: [node 0] Error: no RPC connection") and printing out a stack trace, which can be confusing and at a first glance suggests that the node crashed or some alike. Improve this by checking and printing out *all* of the missing release binaries and failing with an explicit error in this case. Also add an info on how to download previous releases binaries. Noticed while testing #30328. Can be tested by e.g. $ ./test/get_previous_releases.py -b $ rm -rf ./releases/v28.0/ $ ./build/test/functional/wallet_migration.py
This commit is contained in:
parent
c506f2cee7
commit
1ea7e45a1f
1 changed files with 9 additions and 0 deletions
|
@ -526,6 +526,15 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
||||||
binary = [get_bin_from_version(v, 'bitcoind', self.options.bitcoind) for v in versions]
|
binary = [get_bin_from_version(v, 'bitcoind', self.options.bitcoind) for v in versions]
|
||||||
if binary_cli is None:
|
if binary_cli is None:
|
||||||
binary_cli = [get_bin_from_version(v, 'bitcoin-cli', self.options.bitcoincli) for v in versions]
|
binary_cli = [get_bin_from_version(v, 'bitcoin-cli', self.options.bitcoincli) for v in versions]
|
||||||
|
# Fail test if any of the needed release binaries is missing
|
||||||
|
bins_missing = False
|
||||||
|
for bin_path in binary + binary_cli:
|
||||||
|
if shutil.which(bin_path) is None:
|
||||||
|
self.log.error(f"Binary not found: {bin_path}")
|
||||||
|
bins_missing = True
|
||||||
|
if bins_missing:
|
||||||
|
raise AssertionError("At least one release binary is missing. "
|
||||||
|
"Previous releases binaries can be downloaded via `test/get_previous_releases.py -b`.")
|
||||||
assert_equal(len(extra_confs), num_nodes)
|
assert_equal(len(extra_confs), num_nodes)
|
||||||
assert_equal(len(extra_args), num_nodes)
|
assert_equal(len(extra_args), num_nodes)
|
||||||
assert_equal(len(versions), num_nodes)
|
assert_equal(len(versions), num_nodes)
|
||||||
|
|
Loading…
Add table
Reference in a new issue