Consider the following MRE:
#!/usr/bin/env python3
# File: test/functional/MRE.py
from test_framework.test_framework import BitcoinTestFramework
class MRE(BitcoinTestFramework):
def set_test_params(self):
self.num_nodes = 1
self.setup_clean_chain = False # Test succeeds when True.
def skip_test_if_missing_module(self):
self.skip_if_no_wallet()
def run_test(self):
self.log.info("OK")
if __name__ == '__main__':
MRE(__file__).main()
On OpenIndiana:
$ $ env CXXFLAGS="-pthread" cmake -B build -DENABLE_IPC=OFF
$ cmake --build build
$ python3.14 ./build/test/functional/MRE.py
2025-12-28T17:43:24.329616Z TestFramework (INFO): PRNG seed is: 2377333319933758475
2025-12-28T17:43:24.331825Z TestFramework (INFO): Initializing test directory /tmp/bitcoin_func_test_f81ll6fk
2025-12-28T17:43:24.627126Z TestFramework (ERROR): Unexpected exception
Traceback (most recent call last):
File "/export/home/hebasto/dev/bitcoin/test/functional/test_framework/test_framework.py", line 138, in main
self.setup()
~~~~~~~~~~^^
File "/export/home/hebasto/dev/bitcoin/test/functional/test_framework/test_framework.py", line 269, in setup
self.setup_network()
~~~~~~~~~~~~~~~~~~^^
File "/export/home/hebasto/dev/bitcoin/test/functional/test_framework/test_framework.py", line 360, in setup_network
self.setup_nodes()
~~~~~~~~~~~~~~~~^^
File "/export/home/hebasto/dev/bitcoin/test/functional/test_framework/test_framework.py", line 384, in setup_nodes
self.import_deterministic_coinbase_privkeys()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/export/home/hebasto/dev/bitcoin/test/functional/test_framework/test_framework.py", line 401, in import_deterministic_coinbase_privkeys
self.init_wallet(node=i)
~~~~~~~~~~~~~~~~^^^^^^^^
File "/export/home/hebasto/dev/bitcoin/test/functional/test_framework/test_framework.py", line 408, in init_wallet
n.createwallet(wallet_name=wallet_name, load_on_startup=True)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/export/home/hebasto/dev/bitcoin/test/functional/test_framework/coverage.py", line 50, in __call__
return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
File "/export/home/hebasto/dev/bitcoin/test/functional/test_framework/authproxy.py", line 156, in __call__
raise JSONRPCException(response['error'], status)
test_framework.authproxy.JSONRPCException: Wallet file verification failed. SQLiteDatabase: Failed to open database: unable to open database file
(-4)
2025-12-28T17:43:24.682846Z TestFramework (INFO): Not stopping nodes as test failed. The dangling processes will be cleaned up later.
2025-12-28T17:43:24.683153Z TestFramework (WARNING): Not cleaning up dir /tmp/bitcoin_func_test_f81ll6fk
2025-12-28T17:43:24.683377Z TestFramework (ERROR): Test failed. Test logging available at /tmp/bitcoin_func_test_f81ll6fk/test_framework.log
2025-12-28T17:43:24.684155Z TestFramework (ERROR):
2025-12-28T17:43:24.684615Z TestFramework (ERROR): Hint: Call /export/home/hebasto/dev/bitcoin/test/functional/combine_logs.py '/tmp/bitcoin_func_test_f81ll6fk' to consolidate all logs
2025-12-28T17:43:24.684729Z TestFramework (ERROR):
2025-12-28T17:43:24.684901Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2025-12-28T17:43:24.685270Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2025-12-28T17:43:24.685378Z TestFramework (ERROR):
[node 0] Cleaning up leftover process