mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-05 10:17:30 -05:00
ea961c3d72
Route calls during node initialization and shutdown that would happen between a node process and wallet processes through the serializable `Chain::Client` interface, rather than `WalletInitInterface` which is now simpler and only deals with early initialization and parameter interaction. This commit mostly does not change behavior. The only change is that the "Wallet disabled!" and "No wallet support compiled in!" messages are now logged earlier during startup.
78 lines
2.5 KiB
C++
78 lines
2.5 KiB
C++
// Copyright (c) 2018 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 <boost/test/unit_test.hpp>
|
|
|
|
#include <test/test_bitcoin.h>
|
|
#include <wallet/test/init_test_fixture.h>
|
|
|
|
#include <init.h>
|
|
#include <walletinitinterface.h>
|
|
#include <wallet/wallet.h>
|
|
|
|
|
|
BOOST_FIXTURE_TEST_SUITE(init_tests, InitWalletDirTestingSetup)
|
|
|
|
BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_default)
|
|
{
|
|
SetWalletDir(m_walletdir_path_cases["default"]);
|
|
bool result = m_chain_client->verify();
|
|
BOOST_CHECK(result == true);
|
|
fs::path walletdir = gArgs.GetArg("-walletdir", "");
|
|
fs::path expected_path = fs::canonical(m_walletdir_path_cases["default"]);
|
|
BOOST_CHECK(walletdir == expected_path);
|
|
}
|
|
|
|
BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_custom)
|
|
{
|
|
SetWalletDir(m_walletdir_path_cases["custom"]);
|
|
bool result = m_chain_client->verify();
|
|
BOOST_CHECK(result == true);
|
|
fs::path walletdir = gArgs.GetArg("-walletdir", "");
|
|
fs::path expected_path = fs::canonical(m_walletdir_path_cases["custom"]);
|
|
BOOST_CHECK(walletdir == expected_path);
|
|
}
|
|
|
|
BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_does_not_exist)
|
|
{
|
|
SetWalletDir(m_walletdir_path_cases["nonexistent"]);
|
|
bool result = m_chain_client->verify();
|
|
BOOST_CHECK(result == false);
|
|
}
|
|
|
|
BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_is_not_directory)
|
|
{
|
|
SetWalletDir(m_walletdir_path_cases["file"]);
|
|
bool result = m_chain_client->verify();
|
|
BOOST_CHECK(result == false);
|
|
}
|
|
|
|
BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_is_not_relative)
|
|
{
|
|
SetWalletDir(m_walletdir_path_cases["relative"]);
|
|
bool result = m_chain_client->verify();
|
|
BOOST_CHECK(result == false);
|
|
}
|
|
|
|
BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_no_trailing)
|
|
{
|
|
SetWalletDir(m_walletdir_path_cases["trailing"]);
|
|
bool result = m_chain_client->verify();
|
|
BOOST_CHECK(result == true);
|
|
fs::path walletdir = gArgs.GetArg("-walletdir", "");
|
|
fs::path expected_path = fs::canonical(m_walletdir_path_cases["default"]);
|
|
BOOST_CHECK(walletdir == expected_path);
|
|
}
|
|
|
|
BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_no_trailing2)
|
|
{
|
|
SetWalletDir(m_walletdir_path_cases["trailing2"]);
|
|
bool result = m_chain_client->verify();
|
|
BOOST_CHECK(result == true);
|
|
fs::path walletdir = gArgs.GetArg("-walletdir", "");
|
|
fs::path expected_path = fs::canonical(m_walletdir_path_cases["default"]);
|
|
BOOST_CHECK(walletdir == expected_path);
|
|
}
|
|
|
|
BOOST_AUTO_TEST_SUITE_END()
|