aboutsummaryrefslogtreecommitdiff
path: root/src/test/util_tests.cpp
diff options
context:
space:
mode:
authorMarcoFalke <falke.marco@gmail.com>2021-06-03 12:14:33 +0200
committerfanquake <fanquake@gmail.com>2021-06-30 10:39:33 +0800
commitda816247f0c00e1644f7ebe2b848cfd6a5c7026e (patch)
treea907e868a01635b9357045ed003c4f8662f72f41 /src/test/util_tests.cpp
parent513613d8a87337f1d1f639bc9426165c3b6be62e (diff)
downloadbitcoin-da816247f0c00e1644f7ebe2b848cfd6a5c7026e.tar.xz
util: Properly handle -noincludeconf on command line
This bug was introduced in commit fad0867d6ab9430070aa7d60bf7617a6508e0586. Unit test Co-Authored-By: Russell Yanofsky <russ@yanofsky.org> Github-Pull: #22137 Rebased-From: fa910b47656d0e69cccb1f31804f2b11aa45d053
Diffstat (limited to 'src/test/util_tests.cpp')
-rw-r--r--src/test/util_tests.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/util_tests.cpp b/src/test/util_tests.cpp
index 010b6adf1f..cc58f64555 100644
--- a/src/test/util_tests.cpp
+++ b/src/test/util_tests.cpp
@@ -318,6 +318,25 @@ BOOST_FIXTURE_TEST_CASE(util_CheckValue, CheckValueTest)
CheckValue(M::ALLOW_ANY, "-value=abc", Expect{"abc"}.String("abc").Int(0).Bool(false).List({"abc"}));
}
+struct NoIncludeConfTest {
+ std::string Parse(const char* arg)
+ {
+ TestArgsManager test;
+ test.SetupArgs({{"-includeconf", ArgsManager::ALLOW_ANY}});
+ std::array<const char*, 2> argv{"ignored", arg};
+ std::string error;
+ (void)test.ParseParameters(argv.size(), argv.data(), error);
+ return error;
+ }
+};
+
+BOOST_FIXTURE_TEST_CASE(util_NoIncludeConf, NoIncludeConfTest)
+{
+ BOOST_CHECK_EQUAL(Parse("-noincludeconf"), "");
+ BOOST_CHECK_EQUAL(Parse("-includeconf"), "-includeconf cannot be used from commandline; -includeconf=\"\"");
+ BOOST_CHECK_EQUAL(Parse("-includeconf=file"), "-includeconf cannot be used from commandline; -includeconf=\"file\"");
+}
+
BOOST_AUTO_TEST_CASE(util_ParseParameters)
{
TestArgsManager testArgs;