mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-03 09:56:38 -05:00
Merge #20262: tests: Skip --descriptor tests if sqlite is not compiled
7411876c75
Ensure a legacy wallet for BDB format check (Andrew Chow)586640381a
Skip --descriptor tests if sqlite is not compiled (Andrew Chow) Pull request description: #20156 allows sqlite to not be compiled by configuring `--without-sqlite`. However doing so and then running the test runner will result in all of the `--descriptor` tests to fail. We should be skipping those tests if sqlite was not compiled. ACKs for top commit: practicalswift: ACK7411876c75
: patch looks correct Sjors: tACK7411876c75
ryanofsky: Code review ACK7411876c75
hebasto: ACK7411876c75
, tested on Linux Mint 20 (x86_64), tests pass for binaries compiled with: Tree-SHA512: 1d635a66d2b7bb865300144dfefcfdaf86133aaaa020c8f440a471476ac1205d32f2df704906ce6c2ea48ddf791c3c95055f6291340b4f7b353c1b02cab5cabe
This commit is contained in:
commit
0c2eb7f8de
5 changed files with 20 additions and 3 deletions
|
@ -16,6 +16,7 @@ RPCAUTH=@abs_top_srcdir@/share/rpcauth/rpcauth.py
|
|||
[components]
|
||||
# Which components are enabled. These are commented out by `configure` if they were disabled when running config.
|
||||
@ENABLE_WALLET_TRUE@ENABLE_WALLET=true
|
||||
@USE_SQLITE_TRUE@USE_SQLITE=true
|
||||
@BUILD_BITCOIN_CLI_TRUE@ENABLE_CLI=true
|
||||
@BUILD_BITCOIN_WALLET_TRUE@ENABLE_WALLET_TOOL=true
|
||||
@BUILD_BITCOIND_TRUE@ENABLE_BITCOIND=true
|
||||
|
|
|
@ -769,6 +769,13 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
|||
"""Skip the running test if wallet has not been compiled."""
|
||||
if not self.is_wallet_compiled():
|
||||
raise SkipTest("wallet has not been compiled.")
|
||||
if self.options.descriptors:
|
||||
self.skip_if_no_sqlite()
|
||||
|
||||
def skip_if_no_sqlite(self):
|
||||
"""Skip the running test if sqlite has not been compiled."""
|
||||
if not self.is_sqlite_compiled():
|
||||
raise SkipTest("sqlite has not been compiled.")
|
||||
|
||||
def skip_if_no_wallet_tool(self):
|
||||
"""Skip the running test if bitcoin-wallet has not been compiled."""
|
||||
|
@ -808,3 +815,7 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
|||
def is_zmq_compiled(self):
|
||||
"""Checks whether the zmq module was compiled."""
|
||||
return self.config["components"].getboolean("ENABLE_ZMQ")
|
||||
|
||||
def is_sqlite_compiled(self):
|
||||
"""Checks whether the wallet module was compiled."""
|
||||
return self.config["components"].getboolean("USE_SQLITE")
|
||||
|
|
|
@ -171,7 +171,7 @@ BASE_SCRIPTS = [
|
|||
'rpc_net.py',
|
||||
'wallet_keypool.py',
|
||||
'wallet_keypool.py --descriptors',
|
||||
'wallet_descriptor.py',
|
||||
'wallet_descriptor.py --descriptors',
|
||||
'p2p_nobloomfilter_messages.py',
|
||||
'p2p_filter.py',
|
||||
'rpc_setban.py',
|
||||
|
@ -208,7 +208,7 @@ BASE_SCRIPTS = [
|
|||
'mempool_expiry.py',
|
||||
'wallet_import_rescan.py',
|
||||
'wallet_import_with_label.py',
|
||||
'wallet_importdescriptors.py',
|
||||
'wallet_importdescriptors.py --descriptors',
|
||||
'wallet_upgradewallet.py',
|
||||
'rpc_bind.py --ipv4',
|
||||
'rpc_bind.py --ipv6',
|
||||
|
|
|
@ -16,18 +16,22 @@ class WalletDescriptorTest(BitcoinTestFramework):
|
|||
self.setup_clean_chain = True
|
||||
self.num_nodes = 1
|
||||
self.extra_args = [['-keypool=100']]
|
||||
self.wallet_names = []
|
||||
|
||||
def skip_test_if_missing_module(self):
|
||||
self.skip_if_no_wallet()
|
||||
self.skip_if_no_sqlite()
|
||||
|
||||
def run_test(self):
|
||||
# Make a legacy wallet and check it is BDB
|
||||
self.nodes[0].createwallet(wallet_name="legacy1", descriptors=False)
|
||||
wallet_info = self.nodes[0].getwalletinfo()
|
||||
assert_equal(wallet_info['format'], 'bdb')
|
||||
self.nodes[0].unloadwallet("legacy1")
|
||||
|
||||
# Make a descriptor wallet
|
||||
self.log.info("Making a descriptor wallet")
|
||||
self.nodes[0].createwallet(wallet_name="desc1", descriptors=True)
|
||||
self.nodes[0].unloadwallet(self.default_wallet_name)
|
||||
|
||||
# A descriptor wallet should have 100 addresses * 3 types = 300 keys
|
||||
self.log.info("Checking wallet info")
|
||||
|
|
|
@ -37,6 +37,7 @@ class ImportDescriptorsTest(BitcoinTestFramework):
|
|||
|
||||
def skip_test_if_missing_module(self):
|
||||
self.skip_if_no_wallet()
|
||||
self.skip_if_no_sqlite()
|
||||
|
||||
def test_importdesc(self, req, success, error_code=None, error_message=None, warnings=None, wallet=None):
|
||||
"""Run importdescriptors and assert success"""
|
||||
|
|
Loading…
Add table
Reference in a new issue