mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-25 10:43:19 -03:00
Merge bitcoin/bitcoin#27554: test: Treat bitcoin-wallet
binary in the same way as others
f6d7636be4
test: Treat `bitcoin-wallet` binary in the same way as others (Hennadii Stepanov)dda961cec5
test, refactor: Add `set_binary_paths` function (Hennadii Stepanov) Pull request description: This PR makes the `bitcoin-wallet` binary path customizable in the same way how it can be done now with other ones, including `bitcoind`, `bitcoin-cli` and `bitcoin-util`. ACKs for top commit: stickies-v: re-ACKf6d7636be4
Tree-SHA512: 480fae14c5440e530ba78a2be19eaaf642260070435e533fc7ab98ddcc2fcac7ad83f2c7e7c6706db3167e8391d7d4abf8784889796c218c2d5bba043144e787
This commit is contained in:
commit
5566405a95
2 changed files with 19 additions and 20 deletions
|
@ -228,6 +228,23 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
|||
|
||||
PortSeed.n = self.options.port_seed
|
||||
|
||||
def set_binary_paths(self):
|
||||
"""Update self.options with the paths of all binaries from environment variables or their default values"""
|
||||
|
||||
binaries = {
|
||||
"bitcoind": ("bitcoind", "BITCOIND"),
|
||||
"bitcoin-cli": ("bitcoincli", "BITCOINCLI"),
|
||||
"bitcoin-util": ("bitcoinutil", "BITCOINUTIL"),
|
||||
"bitcoin-wallet": ("bitcoinwallet", "BITCOINWALLET"),
|
||||
}
|
||||
for binary, [attribute_name, env_variable_name] in binaries.items():
|
||||
default_filename = os.path.join(
|
||||
self.config["environment"]["BUILDDIR"],
|
||||
"src",
|
||||
binary + self.config["environment"]["EXEEXT"],
|
||||
)
|
||||
setattr(self.options, attribute_name, os.getenv(env_variable_name, default=default_filename))
|
||||
|
||||
def setup(self):
|
||||
"""Call this method to start up the test framework object with options set."""
|
||||
|
||||
|
@ -237,24 +254,7 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
|||
|
||||
config = self.config
|
||||
|
||||
fname_bitcoind = os.path.join(
|
||||
config["environment"]["BUILDDIR"],
|
||||
"src",
|
||||
"bitcoind" + config["environment"]["EXEEXT"],
|
||||
)
|
||||
fname_bitcoincli = os.path.join(
|
||||
config["environment"]["BUILDDIR"],
|
||||
"src",
|
||||
"bitcoin-cli" + config["environment"]["EXEEXT"],
|
||||
)
|
||||
fname_bitcoinutil = os.path.join(
|
||||
config["environment"]["BUILDDIR"],
|
||||
"src",
|
||||
"bitcoin-util" + config["environment"]["EXEEXT"],
|
||||
)
|
||||
self.options.bitcoind = os.getenv("BITCOIND", default=fname_bitcoind)
|
||||
self.options.bitcoincli = os.getenv("BITCOINCLI", default=fname_bitcoincli)
|
||||
self.options.bitcoinutil = os.getenv("BITCOINUTIL", default=fname_bitcoinutil)
|
||||
self.set_binary_paths()
|
||||
|
||||
os.environ['PATH'] = os.pathsep.join([
|
||||
os.path.join(config['environment']['BUILDDIR'], 'src'),
|
||||
|
|
|
@ -32,12 +32,11 @@ class ToolWalletTest(BitcoinTestFramework):
|
|||
self.skip_if_no_wallet_tool()
|
||||
|
||||
def bitcoin_wallet_process(self, *args):
|
||||
binary = self.config["environment"]["BUILDDIR"] + '/src/bitcoin-wallet' + self.config["environment"]["EXEEXT"]
|
||||
default_args = ['-datadir={}'.format(self.nodes[0].datadir), '-chain=%s' % self.chain]
|
||||
if not self.options.descriptors and 'create' in args:
|
||||
default_args.append('-legacy')
|
||||
|
||||
return subprocess.Popen([binary] + default_args + list(args), stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
|
||||
return subprocess.Popen([self.options.bitcoinwallet] + default_args + list(args), stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
|
||||
|
||||
def assert_raises_tool_error(self, error, *args):
|
||||
p = self.bitcoin_wallet_process(*args)
|
||||
|
|
Loading…
Add table
Reference in a new issue