File tree Expand file tree Collapse file tree 2 files changed +30
-0
lines changed Expand file tree Collapse file tree 2 files changed +30
-0
lines changed Original file line number Diff line number Diff line change @@ -217,6 +217,7 @@ BITCOIN_TESTS += \
217
217
wallet/test/db_tests.cpp \
218
218
wallet/test/psbt_wallet_tests.cpp \
219
219
wallet/test/wallet_tests.cpp \
220
+ wallet/test/walletdb_tests.cpp \
220
221
wallet/test/wallet_crypto_tests.cpp \
221
222
wallet/test/coinselector_tests.cpp \
222
223
wallet/test/init_tests.cpp \
Original file line number Diff line number Diff line change
1
+ // Copyright (c) 2012-2019 The Bitcoin Core developers
2
+ // Distributed under the MIT software license, see the accompanying
3
+ // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
+
5
+ #include < test/util/setup_common.h>
6
+ #include < clientversion.h>
7
+ #include < streams.h>
8
+ #include < uint256.h>
9
+
10
+ #include < boost/test/unit_test.hpp>
11
+
12
+ BOOST_FIXTURE_TEST_SUITE (walletdb_tests, BasicTestingSetup)
13
+
14
+ BOOST_AUTO_TEST_CASE(walletdb_readkeyvalue)
15
+ {
16
+ /* *
17
+ * When ReadKeyValue() reads from either a "key" or "wkey" it first reads the CDataStream steam into a
18
+ * CPrivKey or CWalletKey respectively and then reads a hash of the pubkey and privkey into a uint256.
19
+ * Wallets from 0.8 or before do not store the pubkey/privkey hash, trying to read the hash from old
20
+ * wallets throws an exception, for backwards compatibility this read is wrapped in a try block to
21
+ * silently fail. The test here makes sure the type of exception thrown from CDataStream::read()
22
+ * matches the type we expect, otherwise we need to update the "key"/"wkey" exception type caught.
23
+ */
24
+ CDataStream ssValue (SER_DISK, CLIENT_VERSION);
25
+ uint256 dummy;
26
+ BOOST_CHECK_THROW (ssValue >> dummy, std::ios_base::failure);
27
+ }
28
+
29
+ BOOST_AUTO_TEST_SUITE_END ()
You can’t perform that action at this time.
0 commit comments