mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-31 10:41:08 +00:00
Merge bitcoin/bitcoin#32921: test: less ambiguous error if bitcoind is missing
83bb41455715a9e05320ba791987204031626c10 test: less ambiguous error if bitcoind is missing (Sjors Provoost)
Pull request description:
Before this change, when a functional test is run without building the source, the error message suggested that previous release binaries were missing.
When no previous release version is set, make the error message more specifically about bitcoind.
To test, try this before and after:
```sh
git clean -dfx
cmake -B build
build/test/functional/mining_basic.py
cmake --build build
build/test/functional/mining_basic.py
build/test/functional/wallet_backwards_compatibility.py
test/get_previous_releases.py
build/test/functional/wallet_backwards_compatibility.py
```
ACKs for top commit:
achow101:
ACK 83bb41455715a9e05320ba791987204031626c10
janb84:
ACK 83bb41455715a9e05320ba791987204031626c10
w0xlt:
ACK 83bb414557
Tree-SHA512: c6df65019de99d6c214951cf70944c4ddca9b635c5ab60ac2c47e4589478e9c65d5e079c394ace9b470a7eaeea3c9cf68b7246dd413e802c4a1e071913a7fc32
This commit is contained in:
commit
bad998b7c0
@ -545,18 +545,23 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
||||
extra_args[i] = extra_args[i] + ["-whitelist=noban,in,out@127.0.0.1"]
|
||||
if versions is None:
|
||||
versions = [None] * num_nodes
|
||||
bin_dirs = [bin_dir_from_version(v) for v in versions]
|
||||
# Fail test if any of the needed release binaries is missing
|
||||
bins_missing = False
|
||||
for bin_path in (argv[0] for bin_dir in bin_dirs
|
||||
for binaries in (self.get_binaries(bin_dir),)
|
||||
for argv in (binaries.node_argv(), binaries.rpc_argv())):
|
||||
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`.")
|
||||
bin_dirs = []
|
||||
for v in versions:
|
||||
bin_dir = bin_dir_from_version(v)
|
||||
|
||||
# Fail test if any of the needed release binaries is missing
|
||||
for bin_path in (argv[0] for binaries in (self.get_binaries(bin_dir),)
|
||||
for argv in (binaries.node_argv(), binaries.rpc_argv())):
|
||||
|
||||
if shutil.which(bin_path) is None:
|
||||
self.log.error(f"Binary not found: {bin_path}")
|
||||
if v is None:
|
||||
raise AssertionError("At least one binary is missing, did you compile?")
|
||||
raise AssertionError("At least one release binary is missing. "
|
||||
"Previous releases binaries can be downloaded via `test/get_previous_releases.py`.")
|
||||
|
||||
bin_dirs.append(bin_dir)
|
||||
|
||||
assert_equal(len(extra_confs), num_nodes)
|
||||
assert_equal(len(extra_args), num_nodes)
|
||||
assert_equal(len(versions), num_nodes)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user