mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-07-03 04:01:43 +02:00
Merge bitcoin/bitcoin#26606: wallet: Implement independent BDB parser
d51fbab4b3
wallet, test: Be able to always swap BDB endianness (Ava Chow)0b753156ce
test: Test bdb_ro dump of wallet without reset LSNs (Ava Chow)c1984f1282
test: Test dumping dbs with overflow pages (Ava Chow)fd7b16e391
test: Test dumps of other endian BDB files (Ava Chow)6ace3e953f
bdb: Be able to make byteswapped databases (Ava Chow)d9878903fb
Error if LSNs are not reset (Ava Chow)4d7a3ae78e
Berkeley RO Database fuzz test (TheCharlatan)3568dce9e9
tests: Add BerkeleyRO to db prefix tests (Ava Chow)70cfbfdadf
wallettool: Optionally use BERKELEY_RO as format when dumping BDB wallets (Ava Chow)dd57713f6e
Add MakeBerkeleyRODatabase (Ava Chow)6e50bee67d
Implement handling of other endianness in BerkeleyRODatabase (Ava Chow)cdd61c9cc1
wallet: implement independent BDB deserializer in BerkeleyRODatabase (Ava Chow)ecba230979
wallet: implement BerkeleyRODatabase::Backup (Ava Chow)0c8e728476
wallet: implement BerkeleyROBatch (Ava Chow)756ff9b478
wallet: add dummy BerkeleyRODatabase and BerkeleyROBatch classes (Ava Chow)ca18aea5c4
Add AutoFile::seek and tell (Ava Chow) Pull request description: Split from #26596 This PR adds `BerkeleyRODatabase` which is an independent implementation of a BDB file parser. It provides read only access to a BDB file, and can therefore be used as a read only database backend for wallets. This will be used for dumping legacy wallet records and migrating legacy wallets without the need for BDB itself. Wallettool's `dump` command is changed to use `BerkeleyRODatabase` instead of `BerkeleyDatabase` (and `CWallet` itself) to demonstrate that this parser works and to test it against the existing wallettool functional tests. ACKs for top commit: josibake: reACKd51fbab4b3
TheCharlatan: Re-ACKd51fbab4b3
furszy: reACKd51fbab4b3
laanwj: re-ACKd51fbab4b3
theStack: ACKd51fbab4b3
Tree-SHA512: 1e7b97edf223b2974eed2e9eac1179fc82bb6359e0a66b7d2a0c8b9fa515eae9ea036f1edf7c76cdab2e75ad994962b134b41056ccfbc33b8d54f0859e86657b
This commit is contained in:
@ -419,8 +419,9 @@ class TestNode():
|
||||
return True
|
||||
|
||||
def wait_until_stopped(self, *, timeout=BITCOIND_PROC_WAIT_TIMEOUT, expect_error=False, **kwargs):
|
||||
expected_ret_code = 1 if expect_error else 0 # Whether node shutdown return EXIT_FAILURE or EXIT_SUCCESS
|
||||
self.wait_until(lambda: self.is_node_stopped(expected_ret_code=expected_ret_code, **kwargs), timeout=timeout)
|
||||
if "expected_ret_code" not in kwargs:
|
||||
kwargs["expected_ret_code"] = 1 if expect_error else 0 # Whether node shutdown return EXIT_FAILURE or EXIT_SUCCESS
|
||||
self.wait_until(lambda: self.is_node_stopped(**kwargs), timeout=timeout)
|
||||
|
||||
def replace_in_config(self, replacements):
|
||||
"""
|
||||
|
Reference in New Issue
Block a user