mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-16 13:01:19 +02:00
Merge 9ab9665c74 into merged_master (Bitcoin PR #15710)
This commit is contained in:
commit
f766518acd
3 changed files with 31 additions and 1 deletions
|
|
@ -300,6 +300,7 @@ if ENABLE_WALLET
|
|||
BITCOIN_TESTS += \
|
||||
wallet/test/db_tests.cpp \
|
||||
wallet/test/wallet_tests.cpp \
|
||||
wallet/test/walletdb_tests.cpp \
|
||||
wallet/test/wallet_crypto_tests.cpp \
|
||||
wallet/test/coinselector_tests.cpp \
|
||||
wallet/test/init_tests.cpp \
|
||||
|
|
|
|||
29
src/wallet/test/walletdb_tests.cpp
Normal file
29
src/wallet/test/walletdb_tests.cpp
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
// Copyright (c) 2012-2019 The Bitcoin Core developers
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#include <test/util/setup_common.h>
|
||||
#include <clientversion.h>
|
||||
#include <streams.h>
|
||||
#include <uint256.h>
|
||||
|
||||
#include <boost/test/unit_test.hpp>
|
||||
|
||||
BOOST_FIXTURE_TEST_SUITE(walletdb_tests, BasicTestingSetup)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(walletdb_readkeyvalue)
|
||||
{
|
||||
/**
|
||||
* When ReadKeyValue() reads from either a "key" or "wkey" it first reads the CDataStream steam into a
|
||||
* CPrivKey or CWalletKey respectively and then reads a hash of the pubkey and privkey into a uint256.
|
||||
* Wallets from 0.8 or before do not store the pubkey/privkey hash, trying to read the hash from old
|
||||
* wallets throws an exception, for backwards compatibility this read is wrapped in a try block to
|
||||
* silently fail. The test here makes sure the type of exception thrown from CDataStream::read()
|
||||
* matches the type we expect, otherwise we need to update the "key"/"wkey" exception type caught.
|
||||
*/
|
||||
CDataStream ssValue(SER_DISK, CLIENT_VERSION);
|
||||
uint256 dummy;
|
||||
BOOST_CHECK_THROW(ssValue >> dummy, std::ios_base::failure);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
|
|
@ -395,7 +395,7 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue,
|
|||
{
|
||||
ssValue >> hash;
|
||||
}
|
||||
catch (...) {}
|
||||
catch (const std::ios_base::failure&) {}
|
||||
|
||||
bool fSkipCheck = false;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue