Coverage Report

Created: 2026-04-29 19:21

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/tmp/bitcoin/src/wallet/test/init_test_fixture.cpp
Line
Count
Source
1
// Copyright (c) 2018-present 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 <common/args.h>
6
#include <univalue.h>
7
#include <util/chaintype.h>
8
#include <util/check.h>
9
#include <util/fs.h>
10
11
#include <fstream>
12
#include <string>
13
14
#include <wallet/test/init_test_fixture.h>
15
16
namespace wallet {
17
7
InitWalletDirTestingSetup::InitWalletDirTestingSetup(const ChainType chainType) : BasicTestingSetup(chainType)
18
7
{
19
7
    m_wallet_loader = MakeWalletLoader(*m_node.chain, m_args);
20
21
7
    const auto sep = fs::path::preferred_separator;
22
23
7
    m_datadir = m_args.GetDataDirNet();
24
7
    m_cwd = fs::current_path();
25
26
7
    m_walletdir_path_cases["default"] = m_datadir / "wallets";
27
7
    m_walletdir_path_cases["custom"] = m_datadir / "my_wallets";
28
7
    m_walletdir_path_cases["nonexistent"] = m_datadir / "path_does_not_exist";
29
7
    m_walletdir_path_cases["file"] = m_datadir / "not_a_directory.dat";
30
7
    m_walletdir_path_cases["trailing"] = (m_datadir / "wallets") + sep;
31
7
    m_walletdir_path_cases["trailing2"] = (m_datadir / "wallets") + sep + sep;
32
33
7
    fs::current_path(m_datadir);
34
7
    m_walletdir_path_cases["relative"] = "wallets";
35
36
7
    fs::create_directories(m_walletdir_path_cases["default"]);
37
7
    fs::create_directories(m_walletdir_path_cases["custom"]);
38
7
    fs::create_directories(m_walletdir_path_cases["relative"]);
39
7
    std::ofstream f{m_walletdir_path_cases["file"].std_path()};
40
7
    f.close();
41
7
}
42
43
InitWalletDirTestingSetup::~InitWalletDirTestingSetup()
44
7
{
45
7
    fs::current_path(m_cwd);
46
7
}
47
48
void InitWalletDirTestingSetup::SetWalletDir(const fs::path& walletdir_path)
49
7
{
50
7
    m_args.ForceSetArg("-walletdir", fs::PathToString(walletdir_path));
51
7
}
52
} // namespace wallet