Changeset View
Changeset View
Standalone View
Standalone View
src/test/getarg_tests.cpp
Show First 20 Lines • Show All 152 Lines • ▼ Show 20 Lines | BOOST_AUTO_TEST_CASE(intarg) { | ||||
BOOST_CHECK_EQUAL(m_local_args.GetIntArg("-foo", 0), 11); | BOOST_CHECK_EQUAL(m_local_args.GetIntArg("-foo", 0), 11); | ||||
BOOST_CHECK_EQUAL(m_local_args.GetIntArg("-bar", 11), 12); | BOOST_CHECK_EQUAL(m_local_args.GetIntArg("-bar", 11), 12); | ||||
ResetArgs("-foo=NaN -bar=NotANumber"); | ResetArgs("-foo=NaN -bar=NotANumber"); | ||||
BOOST_CHECK_EQUAL(m_local_args.GetIntArg("-foo", 1), 0); | BOOST_CHECK_EQUAL(m_local_args.GetIntArg("-foo", 1), 0); | ||||
BOOST_CHECK_EQUAL(m_local_args.GetIntArg("-bar", 11), 0); | BOOST_CHECK_EQUAL(m_local_args.GetIntArg("-bar", 11), 0); | ||||
} | } | ||||
BOOST_AUTO_TEST_CASE(patharg) { | |||||
const auto dir = std::make_pair("-dir", ArgsManager::ALLOW_ANY); | |||||
SetupArgs({dir}); | |||||
ResetArgs(""); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), fs::path{}); | |||||
const fs::path root_path{"/"}; | |||||
ResetArgs("-dir=/"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), root_path); | |||||
ResetArgs("-dir=/."); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), root_path); | |||||
ResetArgs("-dir=/./"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), root_path); | |||||
ResetArgs("-dir=/.//"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), root_path); | |||||
#ifdef WIN32 | |||||
const fs::path win_root_path{"C:\\"}; | |||||
ResetArgs("-dir=C:\\"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), win_root_path); | |||||
ResetArgs("-dir=C:/"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), win_root_path); | |||||
ResetArgs("-dir=C:\\\\"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), win_root_path); | |||||
ResetArgs("-dir=C:\\."); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), win_root_path); | |||||
ResetArgs("-dir=C:\\.\\"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), win_root_path); | |||||
ResetArgs("-dir=C:\\.\\\\"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), win_root_path); | |||||
#endif | |||||
const fs::path absolute_path{"/home/user/.bitcoin"}; | |||||
ResetArgs("-dir=/home/user/.bitcoin"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), absolute_path); | |||||
ResetArgs("-dir=/root/../home/user/.bitcoin"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), absolute_path); | |||||
ResetArgs("-dir=/home/./user/.bitcoin"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), absolute_path); | |||||
ResetArgs("-dir=/home/user/.bitcoin/"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), absolute_path); | |||||
ResetArgs("-dir=/home/user/.bitcoin//"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), absolute_path); | |||||
ResetArgs("-dir=/home/user/.bitcoin/."); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), absolute_path); | |||||
ResetArgs("-dir=/home/user/.bitcoin/./"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), absolute_path); | |||||
ResetArgs("-dir=/home/user/.bitcoin/.//"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), absolute_path); | |||||
const fs::path relative_path{"user/.bitcoin"}; | |||||
ResetArgs("-dir=user/.bitcoin"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), relative_path); | |||||
ResetArgs("-dir=somewhere/../user/.bitcoin"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), relative_path); | |||||
ResetArgs("-dir=user/./.bitcoin"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), relative_path); | |||||
ResetArgs("-dir=user/.bitcoin/"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), relative_path); | |||||
ResetArgs("-dir=user/.bitcoin//"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), relative_path); | |||||
ResetArgs("-dir=user/.bitcoin/."); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), relative_path); | |||||
ResetArgs("-dir=user/.bitcoin/./"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), relative_path); | |||||
ResetArgs("-dir=user/.bitcoin/.//"); | |||||
BOOST_CHECK_EQUAL(m_local_args.GetPathArg("-dir"), relative_path); | |||||
} | |||||
BOOST_AUTO_TEST_CASE(doubledash) { | BOOST_AUTO_TEST_CASE(doubledash) { | ||||
const auto foo = std::make_pair("-foo", ArgsManager::ALLOW_ANY); | const auto foo = std::make_pair("-foo", ArgsManager::ALLOW_ANY); | ||||
const auto bar = std::make_pair("-bar", ArgsManager::ALLOW_ANY); | const auto bar = std::make_pair("-bar", ArgsManager::ALLOW_ANY); | ||||
SetupArgs({foo, bar}); | SetupArgs({foo, bar}); | ||||
ResetArgs("--foo"); | ResetArgs("--foo"); | ||||
BOOST_CHECK_EQUAL(m_local_args.GetBoolArg("-foo", false), true); | BOOST_CHECK_EQUAL(m_local_args.GetBoolArg("-foo", false), true); | ||||
ResetArgs("--foo=verbose --bar=1"); | ResetArgs("--foo=verbose --bar=1"); | ||||
▲ Show 20 Lines • Show All 64 Lines • Show Last 20 Lines |