Changeset View
Changeset View
Standalone View
Standalone View
src/test/excessiveblock_tests.cpp
// Copyright (c) 2017-2020 The Bitcoin developers | // Copyright (c) 2017-2020 The Bitcoin developers | ||||
// Distributed under the MIT software license, see the accompanying | // Distributed under the MIT software license, see the accompanying | ||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | // file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||||
#include <consensus/consensus.h> | #include <consensus/consensus.h> | ||||
#include <rpc/server.h> | #include <rpc/server.h> | ||||
#include <util/ref.h> | #include <util/ref.h> | ||||
#include <util/string.h> | |||||
#include <test/util/setup_common.h> | #include <test/util/setup_common.h> | ||||
#include <boost/algorithm/string.hpp> | #include <boost/algorithm/string.hpp> | ||||
#include <boost/test/unit_test.hpp> | #include <boost/test/unit_test.hpp> | ||||
#include <limits> | #include <limits> | ||||
#include <string> | #include <string> | ||||
Show All 20 Lines | BOOST_CHECK_THROW(CallRPC("setexcessiveblock 1000000 not_uint"), | ||||
std::runtime_error); | std::runtime_error); | ||||
BOOST_CHECK_THROW(CallRPC("setexcessiveblock 1000000 1"), | BOOST_CHECK_THROW(CallRPC("setexcessiveblock 1000000 1"), | ||||
std::runtime_error); | std::runtime_error); | ||||
BOOST_CHECK_THROW(CallRPC("setexcessiveblock -1"), std::runtime_error); | BOOST_CHECK_THROW(CallRPC("setexcessiveblock -1"), std::runtime_error); | ||||
BOOST_CHECK_THROW(CallRPC("setexcessiveblock 0"), std::runtime_error); | BOOST_CHECK_THROW(CallRPC("setexcessiveblock 0"), std::runtime_error); | ||||
BOOST_CHECK_THROW(CallRPC("setexcessiveblock 1"), std::runtime_error); | BOOST_CHECK_THROW(CallRPC("setexcessiveblock 1"), std::runtime_error); | ||||
BOOST_CHECK_THROW(CallRPC("setexcessiveblock 1000"), std::runtime_error); | BOOST_CHECK_THROW(CallRPC("setexcessiveblock 1000"), std::runtime_error); | ||||
BOOST_CHECK_THROW(CallRPC(std::string("setexcessiveblock ") + | BOOST_CHECK_THROW( | ||||
std::to_string(ONE_MEGABYTE - 1)), | CallRPC(std::string("setexcessiveblock ") + ToString(ONE_MEGABYTE - 1)), | ||||
std::runtime_error); | std::runtime_error); | ||||
BOOST_CHECK_THROW(CallRPC(std::string("setexcessiveblock ") + | BOOST_CHECK_THROW( | ||||
std::to_string(ONE_MEGABYTE)), | CallRPC(std::string("setexcessiveblock ") + ToString(ONE_MEGABYTE)), | ||||
std::runtime_error); | std::runtime_error); | ||||
BOOST_CHECK_NO_THROW(CallRPC(std::string("setexcessiveblock ") + | BOOST_CHECK_NO_THROW(CallRPC(std::string("setexcessiveblock ") + | ||||
std::to_string(ONE_MEGABYTE + 1))); | ToString(ONE_MEGABYTE + 1))); | ||||
BOOST_CHECK_NO_THROW(CallRPC(std::string("setexcessiveblock ") + | BOOST_CHECK_NO_THROW(CallRPC(std::string("setexcessiveblock ") + | ||||
std::to_string(ONE_MEGABYTE + 10))); | ToString(ONE_MEGABYTE + 10))); | ||||
// Default can be higher than 1MB in future - test it too | // Default can be higher than 1MB in future - test it too | ||||
BOOST_CHECK_NO_THROW(CallRPC(std::string("setexcessiveblock ") + | BOOST_CHECK_NO_THROW(CallRPC(std::string("setexcessiveblock ") + | ||||
std::to_string(DEFAULT_MAX_BLOCK_SIZE))); | ToString(DEFAULT_MAX_BLOCK_SIZE))); | ||||
BOOST_CHECK_NO_THROW(CallRPC(std::string("setexcessiveblock ") + | BOOST_CHECK_NO_THROW(CallRPC(std::string("setexcessiveblock ") + | ||||
std::to_string(DEFAULT_MAX_BLOCK_SIZE * 8))); | ToString(DEFAULT_MAX_BLOCK_SIZE * 8))); | ||||
BOOST_CHECK_NO_THROW( | BOOST_CHECK_NO_THROW( | ||||
CallRPC(std::string("setexcessiveblock ") + | CallRPC(std::string("setexcessiveblock ") + | ||||
std::to_string(std::numeric_limits<int64_t>::max()))); | ToString(std::numeric_limits<int64_t>::max()))); | ||||
BOOST_CHECK_THROW( | BOOST_CHECK_THROW( | ||||
CallRPC( | CallRPC(std::string("setexcessiveblock ") + | ||||
std::string("setexcessiveblock ") + | ToString(uint64_t(std::numeric_limits<int64_t>::max()) + 1)), | ||||
std::to_string(uint64_t(std::numeric_limits<int64_t>::max()) + 1)), | |||||
std::runtime_error); | std::runtime_error); | ||||
BOOST_CHECK_THROW( | BOOST_CHECK_THROW(CallRPC(std::string("setexcessiveblock ") + | ||||
CallRPC(std::string("setexcessiveblock ") + | ToString(std::numeric_limits<uint64_t>::max())), | ||||
std::to_string(std::numeric_limits<uint64_t>::max())), | |||||
std::runtime_error); | std::runtime_error); | ||||
} | } | ||||
BOOST_AUTO_TEST_SUITE_END() | BOOST_AUTO_TEST_SUITE_END() |