LCOV - code coverage report
Current view: top level - src/wallet/test - walletdb_tests.cpp (source / functions) Hit Total Coverage
Test: test_dash_coverage.info Lines: 7 7 100.0 %
Date: 2026-06-25 07:23:51 Functions: 10 10 100.0 %

          Line data    Source code
       1             : // Copyright (c) 2012-2020 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             : namespace wallet {
      13         146 : BOOST_FIXTURE_TEST_SUITE(walletdb_tests, BasicTestingSetup)
      14             : 
      15         149 : BOOST_AUTO_TEST_CASE(walletdb_readkeyvalue)
      16             : {
      17             :     /**
      18             :      * When ReadKeyValue() reads from either a "key" or "wkey" it first reads the CDataStream steam into a
      19             :      * CPrivKey or CWalletKey respectively and then reads a hash of the pubkey and privkey into a uint256.
      20             :      * Wallets from 0.8 or before do not store the pubkey/privkey hash, trying to read the hash from old
      21             :      * wallets throws an exception, for backwards compatibility this read is wrapped in a try block to
      22             :      * silently fail. The test here makes sure the type of exception thrown from CDataStream::read()
      23             :      * matches the type we expect, otherwise we need to update the "key"/"wkey" exception type caught.
      24             :      */
      25           1 :     CDataStream ssValue(SER_DISK, CLIENT_VERSION);
      26           1 :     uint256 dummy;
      27           2 :     BOOST_CHECK_THROW(ssValue >> dummy, std::ios_base::failure);
      28           2 : }
      29             : 
      30         146 : BOOST_AUTO_TEST_SUITE_END()
      31             : } // namespace wallet

Generated by: LCOV version 1.16