add support for LevelDB #10401
+1,218
−508
Draft
add support for LevelDB #10401
Cirrus CI / unittests: py3.11
failed
May 17, 2026 in 5m 55s
Task Summary
Instruction pytest failed in 04:45
Details
✅ 00:19 clone
✅ 00:03 pip
✅ 00:01 tag
✅ 00:01 libsecp_build
✅ 00:39 install
✅ 00:01 version
❌ 04:45 pytest
INFO electrum.plugin.Plugins:logging.py:240 stopped
___________________ TestWalletStorage.test_jsondb_roundtrip ____________________
self = <tests.test_wallet.TestWalletStorage testMethod=test_jsondb_roundtrip>
def test_jsondb_roundtrip(self):
> self._test_db_roundtrip(False)
tests/test_wallet.py:105:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/test_wallet.py:98: in _test_db_roundtrip
self.assertEqual(sd['1']._dump(), some_list)
^^^^^^^^^^^^^^^
electrum/stored_dict.py:443: in _dump
v = v._dump()
^^^^^^^^^
electrum/stored_dict.py:437: in _dump
for v in self:
electrum/stored_dict.py:419: in __iter__
for i in range(self._db.list_len(self.path)):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
electrum/json_db.py:211: in list_len
_list = self._subdict(path)
^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <electrum.json_db.JsonDB object at 0x7c4df2e49790>, path = ['', '1', '0']
def _subdict(self, path):
d = self.json_data
for k in path[1:]:
> d = d[k]
^^^^
E TypeError: list indices must be integers or slices, not str
electrum/json_db.py:157: TypeError
----------------------------- Captured stderr call -----------------------------
268.51 | I | simple_config.SimpleConfig | electrum directory /tmp/electrum-unittest-base-5h3qnv3y/electrum (chain=mainnet)
268.52 | I | storage.FileStorage | wallet path /tmp/electrum-unittest-base-5h3qnv3y/electrum/somewallet
268.52 | D | util.profiler | JsonDB.write_and_force_consolidation 0.0000 sec
------------------------------ Captured log call -------------------------------
INFO electrum.simple_config.SimpleConfig:logging.py:240 electrum directory /tmp/electrum-unittest-base-5h3qnv3y/electrum (chain=mainnet)
INFO electrum.storage.FileStorage:logging.py:240 wallet path /tmp/electrum-unittest-base-5h3qnv3y/electrum/somewallet
DEBUG electrum.util.profiler:logging.py:240 JsonDB.write_and_force_consolidation 0.0000 sec
=========================== short test summary info ============================
FAILED tests/test_commands.py::TestCommandsTestnet::test_onchain_history - TypeError: list indices must be integers or slices, not str
FAILED tests/test_storage_upgrade.py::TestStorageUpgrade::test_upgrade_from_client_2_0_4_trezor_multiacc - TypeError: cannot pickle '_thread.RLock' object
FAILED tests/test_storage_upgrade.py::TestStorageUpgrade::test_upgrade_from_client_2_1_1_trezor_multiacc - TypeError: cannot pickle '_thread.RLock' object
FAILED tests/test_storage_upgrade.py::TestStorageUpgrade::test_upgrade_from_client_2_2_0_trezor_multiacc - TypeError: cannot pickle '_thread.RLock' object
FAILED tests/test_storage_upgrade.py::TestStorageUpgrade::test_upgrade_from_client_2_3_2_trezor_multiacc - TypeError: cannot pickle '_thread.RLock' object
FAILED tests/test_storage_upgrade.py::TestStorageUpgrade::test_upgrade_from_client_2_4_3_trezor_multiacc - TypeError: cannot pickle '_thread.RLock' object
FAILED tests/test_storage_upgrade.py::TestStorageUpgrade::test_upgrade_from_client_2_5_4_trezor_multiacc - TypeError: cannot pickle '_thread.RLock' object
FAILED tests/test_storage_upgrade.py::TestStorageUpgrade::test_upgrade_from_client_2_9_3_old_seeded_with_realistic_history - TypeError: list indices must be integers or slices, not str
FAILED tests/test_storage_upgrade.py::TestStorageUpgrade::test_upgrade_from_client_3_3_8_xpub_with_realistic_history - TypeError: list indices must be integers or slices, not str
FAILED tests/test_wallet.py::TestWalletStorage::test_jsondb_roundtrip - TypeError: list indices must be integers or slices, not str
== 10 failed, 957 passed, 6 skipped, 254 subtests passed in 284.45s (0:04:44) ==
Loading