There are many sqlite-only test failures (#23563, #23562), so make one CI task sqlite-only.
Obviously this removes bdb coverage from macOS, but I don't expect this to break very often.
There are many sqlite-only test failures (#23563, #23562), so make one CI task sqlite-only.
Obviously this removes bdb coverage from macOS, but I don't expect this to break very often.
Strong Concept ACK
#23684 :smiling_face_with_tear:
Concept ACK
On the one hand this seems alright, now that we're gradually deprecating BDB. But at the same time, we haven't finished the wallet upgrade tooling, which requires the presence of both.
Given that there are plenty of devs on macOS and all the remaining CI tasks also test bdb, I don't think this will cause any issues.
Blocked on #23686 (comment)
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--174a7506f384e20aa4161008e828411d-->
No conflicts as of last run.
next failure:
2021-12-08T17:56:13.138000Z TestFramework (ERROR): JSONRPC error
Traceback (most recent call last):
File "/private/var/folders/tn/f_9sf1xx5t14qm_6f83q3b840000gn/T/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-apple-darwin19/test/functional/test_framework/test_framework.py", line 132, in main
self.run_test()
File "/private/var/folders/tn/f_9sf1xx5t14qm_6f83q3b840000gn/T/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-apple-darwin19/test/functional/feature_rbf.py", line 79, in run_test
self.test_rpc()
File "/private/var/folders/tn/f_9sf1xx5t14qm_6f83q3b840000gn/T/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-apple-darwin19/test/functional/feature_rbf.py", line 542, in test_rpc
self.init_wallet(node=0)
File "/private/var/folders/tn/f_9sf1xx5t14qm_6f83q3b840000gn/T/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-apple-darwin19/test/functional/test_framework/test_framework.py", line 433, in init_wallet
n.createwallet(wallet_name=wallet_name, descriptors=self.options.descriptors, load_on_startup=True)
File "/private/var/folders/tn/f_9sf1xx5t14qm_6f83q3b840000gn/T/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-apple-darwin19/test/functional/test_framework/test_node.py", line 704, in createwallet
return self.__getattr__('createwallet')(wallet_name, disable_private_keys, blank, passphrase, avoid_reuse, descriptors, load_on_startup, external_signer)
File "/private/var/folders/tn/f_9sf1xx5t14qm_6f83q3b840000gn/T/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-apple-darwin19/test/functional/test_framework/coverage.py", line 49, in __call__
return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
File "/private/var/folders/tn/f_9sf1xx5t14qm_6f83q3b840000gn/T/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-apple-darwin19/test/functional/test_framework/authproxy.py", line 144, in __call__
raise JSONRPCException(response['error'], status)
test_framework.authproxy.JSONRPCException: Compiled without bdb support (required for legacy wallets) (-4)
Why not remove it from one of the Linux tasks instead?
Why not remove it from one of the Linux tasks instead?
Why, and which one? They'd also loose coverage, since we run Linux with sanitizers enabled.
next failure:
test 2021-12-09T10:13:33.507000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
File "/private/var/folders/tn/f_9sf1xx5t14qm_6f83q3b840000gn/T/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-apple-darwin/test/functional/test_framework/test_framework.py", line 132, in main
self.run_test()
File "/private/var/folders/tn/f_9sf1xx5t14qm_6f83q3b840000gn/T/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-apple-darwin/test/functional/feature_coinstatsindex.py", line 51, in run_test
self._test_coin_stats_index()
File "/private/var/folders/tn/f_9sf1xx5t14qm_6f83q3b840000gn/T/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-apple-darwin/test/functional/feature_coinstatsindex.py", line 176, in _test_coin_stats_index
assert_equal(res6['block_info'], {
File "/private/var/folders/tn/f_9sf1xx5t14qm_6f83q3b840000gn/T/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-apple-darwin/test/functional/test_framework/util.py", line 50, in assert_equal
raise AssertionError("not(%s)" % " == ".join(str(arg) for arg in (thing1, thing2) + args))
AssertionError: not(
{'prevout_spent': Decimal('111.00000000'), 'coinbase': Decimal('50.01006620'), 'new_outputs_ex_coinbase': Decimal('89.99993380'), 'unspendable': Decimal('20.99000000'), 'unspendables': {'genesis_block': Decimal('0E-8'), 'bip30': Decimal('0E-8'), 'scripts': Decimal('20.99000000'), 'unclaimed_rewards': Decimal('0E-8')}} ==
{'unspendable': Decimal('20.99000000'), 'prevout_spent': 111, 'new_outputs_ex_coinbase': Decimal('89.99993620'), 'coinbase': Decimal('50.01006380'), 'unspendables': {'genesis_block': 0, 'bip30': 0, 'scripts': Decimal('20.99000000'), 'unclaimed_rewards': 0}})
CI is green now
ACK fad2e0a36a56222ec6284a03f374e80527701d15 - clearly worthwhile having a sqlite only CI given the amount of bugs this has turned up in the past week or so. Tested running the functional tests with a --without-bdb build on macOS and Linux.