wallet: wallet_migration.py fails on sqlite-only build #31447
Closed
Description
Steps to reproduce:
- sqlite-only build (the default)
./bld-cmake/test/functional/wallet_migration.py
2024-12-07T04:56:18.691000Z TestFramework (INFO): PRNG seed is: 7532643259753153678
2024-12-07T04:56:18.691000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241207_042808/wallet_migration_2
2024-12-07T04:56:20.630000Z TestFramework (INFO): Test migration of a basic keys only wallet without balance
2024-12-07T04:56:20.915000Z TestFramework (INFO): Test migration of a basic keys only wallet with a balance
2024-12-07T04:56:26.448000Z TestFramework (INFO): Test backup file can be successfully restored
2024-12-07T04:56:27.024000Z TestFramework (INFO): Test migration of a wallet with balance received on the seed
2024-12-07T04:56:28.270000Z TestFramework (INFO): Test "nothing to migrate" when the user tries to migrate a loaded wallet with no legacy data
2024-12-07T04:56:28.271000Z TestFramework (INFO): Test "nothing to migrate" when the user tries to migrate an unloaded wallet with no legacy data
2024-12-07T04:56:28.273000Z TestFramework (INFO): Test migration of a wallet with all keys for a multisig
2024-12-07T04:56:28.473000Z TestFramework (INFO): Test migration of a wallet that has some keys in a multisig
2024-12-07T04:56:28.798000Z TestFramework (INFO): Test migration of a wallet with watchonly imports
2024-12-07T04:56:29.107000Z TestFramework (INFO): Test migration of a pure watchonly wallet
2024-12-07T04:56:29.217000Z TestFramework (INFO): Test migration of a pure watchonly wallet with pubkeys in keypool
2024-12-07T04:56:29.326000Z TestFramework (INFO): Test migration of a wallet using old pk() coinbases
2024-12-07T04:56:29.529000Z TestFramework (INFO): Test migration of an encrypted wallet
2024-12-07T04:56:31.123000Z TestFramework (INFO): Check migratewallet errors for nonexistent wallets
2024-12-07T04:56:31.124000Z TestFramework (INFO): Test migration of a wallet that isn't loaded, specified by path
2024-12-07T04:56:31.300000Z TestFramework (INFO): Test migration of the wallet named as the empty string
2024-12-07T04:56:31.450000Z TestFramework (INFO): Test migration of a wallet that is not in a wallet directory
2024-12-07T04:56:31.584000Z TestFramework (INFO): Test migration of address book data
2024-12-07T04:56:35.062000Z TestFramework (INFO): Test migration of watch-only raw p2sh script
2024-12-07T04:56:35.346000Z TestFramework (INFO): Test migration when wallet contains conflicting transactions
2024-12-07T04:56:35.609000Z TestFramework (INFO): Test migration when wallet contains a hybrid pubkey
2024-12-07T04:56:35.829000Z TestFramework (INFO): Test that a failed migration is cleaned up
2024-12-07T04:56:35.968000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
File "/tmp/cirrus-ci-build/bitcoin-core/test/functional/test_framework/util.py", line 160, in try_rpc
fun(*args, **kwds)
File "/tmp/cirrus-ci-build/bitcoin-core/test/functional/test_framework/coverage.py", line 50, in __call__
return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/cirrus-ci-build/bitcoin-core/test/functional/test_framework/authproxy.py", line 146, in __call__
raise JSONRPCException(response['error'], status)
test_framework.authproxy.JSONRPCException: Wallet file verification failed. Failed to open database path '/tmp/test_runner_₿_🏃_20241207_042808/wallet_migration_2/node0/regtest/wallets/failed'. Build does not support Berkeley DB database format.
Unable to restore backup of wallet. (-4)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/tmp/cirrus-ci-build/bitcoin-core/test/functional/test_framework/test_framework.py", line 135, in main
self.run_test()
File "/tmp/cirrus-ci-build/bitcoin-core/bld-cov/test/functional/wallet_migration.py", line 1031, in run_test
self.test_failed_migration_cleanup()
File "/tmp/cirrus-ci-build/bitcoin-core/bld-cov/test/functional/wallet_migration.py", line 895, in test_failed_migration_cleanup
assert_raises_rpc_error(-4, "Failed to create database", self.master_node.migratewallet, "failed")
File "/tmp/cirrus-ci-build/bitcoin-core/test/functional/test_framework/util.py", line 151, in assert_raises_rpc_error
assert try_rpc(code, message, fun, *args, **kwds), "No exception raised"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/cirrus-ci-build/bitcoin-core/test/functional/test_framework/util.py", line 166, in try_rpc
raise AssertionError(
AssertionError: Expected substring not found in error message:
substring: 'Failed to create database'
error message: 'Wallet file verification failed. Failed to open database path '/tmp/test_runner_₿_🏃_20241207_042808/wallet_migration_2/node0/regtest/wallets/failed'. Build does not support Berkeley DB database format.
Unable to restore backup of wallet.'.